captureRows.ts builds Java's rows per frame (Lauscher.datenVorbereiten): Ethernet; ARP, ICMP or IP; TCP or UDP; the data with Java's protocol recognition; with addresses and ports or ports only. The comment stays structured; captureCommentText says it with given words and numbers. ScenarioNetwork writes Java's finished tables per card (Lauscher.getDaten, German locale); all runtime runs are recorded again, NatRun has ttlOut. expectSameCaptures compares both views for every frame. Fixed where the engine differed: an ARP request's target MAC is the broadcast address, an ICMP error's identifier and sequence number are 0 (RFC 792), and host unreachable from a router carries the packet as forwarded. Not taken: Java's lower-case broadcast address in a reply to 0.0.0.0, and the typo 'Exeeded'. RIP keeps its recordings: Java's staggered router start now gives a different startup on this machine. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
377 lines
8.0 KiB
JSON
377 lines
8.0 KiB
JSON
{
|
|
"frames": {
|
|
"00000000-0000-0000-0000-000000000101": [
|
|
{
|
|
"time": 862,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "192.168.0.30",
|
|
"targetIp": "192.168.0.10"
|
|
},
|
|
{
|
|
"time": 863,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "02:00:00:00:01:13",
|
|
"arp": 2,
|
|
"senderIp": "192.168.0.10",
|
|
"targetIp": "192.168.0.30"
|
|
},
|
|
{
|
|
"time": 1091,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "02:00:00:00:01:11",
|
|
"sourceIp": "192.168.0.30",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 50292,
|
|
"destinationPort": 81,
|
|
"payload": null,
|
|
"tcpFlags": "S",
|
|
"sequence": 1000000,
|
|
"acknowledgement": 0
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000102": [
|
|
{
|
|
"time": 862,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "192.168.0.30",
|
|
"targetIp": "192.168.0.10"
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000103": [
|
|
{
|
|
"time": 737,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "192.168.0.30",
|
|
"targetIp": "192.168.0.10"
|
|
},
|
|
{
|
|
"time": 975,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "02:00:00:00:01:13",
|
|
"arp": 2,
|
|
"senderIp": "192.168.0.10",
|
|
"targetIp": "192.168.0.30"
|
|
},
|
|
{
|
|
"time": 977,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "02:00:00:00:01:11",
|
|
"sourceIp": "192.168.0.30",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 50292,
|
|
"destinationPort": 81,
|
|
"payload": null,
|
|
"tcpFlags": "S",
|
|
"sequence": 1000000,
|
|
"acknowledgement": 0
|
|
}
|
|
]
|
|
},
|
|
"rows": {
|
|
"00000000-0000-0000-0000-000000000101": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:01:13",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:01:13|192.168.0.30, target=FF:FF:FF:FF:FF:FF|192.168.0.10]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:01:11",
|
|
"02:00:00:00:01:13",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"192.168.0.10",
|
|
"192.168.0.30",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:01:11 [op=REPLY, sender=02:00:00:00:01:11|192.168.0.10, target=02:00:00:00:01:13|192.168.0.30]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:01:13",
|
|
"02:00:00:00:01:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"IP",
|
|
"Vermittlung",
|
|
"Protokoll: 6, TTL: 64"
|
|
],
|
|
[
|
|
"3",
|
|
"192.168.0.30:50292",
|
|
"192.168.0.10:81",
|
|
"TCP",
|
|
"Transport",
|
|
"SYN, SEQ: 1.000.000"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000102": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:01:13",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:01:13|192.168.0.30, target=FF:FF:FF:FF:FF:FF|192.168.0.10]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000103": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:01:13",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:01:13|192.168.0.30, target=FF:FF:FF:FF:FF:FF|192.168.0.10]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:01:11",
|
|
"02:00:00:00:01:13",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"192.168.0.10",
|
|
"192.168.0.30",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:01:11 [op=REPLY, sender=02:00:00:00:01:11|192.168.0.10, target=02:00:00:00:01:13|192.168.0.30]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:01:13",
|
|
"02:00:00:00:01:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"IP",
|
|
"Vermittlung",
|
|
"Protokoll: 6, TTL: 64"
|
|
],
|
|
[
|
|
"3",
|
|
"192.168.0.30:50292",
|
|
"192.168.0.10:81",
|
|
"TCP",
|
|
"Transport",
|
|
"SYN, SEQ: 1.000.000"
|
|
]
|
|
]
|
|
},
|
|
"layeredRows": {
|
|
"00000000-0000-0000-0000-000000000101": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:01:13",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:01:13|192.168.0.30, target=FF:FF:FF:FF:FF:FF|192.168.0.10]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:01:11",
|
|
"02:00:00:00:01:13",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"192.168.0.10",
|
|
"192.168.0.30",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:01:11 [op=REPLY, sender=02:00:00:00:01:11|192.168.0.10, target=02:00:00:00:01:13|192.168.0.30]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:01:13",
|
|
"02:00:00:00:01:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"IP",
|
|
"Vermittlung",
|
|
"Protokoll: 6, TTL: 64"
|
|
],
|
|
[
|
|
"3",
|
|
"50292",
|
|
"81",
|
|
"TCP",
|
|
"Transport",
|
|
"SYN, SEQ: 1.000.000"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000102": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:01:13",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:01:13|192.168.0.30, target=FF:FF:FF:FF:FF:FF|192.168.0.10]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000103": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:01:13",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:01:13|192.168.0.30, target=FF:FF:FF:FF:FF:FF|192.168.0.10]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:01:11",
|
|
"02:00:00:00:01:13",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"192.168.0.10",
|
|
"192.168.0.30",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:01:11 [op=REPLY, sender=02:00:00:00:01:11|192.168.0.10, target=02:00:00:00:01:13|192.168.0.30]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:01:13",
|
|
"02:00:00:00:01:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"192.168.0.30",
|
|
"192.168.0.10",
|
|
"IP",
|
|
"Vermittlung",
|
|
"Protokoll: 6, TTL: 64"
|
|
],
|
|
[
|
|
"3",
|
|
"50292",
|
|
"81",
|
|
"TCP",
|
|
"Transport",
|
|
"SYN, SEQ: 1.000.000"
|
|
]
|
|
]
|
|
},
|
|
"events": [
|
|
[
|
|
716,
|
|
"client verbinden called"
|
|
],
|
|
[
|
|
9021,
|
|
"client verbinden failed TimeOutException"
|
|
]
|
|
],
|
|
"states": {
|
|
"client": [
|
|
[
|
|
715,
|
|
"CLOSED"
|
|
],
|
|
[
|
|
734,
|
|
"SYN_SENT"
|
|
],
|
|
[
|
|
8984,
|
|
"CLOSED"
|
|
]
|
|
]
|
|
}
|
|
}
|