feat(core): packet capture per card after Java's Lauscher, measured card by card
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>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
"frames": {
|
||||
"00000000-0000-0000-0000-000000000101": [
|
||||
{
|
||||
"time": 856,
|
||||
"time": 849,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "FF:FF:FF:FF:FF:FF",
|
||||
"arp": 1,
|
||||
@@ -10,7 +10,7 @@
|
||||
"targetIp": "192.168.0.10"
|
||||
},
|
||||
{
|
||||
"time": 858,
|
||||
"time": 850,
|
||||
"source": "02:00:00:00:01:11",
|
||||
"destination": "02:00:00:00:01:12",
|
||||
"arp": 2,
|
||||
@@ -18,13 +18,13 @@
|
||||
"targetIp": "192.168.0.20"
|
||||
},
|
||||
{
|
||||
"time": 1086,
|
||||
"time": 1078,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "02:00:00:00:01:11",
|
||||
"sourceIp": "192.168.0.20",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"protocol": 6,
|
||||
"sourcePort": 54938,
|
||||
"sourcePort": 59631,
|
||||
"destinationPort": 80,
|
||||
"payload": null,
|
||||
"tcpFlags": "S",
|
||||
@@ -32,27 +32,27 @@
|
||||
"acknowledgement": 0
|
||||
},
|
||||
{
|
||||
"time": 1088,
|
||||
"time": 1079,
|
||||
"source": "02:00:00:00:01:11",
|
||||
"destination": "02:00:00:00:01:12",
|
||||
"sourceIp": "192.168.0.10",
|
||||
"destinationIp": "192.168.0.20",
|
||||
"protocol": 6,
|
||||
"sourcePort": 80,
|
||||
"destinationPort": 54938,
|
||||
"destinationPort": 59631,
|
||||
"payload": null,
|
||||
"tcpFlags": "SA",
|
||||
"sequence": 1000000,
|
||||
"acknowledgement": 2000001
|
||||
},
|
||||
{
|
||||
"time": 1311,
|
||||
"time": 1303,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "02:00:00:00:01:11",
|
||||
"sourceIp": "192.168.0.20",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"protocol": 6,
|
||||
"sourcePort": 54938,
|
||||
"sourcePort": 59631,
|
||||
"destinationPort": 80,
|
||||
"payload": null,
|
||||
"tcpFlags": "A",
|
||||
@@ -60,13 +60,13 @@
|
||||
"acknowledgement": 1000001
|
||||
},
|
||||
{
|
||||
"time": 1834,
|
||||
"time": 1827,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "02:00:00:00:01:11",
|
||||
"sourceIp": "192.168.0.20",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"protocol": 6,
|
||||
"sourcePort": 54938,
|
||||
"sourcePort": 59631,
|
||||
"destinationPort": 80,
|
||||
"payload": null,
|
||||
"tcpFlags": "F",
|
||||
@@ -74,28 +74,28 @@
|
||||
"acknowledgement": 0
|
||||
},
|
||||
{
|
||||
"time": 1834,
|
||||
"time": 1828,
|
||||
"source": "02:00:00:00:01:11",
|
||||
"destination": "02:00:00:00:01:12",
|
||||
"sourceIp": "192.168.0.10",
|
||||
"destinationIp": "192.168.0.20",
|
||||
"protocol": 6,
|
||||
"sourcePort": 80,
|
||||
"destinationPort": 54938,
|
||||
"destinationPort": 59631,
|
||||
"payload": null,
|
||||
"tcpFlags": "A",
|
||||
"sequence": 1000001,
|
||||
"acknowledgement": 2000002
|
||||
},
|
||||
{
|
||||
"time": 1890,
|
||||
"time": 1883,
|
||||
"source": "02:00:00:00:01:11",
|
||||
"destination": "02:00:00:00:01:12",
|
||||
"sourceIp": "192.168.0.10",
|
||||
"destinationIp": "192.168.0.20",
|
||||
"protocol": 6,
|
||||
"sourcePort": 80,
|
||||
"destinationPort": 54938,
|
||||
"destinationPort": 59631,
|
||||
"payload": null,
|
||||
"tcpFlags": "F",
|
||||
"sequence": 1000001,
|
||||
@@ -104,7 +104,7 @@
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000102": [
|
||||
{
|
||||
"time": 734,
|
||||
"time": 729,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "FF:FF:FF:FF:FF:FF",
|
||||
"arp": 1,
|
||||
@@ -112,7 +112,7 @@
|
||||
"targetIp": "192.168.0.10"
|
||||
},
|
||||
{
|
||||
"time": 970,
|
||||
"time": 962,
|
||||
"source": "02:00:00:00:01:11",
|
||||
"destination": "02:00:00:00:01:12",
|
||||
"arp": 2,
|
||||
@@ -120,13 +120,13 @@
|
||||
"targetIp": "192.168.0.20"
|
||||
},
|
||||
{
|
||||
"time": 972,
|
||||
"time": 964,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "02:00:00:00:01:11",
|
||||
"sourceIp": "192.168.0.20",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"protocol": 6,
|
||||
"sourcePort": 54938,
|
||||
"sourcePort": 59631,
|
||||
"destinationPort": 80,
|
||||
"payload": null,
|
||||
"tcpFlags": "S",
|
||||
@@ -134,27 +134,27 @@
|
||||
"acknowledgement": 0
|
||||
},
|
||||
{
|
||||
"time": 1199,
|
||||
"time": 1191,
|
||||
"source": "02:00:00:00:01:11",
|
||||
"destination": "02:00:00:00:01:12",
|
||||
"sourceIp": "192.168.0.10",
|
||||
"destinationIp": "192.168.0.20",
|
||||
"protocol": 6,
|
||||
"sourcePort": 80,
|
||||
"destinationPort": 54938,
|
||||
"destinationPort": 59631,
|
||||
"payload": null,
|
||||
"tcpFlags": "SA",
|
||||
"sequence": 1000000,
|
||||
"acknowledgement": 2000001
|
||||
},
|
||||
{
|
||||
"time": 1200,
|
||||
"time": 1191,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "02:00:00:00:01:11",
|
||||
"sourceIp": "192.168.0.20",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"protocol": 6,
|
||||
"sourcePort": 54938,
|
||||
"sourcePort": 59631,
|
||||
"destinationPort": 80,
|
||||
"payload": null,
|
||||
"tcpFlags": "A",
|
||||
@@ -162,13 +162,13 @@
|
||||
"acknowledgement": 1000001
|
||||
},
|
||||
{
|
||||
"time": 1722,
|
||||
"time": 1716,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "02:00:00:00:01:11",
|
||||
"sourceIp": "192.168.0.20",
|
||||
"destinationIp": "192.168.0.10",
|
||||
"protocol": 6,
|
||||
"sourcePort": 54938,
|
||||
"sourcePort": 59631,
|
||||
"destinationPort": 80,
|
||||
"payload": null,
|
||||
"tcpFlags": "F",
|
||||
@@ -176,14 +176,14 @@
|
||||
"acknowledgement": 0
|
||||
},
|
||||
{
|
||||
"time": 1946,
|
||||
"time": 1939,
|
||||
"source": "02:00:00:00:01:11",
|
||||
"destination": "02:00:00:00:01:12",
|
||||
"sourceIp": "192.168.0.10",
|
||||
"destinationIp": "192.168.0.20",
|
||||
"protocol": 6,
|
||||
"sourcePort": 80,
|
||||
"destinationPort": 54938,
|
||||
"destinationPort": 59631,
|
||||
"payload": null,
|
||||
"tcpFlags": "A",
|
||||
"sequence": 1000001,
|
||||
@@ -192,7 +192,7 @@
|
||||
],
|
||||
"00000000-0000-0000-0000-000000000103": [
|
||||
{
|
||||
"time": 856,
|
||||
"time": 849,
|
||||
"source": "02:00:00:00:01:12",
|
||||
"destination": "FF:FF:FF:FF:FF:FF",
|
||||
"arp": 1,
|
||||
@@ -203,64 +203,64 @@
|
||||
},
|
||||
"events": [
|
||||
[
|
||||
219,
|
||||
214,
|
||||
"server oeffnen called"
|
||||
],
|
||||
[
|
||||
720,
|
||||
714,
|
||||
"client verbinden called"
|
||||
],
|
||||
[
|
||||
1221,
|
||||
1215,
|
||||
"client verbinden returned"
|
||||
],
|
||||
[
|
||||
1321,
|
||||
1317,
|
||||
"server oeffnen returned"
|
||||
],
|
||||
[
|
||||
1721,
|
||||
1715,
|
||||
"client schliessen called"
|
||||
],
|
||||
[
|
||||
1721,
|
||||
1715,
|
||||
"client schliessen returned"
|
||||
],
|
||||
[
|
||||
1890,
|
||||
1883,
|
||||
"lost FIN"
|
||||
]
|
||||
],
|
||||
"states": {
|
||||
"client": [
|
||||
[
|
||||
720,
|
||||
714,
|
||||
"CLOSED"
|
||||
],
|
||||
[
|
||||
731,
|
||||
724,
|
||||
"SYN_SENT"
|
||||
],
|
||||
[
|
||||
1201,
|
||||
1191,
|
||||
"ESTABLISHED"
|
||||
],
|
||||
[
|
||||
1724,
|
||||
1716,
|
||||
"FIN_WAIT_1"
|
||||
],
|
||||
[
|
||||
1947,
|
||||
1940,
|
||||
"FIN_WAIT_2"
|
||||
]
|
||||
],
|
||||
"server": [
|
||||
[
|
||||
1322,
|
||||
1317,
|
||||
"ESTABLISHED"
|
||||
],
|
||||
[
|
||||
1835,
|
||||
1829,
|
||||
"LAST_ACK"
|
||||
]
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user