feat(core): the packet capture's table after Java's Lauscher, measured against Java's own tables
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>
This commit is contained in:
@@ -0,0 +1,368 @@
|
||||
{
|
||||
"frames": {
|
||||
"00000000-0000-0000-0000-000000000501": [
|
||||
{
|
||||
"time": 719,
|
||||
"source": "02:00:00:00:05:11",
|
||||
"destination": "FF:FF:FF:FF:FF:FF",
|
||||
"arp": 1,
|
||||
"senderIp": "192.168.0.10",
|
||||
"targetIp": "192.168.0.1"
|
||||
},
|
||||
{
|
||||
"time": 839,
|
||||
"source": "02:00:00:00:05:22",
|
||||
"destination": "02:00:00:00:05:11",
|
||||
"arp": 2,
|
||||
"senderIp": "192.168.0.1",
|
||||
"targetIp": "192.168.0.10"
|
||||
},
|
||||
{
|
||||
"time": 843,
|
||||
"source": "02:00:00:00:05:11",
|
||||
"destination": "02:00:00:00:05:22",
|
||||
"icmp": 8,
|
||||
"icmpCode": 0,
|
||||
"sourceIp": "192.168.0.10",
|
||||
"destinationIp": "42.0.0.20",
|
||||
"sequence": 1
|
||||
},
|
||||
{
|
||||
"time": 957,
|
||||
"source": "02:00:00:00:05:22",
|
||||
"destination": "02:00:00:00:05:11",
|
||||
"icmp": 11,
|
||||
"icmpCode": 0,
|
||||
"sourceIp": "192.168.0.1",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"sequence": 0
|
||||
}
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000502": [],
|
||||
"00000000-0000-0000-0000-000000000502#1": [
|
||||
{
|
||||
"time": 781,
|
||||
"source": "02:00:00:00:05:11",
|
||||
"destination": "FF:FF:FF:FF:FF:FF",
|
||||
"arp": 1,
|
||||
"senderIp": "192.168.0.10",
|
||||
"targetIp": "192.168.0.1"
|
||||
},
|
||||
{
|
||||
"time": 783,
|
||||
"source": "02:00:00:00:05:22",
|
||||
"destination": "02:00:00:00:05:11",
|
||||
"arp": 2,
|
||||
"senderIp": "192.168.0.1",
|
||||
"targetIp": "192.168.0.10"
|
||||
},
|
||||
{
|
||||
"time": 901,
|
||||
"source": "02:00:00:00:05:11",
|
||||
"destination": "02:00:00:00:05:22",
|
||||
"icmp": 8,
|
||||
"icmpCode": 0,
|
||||
"sourceIp": "192.168.0.10",
|
||||
"destinationIp": "42.0.0.20",
|
||||
"sequence": 1
|
||||
},
|
||||
{
|
||||
"time": 901,
|
||||
"source": "02:00:00:00:05:22",
|
||||
"destination": "02:00:00:00:05:11",
|
||||
"icmp": 11,
|
||||
"icmpCode": 0,
|
||||
"sourceIp": "192.168.0.1",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"sequence": 0
|
||||
}
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000504": [],
|
||||
"00000000-0000-0000-0000-000000000505": []
|
||||
},
|
||||
"rows": {
|
||||
"00000000-0000-0000-0000-000000000501": [
|
||||
[
|
||||
"1",
|
||||
"02:00:00:00:05:11",
|
||||
"FF:FF:FF:FF:FF:FF",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"1",
|
||||
"192.168.0.10",
|
||||
"192.168.0.1",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"02:00:00:00:05:11",
|
||||
"02:00:00:00:05:22",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"192.168.0.10",
|
||||
"42.0.0.20",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Echo Request (ping), TTL: 1, Identifier: 1, Seq.-No.: 1"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.10; target=42.0.0.20; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
||||
]
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000502": [],
|
||||
"00000000-0000-0000-0000-000000000502#1": [
|
||||
[
|
||||
"1",
|
||||
"02:00:00:00:05:11",
|
||||
"FF:FF:FF:FF:FF:FF",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"1",
|
||||
"192.168.0.10",
|
||||
"192.168.0.1",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"02:00:00:00:05:11",
|
||||
"02:00:00:00:05:22",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"192.168.0.10",
|
||||
"42.0.0.20",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Echo Request (ping), TTL: 1, Identifier: 1, Seq.-No.: 1"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.10; target=42.0.0.20; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
||||
]
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000504": [],
|
||||
"00000000-0000-0000-0000-000000000505": []
|
||||
},
|
||||
"layeredRows": {
|
||||
"00000000-0000-0000-0000-000000000501": [
|
||||
[
|
||||
"1",
|
||||
"02:00:00:00:05:11",
|
||||
"FF:FF:FF:FF:FF:FF",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"1",
|
||||
"192.168.0.10",
|
||||
"192.168.0.1",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"02:00:00:00:05:11",
|
||||
"02:00:00:00:05:22",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"192.168.0.10",
|
||||
"42.0.0.20",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Echo Request (ping), TTL: 1, Identifier: 1, Seq.-No.: 1"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.10; target=42.0.0.20; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
||||
]
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000502": [],
|
||||
"00000000-0000-0000-0000-000000000502#1": [
|
||||
[
|
||||
"1",
|
||||
"02:00:00:00:05:11",
|
||||
"FF:FF:FF:FF:FF:FF",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"1",
|
||||
"192.168.0.10",
|
||||
"192.168.0.1",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x806"
|
||||
],
|
||||
[
|
||||
"2",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ARP",
|
||||
"Vermittlung",
|
||||
"MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"02:00:00:00:05:11",
|
||||
"02:00:00:00:05:22",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"3",
|
||||
"192.168.0.10",
|
||||
"42.0.0.20",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Echo Request (ping), TTL: 1, Identifier: 1, Seq.-No.: 1"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"02:00:00:00:05:22",
|
||||
"02:00:00:00:05:11",
|
||||
"",
|
||||
"Netzzugang",
|
||||
"0x800"
|
||||
],
|
||||
[
|
||||
"4",
|
||||
"192.168.0.1",
|
||||
"192.168.0.10",
|
||||
"ICMP",
|
||||
"Vermittlung",
|
||||
"ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.10; target=42.0.0.20; icmpType=8; icmpCode=0; identifier=1; seqNr=1]"
|
||||
]
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000504": [],
|
||||
"00000000-0000-0000-0000-000000000505": []
|
||||
},
|
||||
"events": [
|
||||
[
|
||||
715,
|
||||
"sendProbe 42.0.0.20 called"
|
||||
],
|
||||
[
|
||||
959,
|
||||
"sendProbe 42.0.0.20 returned ICMP 11/0 from 192.168.0.1"
|
||||
]
|
||||
],
|
||||
"nat": []
|
||||
}
|
||||
Reference in New Issue
Block a user