ScenarioNetwork builds home routers (their first card the WAN port) and their port forwarding (portForwarding, through GatewayFirmware.setStaticNAT). NatRun plays six stories on nat-home's network and writes the frames, the calls and the router's NAT table: a ping, a UDP exchange, the same socket to a second server (whose answer never reaches the LAN: Java keeps one entry per LAN endpoint, for the first remote only), a TCP connection out, a forwarded one in, and pings at the WAN address and past it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
592 lines
15 KiB
JSON
592 lines
15 KiB
JSON
{
|
|
"frames": {
|
|
"00000000-0000-0000-0000-000000000501": [
|
|
{
|
|
"time": 1389,
|
|
"source": "02:00:00:00:05:22",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "192.168.0.1",
|
|
"targetIp": "192.168.0.10"
|
|
},
|
|
{
|
|
"time": 1389,
|
|
"source": "02:00:00:00:05:11",
|
|
"destination": "02:00:00:00:05:22",
|
|
"arp": 2,
|
|
"senderIp": "192.168.0.10",
|
|
"targetIp": "192.168.0.1"
|
|
},
|
|
{
|
|
"time": 1501,
|
|
"source": "02:00:00:00:05:22",
|
|
"destination": "02:00:00:00:05:11",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 80,
|
|
"payload": null,
|
|
"tcpFlags": "S",
|
|
"sequence": 2000000,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 1503,
|
|
"source": "02:00:00:00:05:11",
|
|
"destination": "02:00:00:00:05:22",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 80,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "SA",
|
|
"sequence": 1000000,
|
|
"acknowledgement": 2000001
|
|
},
|
|
{
|
|
"time": 1839,
|
|
"source": "02:00:00:00:05:22",
|
|
"destination": "02:00:00:00:05:11",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 80,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000001,
|
|
"acknowledgement": 1000001
|
|
},
|
|
{
|
|
"time": 1913,
|
|
"source": "02:00:00:00:05:22",
|
|
"destination": "02:00:00:00:05:11",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 80,
|
|
"payload": "hello",
|
|
"tcpFlags": "P",
|
|
"sequence": 2000001,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 1914,
|
|
"source": "02:00:00:00:05:11",
|
|
"destination": "02:00:00:00:05:22",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 80,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 1000001,
|
|
"acknowledgement": 2000006
|
|
},
|
|
{
|
|
"time": 1969,
|
|
"source": "02:00:00:00:05:11",
|
|
"destination": "02:00:00:00:05:22",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 80,
|
|
"destinationPort": 61267,
|
|
"payload": "reply hello",
|
|
"tcpFlags": "P",
|
|
"sequence": 1000001,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2303,
|
|
"source": "02:00:00:00:05:22",
|
|
"destination": "02:00:00:00:05:11",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 80,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000006,
|
|
"acknowledgement": 1000012
|
|
},
|
|
{
|
|
"time": 2359,
|
|
"source": "02:00:00:00:05:22",
|
|
"destination": "02:00:00:00:05:11",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 80,
|
|
"payload": null,
|
|
"tcpFlags": "F",
|
|
"sequence": 2000006,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2359,
|
|
"source": "02:00:00:00:05:11",
|
|
"destination": "02:00:00:00:05:22",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 80,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 1000012,
|
|
"acknowledgement": 2000007
|
|
},
|
|
{
|
|
"time": 2415,
|
|
"source": "02:00:00:00:05:11",
|
|
"destination": "02:00:00:00:05:22",
|
|
"sourceIp": "192.168.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 80,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "F",
|
|
"sequence": 1000012,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2749,
|
|
"source": "02:00:00:00:05:22",
|
|
"destination": "02:00:00:00:05:11",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "192.168.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 80,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000007,
|
|
"acknowledgement": 1000013
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000502": [
|
|
{
|
|
"time": 1101,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "42.0.0.20",
|
|
"targetIp": "42.0.0.10"
|
|
},
|
|
{
|
|
"time": 1104,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"arp": 2,
|
|
"senderIp": "42.0.0.10",
|
|
"targetIp": "42.0.0.20"
|
|
},
|
|
{
|
|
"time": 1333,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "S",
|
|
"sequence": 2000000,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 1560,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "SA",
|
|
"sequence": 1000000,
|
|
"acknowledgement": 2000001
|
|
},
|
|
{
|
|
"time": 1783,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000001,
|
|
"acknowledgement": 1000001
|
|
},
|
|
{
|
|
"time": 1857,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": "hello",
|
|
"tcpFlags": "P",
|
|
"sequence": 2000001,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 1969,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 1000001,
|
|
"acknowledgement": 2000006
|
|
},
|
|
{
|
|
"time": 2025,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": "reply hello",
|
|
"tcpFlags": "P",
|
|
"sequence": 1000001,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2248,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000006,
|
|
"acknowledgement": 1000012
|
|
},
|
|
{
|
|
"time": 2303,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "F",
|
|
"sequence": 2000006,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2415,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 1000012,
|
|
"acknowledgement": 2000007
|
|
},
|
|
{
|
|
"time": 2471,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "F",
|
|
"sequence": 1000012,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2693,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000007,
|
|
"acknowledgement": 1000013
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000504": [
|
|
{
|
|
"time": 965,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "42.0.0.20",
|
|
"targetIp": "42.0.0.10"
|
|
},
|
|
{
|
|
"time": 1215,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"arp": 2,
|
|
"senderIp": "42.0.0.10",
|
|
"targetIp": "42.0.0.20"
|
|
},
|
|
{
|
|
"time": 1219,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "S",
|
|
"sequence": 2000000,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 1671,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "SA",
|
|
"sequence": 1000000,
|
|
"acknowledgement": 2000001
|
|
},
|
|
{
|
|
"time": 1671,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000001,
|
|
"acknowledgement": 1000001
|
|
},
|
|
{
|
|
"time": 1746,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": "hello",
|
|
"tcpFlags": "P",
|
|
"sequence": 2000001,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2081,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 1000001,
|
|
"acknowledgement": 2000006
|
|
},
|
|
{
|
|
"time": 2136,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": "reply hello",
|
|
"tcpFlags": "P",
|
|
"sequence": 1000001,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2136,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000006,
|
|
"acknowledgement": 1000012
|
|
},
|
|
{
|
|
"time": 2192,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "F",
|
|
"sequence": 2000006,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2526,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 1000012,
|
|
"acknowledgement": 2000007
|
|
},
|
|
{
|
|
"time": 2582,
|
|
"source": "02:00:00:00:05:21",
|
|
"destination": "02:00:00:00:05:41",
|
|
"sourceIp": "42.0.0.10",
|
|
"destinationIp": "42.0.0.20",
|
|
"protocol": 6,
|
|
"sourcePort": 8080,
|
|
"destinationPort": 61267,
|
|
"payload": null,
|
|
"tcpFlags": "F",
|
|
"sequence": 1000012,
|
|
"acknowledgement": 0
|
|
},
|
|
{
|
|
"time": 2582,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "02:00:00:00:05:21",
|
|
"sourceIp": "42.0.0.20",
|
|
"destinationIp": "42.0.0.10",
|
|
"protocol": 6,
|
|
"sourcePort": 61267,
|
|
"destinationPort": 8080,
|
|
"payload": null,
|
|
"tcpFlags": "A",
|
|
"sequence": 2000007,
|
|
"acknowledgement": 1000013
|
|
}
|
|
],
|
|
"00000000-0000-0000-0000-000000000505": [
|
|
{
|
|
"time": 1104,
|
|
"source": "02:00:00:00:05:41",
|
|
"destination": "FF:FF:FF:FF:FF:FF",
|
|
"arp": 1,
|
|
"senderIp": "42.0.0.20",
|
|
"targetIp": "42.0.0.10"
|
|
}
|
|
]
|
|
},
|
|
"events": [
|
|
[
|
|
745,
|
|
"server oeffnen called"
|
|
],
|
|
[
|
|
945,
|
|
"client verbinden called"
|
|
],
|
|
[
|
|
1746,
|
|
"client verbinden returned "
|
|
],
|
|
[
|
|
1746,
|
|
"client senden called"
|
|
],
|
|
[
|
|
1848,
|
|
"server oeffnen returned filius.software.transportschicht.TCPSocket@641fefcc"
|
|
],
|
|
[
|
|
1849,
|
|
"server empfangen called"
|
|
],
|
|
[
|
|
1913,
|
|
"server empfangen returned hello"
|
|
],
|
|
[
|
|
1914,
|
|
"server senden called"
|
|
],
|
|
[
|
|
2081,
|
|
"client senden returned "
|
|
],
|
|
[
|
|
2081,
|
|
"client empfangen called"
|
|
],
|
|
[
|
|
2136,
|
|
"client empfangen returned reply hello"
|
|
],
|
|
[
|
|
2136,
|
|
"client schliessen called"
|
|
],
|
|
[
|
|
2137,
|
|
"client schliessen returned "
|
|
],
|
|
[
|
|
2303,
|
|
"server senden returned "
|
|
]
|
|
],
|
|
"nat": [
|
|
"6 42.0.0.20:8080 -> 192.168.0.10:80 DynamicEnryFromStatic"
|
|
]
|
|
}
|