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>
531 lines
12 KiB
JSON
531 lines
12 KiB
JSON
{
|
|
"frames": {
|
|
"00000000-0000-0000-0000-000000000301": [
|
|
{
|
|
"time": 717,
|
|
"source": "02:00:00:00:03:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "10.0.0.2",
|
|
"targetIp": "10.0.0.1"
|
|
},
|
|
{
|
|
"time": 951,
|
|
"source": "02:00:00:00:03:21",
|
|
"destination": "02:00:00:00:03:11",
|
|
"arp": 2,
|
|
"senderIp": "10.0.0.1",
|
|
"targetIp": "10.0.0.2"
|
|
},
|
|
{
|
|
"time": 954,
|
|
"source": "02:00:00:00:03:11",
|
|
"destination": "02:00:00:00:03:21",
|
|
"icmp": 8,
|
|
"icmpCode": 0,
|
|
"sourceIp": "10.0.0.2",
|
|
"destinationIp": "20.0.0.9",
|
|
"sequence": 1
|
|
},
|
|
{
|
|
"time": 6681,
|
|
"source": "02:00:00:00:03:21",
|
|
"destination": "02:00:00:00:03:11",
|
|
"icmp": 3,
|
|
"icmpCode": 1,
|
|
"sourceIp": "10.0.0.1",
|
|
"destinationIp": "10.0.0.2",
|
|
"sequence": 0
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000302": [
|
|
{
|
|
"time": 838,
|
|
"source": "02:00:00:00:03:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "10.0.0.2",
|
|
"targetIp": "10.0.0.1"
|
|
},
|
|
{
|
|
"time": 839,
|
|
"source": "02:00:00:00:03:21",
|
|
"destination": "02:00:00:00:03:11",
|
|
"arp": 2,
|
|
"senderIp": "10.0.0.1",
|
|
"targetIp": "10.0.0.2"
|
|
},
|
|
{
|
|
"time": 1068,
|
|
"source": "02:00:00:00:03:11",
|
|
"destination": "02:00:00:00:03:21",
|
|
"icmp": 8,
|
|
"icmpCode": 0,
|
|
"sourceIp": "10.0.0.2",
|
|
"destinationIp": "20.0.0.9",
|
|
"sequence": 1
|
|
},
|
|
{
|
|
"time": 6569,
|
|
"source": "02:00:00:00:03:21",
|
|
"destination": "02:00:00:00:03:11",
|
|
"icmp": 3,
|
|
"icmpCode": 1,
|
|
"sourceIp": "10.0.0.1",
|
|
"destinationIp": "10.0.0.2",
|
|
"sequence": 0
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000302#1": [
|
|
{
|
|
"time": 1068,
|
|
"source": "02:00:00:00:03:22",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "20.0.0.1",
|
|
"targetIp": "20.0.0.9"
|
|
},
|
|
{
|
|
"time": 3818,
|
|
"source": "02:00:00:00:03:22",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "20.0.0.1",
|
|
"targetIp": "20.0.0.9"
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000303": [
|
|
{
|
|
"time": 1124,
|
|
"source": "02:00:00:00:03:22",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "20.0.0.1",
|
|
"targetIp": "20.0.0.9"
|
|
},
|
|
{
|
|
"time": 3874,
|
|
"source": "02:00:00:00:03:22",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "20.0.0.1",
|
|
"targetIp": "20.0.0.9"
|
|
}
|
|
]
|
|
},
|
|
"rows": {
|
|
"00000000-0000-0000-0000-000000000301": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:11",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"10.0.0.2",
|
|
"10.0.0.1",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:03:11",
|
|
"02:00:00:00:03:21",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"10.0.0.2",
|
|
"20.0.0.9",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1"
|
|
],
|
|
[
|
|
"4",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"4",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=63; protocol=1; sender=10.0.0.2; target=20.0.0.9; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000302": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:11",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"10.0.0.2",
|
|
"10.0.0.1",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:03:11",
|
|
"02:00:00:00:03:21",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"10.0.0.2",
|
|
"20.0.0.9",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1"
|
|
],
|
|
[
|
|
"4",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"4",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=63; protocol=1; sender=10.0.0.2; target=20.0.0.9; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000302#1": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000303": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
]
|
|
]
|
|
},
|
|
"layeredRows": {
|
|
"00000000-0000-0000-0000-000000000301": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:11",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"10.0.0.2",
|
|
"10.0.0.1",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:03:11",
|
|
"02:00:00:00:03:21",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"10.0.0.2",
|
|
"20.0.0.9",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1"
|
|
],
|
|
[
|
|
"4",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"4",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=63; protocol=1; sender=10.0.0.2; target=20.0.0.9; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000302": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:11",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"10.0.0.2",
|
|
"10.0.0.1",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]"
|
|
],
|
|
[
|
|
"3",
|
|
"02:00:00:00:03:11",
|
|
"02:00:00:00:03:21",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"3",
|
|
"10.0.0.2",
|
|
"20.0.0.9",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1"
|
|
],
|
|
[
|
|
"4",
|
|
"02:00:00:00:03:21",
|
|
"02:00:00:00:03:11",
|
|
"",
|
|
"Netzzugang",
|
|
"0x800"
|
|
],
|
|
[
|
|
"4",
|
|
"10.0.0.1",
|
|
"10.0.0.2",
|
|
"ICMP",
|
|
"Vermittlung",
|
|
"ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=63; protocol=1; sender=10.0.0.2; target=20.0.0.9; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000302#1": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
]
|
|
],
|
|
"00000000-0000-0000-0000-000000000303": [
|
|
[
|
|
"1",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"1",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
],
|
|
[
|
|
"2",
|
|
"02:00:00:00:03:22",
|
|
"FF:FF:FF:FF:FF:FF",
|
|
"",
|
|
"Netzzugang",
|
|
"0x806"
|
|
],
|
|
[
|
|
"2",
|
|
"20.0.0.1",
|
|
"20.0.0.9",
|
|
"ARP",
|
|
"Vermittlung",
|
|
"Suche nach MAC für 20.0.0.9 [op=REQUEST, sender=02:00:00:00:03:22|20.0.0.1, target=FF:FF:FF:FF:FF:FF|20.0.0.9]"
|
|
]
|
|
]
|
|
},
|
|
"events": [
|
|
[
|
|
712,
|
|
"sendProbe 20.0.0.9 called"
|
|
],
|
|
[
|
|
3705,
|
|
"sendProbe 20.0.0.9 returned null"
|
|
]
|
|
]
|
|
}
|