The core translates before the IP thread, as Java's NAT threads sit between card and Ethernet: out, the WAN address and the entry's port (ICMP keeps its identifier); in, by remote end, port and protocol, else by the port forwarding, which then makes a dynamic entry; a ping at the WAN address is answered by the router, packets from outside for the LAN are dropped, both sides pass the router's firewall, TTL 1 going out gets time exceeded. Dynamic entries expire at Java's check each second, 300 s times the delay factor old (55 minutes at 90 %), refreshed only by what comes in. The home router forwards as a router does. Measured and not taken: when a LAN endpoint sends to a second remote end, Java gives it the entry's WAN port but no entry, and the answer stays at the router; the core adds an entry for each new remote end on that port. The oracle now records every card of a node (the second card of routers was missing); the ARP and RIP runs are recorded anew and still match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
127 lines
2.9 KiB
JSON
127 lines
2.9 KiB
JSON
{
|
|
"frames": {
|
|
"00000000-0000-0000-0000-000000000301": [
|
|
{
|
|
"time": 716,
|
|
"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": 953,
|
|
"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": 957,
|
|
"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": 6682,
|
|
"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": 839,
|
|
"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": 841,
|
|
"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": 1069,
|
|
"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": 6571,
|
|
"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": 1070,
|
|
"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": 3820,
|
|
"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": 1125,
|
|
"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": 3876,
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"events": [
|
|
[
|
|
711,
|
|
"sendProbe 20.0.0.9 called"
|
|
],
|
|
[
|
|
3707,
|
|
"sendProbe 20.0.0.9 returned null"
|
|
]
|
|
]
|
|
}
|