The engine keeps Java's packet capture (capture.ts): per network card every frame it sent (when it leaves on the cable) or received (also one for another card), once, with time and number; switches log nothing; frames the packet loss dropped are kept apart; the capture outlives a stop and a new start, as in Java, until clearCapture. Per port instead of per MAC, at most 10,000 frames a card. expectSameCaptures compares each card's capture with Java's list of that card in the ARP, WLAN, DNS, TCP, NAT, RIP and single-client DHCP runs. It found that ScenarioNetwork ignored a switch's learning time (Java ran 300 s, the core the scenarios' 5 s); the oracle sets it now, and the TCP and DHCP runs are recorded again. A core test found that a new start numbers frames from 1 again and the capture took them as seen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
220 lines
7.2 KiB
JSON
220 lines
7.2 KiB
JSON
{
|
|
"frames": {
|
|
"00000000-0000-0000-0000-000000000101": [
|
|
{
|
|
"time": 454,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "0.0.0.0",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 68,
|
|
"destinationPort": 67,
|
|
"payload": "DHCPDISCOVER\nyiaddr=0.0.0.0\nchaddr=02:00:00:00:01:12"
|
|
},
|
|
{
|
|
"time": 460,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPOFFER\nyiaddr=192.168.0.100\nchaddr=02:00:00:00:01:12\nrouter=192.168.0.254\nsubnetmask=255.255.255.0\ndnsserver=0.0.0.0\nserverident=192.168.0.10"
|
|
},
|
|
{
|
|
"time": 572,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.30",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPOFFER\nyiaddr=192.168.0.200\nchaddr=02:00:00:00:01:12\nrouter=192.168.0.1\nsubnetmask=255.255.255.0\ndnsserver=8.8.8.8\nserverident=192.168.0.30"
|
|
},
|
|
{
|
|
"time": 684,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "0.0.0.0",
|
|
"targetIp": "192.168.0.100"
|
|
},
|
|
{
|
|
"time": 3435,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "0.0.0.0",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 68,
|
|
"destinationPort": 67,
|
|
"payload": "DHCPREQUEST\nyiaddr=0.0.0.0\nchaddr=02:00:00:00:01:12\nrequested=192.168.0.100\nserverident=192.168.0.10"
|
|
},
|
|
{
|
|
"time": 3435,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPACK\nyiaddr=192.168.0.100\nchaddr=02:00:00:00:01:12\nserverident=192.168.0.10"
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000102": [
|
|
{
|
|
"time": 332,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "0.0.0.0",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 68,
|
|
"destinationPort": 67,
|
|
"payload": "DHCPDISCOVER\nyiaddr=0.0.0.0\nchaddr=02:00:00:00:01:12"
|
|
},
|
|
{
|
|
"time": 572,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPOFFER\nyiaddr=192.168.0.100\nchaddr=02:00:00:00:01:12\nrouter=192.168.0.254\nsubnetmask=255.255.255.0\ndnsserver=0.0.0.0\nserverident=192.168.0.10"
|
|
},
|
|
{
|
|
"time": 572,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "0.0.0.0",
|
|
"targetIp": "192.168.0.100"
|
|
},
|
|
{
|
|
"time": 628,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.30",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPOFFER\nyiaddr=192.168.0.200\nchaddr=02:00:00:00:01:12\nrouter=192.168.0.1\nsubnetmask=255.255.255.0\ndnsserver=8.8.8.8\nserverident=192.168.0.30"
|
|
},
|
|
{
|
|
"time": 3323,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "0.0.0.0",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 68,
|
|
"destinationPort": 67,
|
|
"payload": "DHCPREQUEST\nyiaddr=0.0.0.0\nchaddr=02:00:00:00:01:12\nrequested=192.168.0.100\nserverident=192.168.0.10"
|
|
},
|
|
{
|
|
"time": 3546,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPACK\nyiaddr=192.168.0.100\nchaddr=02:00:00:00:01:12\nserverident=192.168.0.10"
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000103": [
|
|
{
|
|
"time": 454,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "0.0.0.0",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 68,
|
|
"destinationPort": 67,
|
|
"payload": "DHCPDISCOVER\nyiaddr=0.0.0.0\nchaddr=02:00:00:00:01:12"
|
|
},
|
|
{
|
|
"time": 460,
|
|
"source": "02:00:00:00:01:13",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.30",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPOFFER\nyiaddr=192.168.0.200\nchaddr=02:00:00:00:01:12\nrouter=192.168.0.1\nsubnetmask=255.255.255.0\ndnsserver=8.8.8.8\nserverident=192.168.0.30"
|
|
},
|
|
{
|
|
"time": 572,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPOFFER\nyiaddr=192.168.0.100\nchaddr=02:00:00:00:01:12\nrouter=192.168.0.254\nsubnetmask=255.255.255.0\ndnsserver=0.0.0.0\nserverident=192.168.0.10"
|
|
},
|
|
{
|
|
"time": 684,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "0.0.0.0",
|
|
"targetIp": "192.168.0.100"
|
|
},
|
|
{
|
|
"time": 3435,
|
|
"source": "02:00:00:00:01:12",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "0.0.0.0",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 68,
|
|
"destinationPort": 67,
|
|
"payload": "DHCPREQUEST\nyiaddr=0.0.0.0\nchaddr=02:00:00:00:01:12\nrequested=192.168.0.100\nserverident=192.168.0.10"
|
|
},
|
|
{
|
|
"time": 3546,
|
|
"source": "02:00:00:00:01:11",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "255.255.255.255",
|
|
"protocol": 17,
|
|
"sourcePort": 67,
|
|
"destinationPort": 68,
|
|
"payload": "DHCPACK\nyiaddr=192.168.0.100\nchaddr=02:00:00:00:01:12\nserverident=192.168.0.10"
|
|
}
|
|
]
|
|
},
|
|
"devices": {
|
|
"00000000-0000-0000-0000-000000000101": [
|
|
"192.168.0.10",
|
|
"255.255.255.0",
|
|
"192.168.0.254",
|
|
""
|
|
],
|
|
"00000000-0000-0000-0000-000000000102": [
|
|
"192.168.0.100",
|
|
"255.255.255.0",
|
|
"192.168.0.254",
|
|
"0.0.0.0"
|
|
],
|
|
"00000000-0000-0000-0000-000000000103": [
|
|
"192.168.0.30",
|
|
"255.255.255.0",
|
|
"",
|
|
""
|
|
]
|
|
}
|
|
}
|