feat(core): the command line's network commands ping, host, nslookup, arp and netstat after Java, measured against Java

TerminalRun types lines into Java's command line on terminal-net at set
times; the engine types the same lines. New in the engine: an ICMP echo
in a program's thread (the first ICMP message after the send, whatever
it is), Java's route choice, the ARP table with Java's broadcast row, DNS
in a program's thread, ICMP broadcasts of a node's own network, and an
ARP wait that ends after what else happens at that millisecond.

Departures from Java: an echo is answered from the address asked
(RFC 792), network unreachable carries the packet with its sender, ping
names the host and takes only -b before it, arp and netstat list in the
order learned, netstat lists a UDP server's listening socket only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 08:03:10 +00:00
co-authored by Claude Opus 5.5
parent 016f9461df
commit 495c449ef2
22 changed files with 33994 additions and 42 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,210 @@
{
"frames": {
"00000000-0000-0000-0000-000000000401": [],
"00000000-0000-0000-0000-000000000402": [],
"00000000-0000-0000-0000-000000000403": [],
"00000000-0000-0000-0000-000000000404": [],
"00000000-0000-0000-0000-000000000405": [],
"00000000-0000-0000-0000-000000000405#1": [],
"00000000-0000-0000-0000-000000000406": []
},
"rows": {
"00000000-0000-0000-0000-000000000401": [],
"00000000-0000-0000-0000-000000000402": [],
"00000000-0000-0000-0000-000000000403": [],
"00000000-0000-0000-0000-000000000404": [],
"00000000-0000-0000-0000-000000000405": [],
"00000000-0000-0000-0000-000000000405#1": [],
"00000000-0000-0000-0000-000000000406": []
},
"layeredRows": {
"00000000-0000-0000-0000-000000000401": [],
"00000000-0000-0000-0000-000000000402": [],
"00000000-0000-0000-0000-000000000403": [],
"00000000-0000-0000-0000-000000000404": [],
"00000000-0000-0000-0000-000000000405": [],
"00000000-0000-0000-0000-000000000405#1": [],
"00000000-0000-0000-0000-000000000406": []
},
"acts": [
[
500,
"00000000-0000-0000-0000-000000000401",
"ping 192.168.0.20"
],
[
6000,
"00000000-0000-0000-0000-000000000401",
"ping localhost"
],
[
11500,
"00000000-0000-0000-0000-000000000401",
"ping 127.0.0.1"
]
],
"events": [
[
500,
"00000000-0000-0000-0000-000000000401",
"call",
"ping 192.168.0.20"
],
[
502,
"00000000-0000-0000-0000-000000000401",
"busy",
"true"
],
[
502,
"00000000-0000-0000-0000-000000000401",
"text",
"PING 192.168.0.20 (192.168.0.20)"
],
[
508,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=1 ttl=64 time=4ms"
],
[
1504,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=2 ttl=64 time=0ms"
],
[
2505,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=3 ttl=64 time=1ms"
],
[
3504,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=4 ttl=64 time=0ms"
],
[
4506,
"00000000-0000-0000-0000-000000000401",
"text",
"\n--- 192.168.0.20 Paketstatistik ---\n4 Paket(e) gesendet, 4 Paket(e) empfangen, 0% Paketverlust\n"
],
[
4506,
"00000000-0000-0000-0000-000000000401",
"busy",
"false"
],
[
6000,
"00000000-0000-0000-0000-000000000401",
"call",
"ping localhost"
],
[
6001,
"00000000-0000-0000-0000-000000000401",
"busy",
"true"
],
[
6001,
"00000000-0000-0000-0000-000000000401",
"text",
"PING localhost (127.0.0.1)"
],
[
6001,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=1 ttl=64 time=0ms"
],
[
7002,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=2 ttl=64 time=1ms"
],
[
8001,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=3 ttl=64 time=0ms"
],
[
9002,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=4 ttl=64 time=1ms"
],
[
10001,
"00000000-0000-0000-0000-000000000401",
"text",
"\n--- localhost Paketstatistik ---\n4 Paket(e) gesendet, 4 Paket(e) empfangen, 0% Paketverlust\n"
],
[
10001,
"00000000-0000-0000-0000-000000000401",
"busy",
"false"
],
[
11500,
"00000000-0000-0000-0000-000000000401",
"call",
"ping 127.0.0.1"
],
[
11500,
"00000000-0000-0000-0000-000000000401",
"busy",
"true"
],
[
11500,
"00000000-0000-0000-0000-000000000401",
"text",
"PING 127.0.0.1 (127.0.0.1)"
],
[
11501,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=1 ttl=64 time=1ms"
],
[
12500,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=2 ttl=64 time=0ms"
],
[
13501,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=3 ttl=64 time=1ms"
],
[
14501,
"00000000-0000-0000-0000-000000000401",
"text",
"\nFrom 127.0.0.1: icmp_seq=4 ttl=64 time=0ms"
],
[
15503,
"00000000-0000-0000-0000-000000000401",
"text",
"\n--- 127.0.0.1 Paketstatistik ---\n4 Paket(e) gesendet, 4 Paket(e) empfangen, 0% Paketverlust\n"
],
[
15503,
"00000000-0000-0000-0000-000000000401",
"busy",
"false"
]
]
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,202 @@
{
"seed": 91,
"nodes": [
{
"id": "00000000-0000-0000-0000-000000000401",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000411",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000402",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000412",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000403",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000413",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000404",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000414",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000405",
"kind": "router",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000451",
"label": "eth0"
},
{
"id": "00000000-0000-0000-0000-000000000452",
"label": "eth1"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000406",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000416",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000407",
"kind": "networkSwitch",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000471",
"label": "sw1"
},
{
"id": "00000000-0000-0000-0000-000000000472",
"label": "sw2"
},
{
"id": "00000000-0000-0000-0000-000000000473",
"label": "sw3"
},
{
"id": "00000000-0000-0000-0000-000000000474",
"label": "sw4"
},
{
"id": "00000000-0000-0000-0000-000000000475",
"label": "sw5"
}
]
}
],
"links": [
{
"id": "00000000-0000-0000-0000-00000000F401",
"sourceNode": "00000000-0000-0000-0000-000000000401",
"sourcePort": "00000000-0000-0000-0000-000000000411",
"targetNode": "00000000-0000-0000-0000-000000000407",
"targetPort": "00000000-0000-0000-0000-000000000471"
},
{
"id": "00000000-0000-0000-0000-00000000F402",
"sourceNode": "00000000-0000-0000-0000-000000000402",
"sourcePort": "00000000-0000-0000-0000-000000000412",
"targetNode": "00000000-0000-0000-0000-000000000407",
"targetPort": "00000000-0000-0000-0000-000000000472"
},
{
"id": "00000000-0000-0000-0000-00000000F403",
"sourceNode": "00000000-0000-0000-0000-000000000403",
"sourcePort": "00000000-0000-0000-0000-000000000413",
"targetNode": "00000000-0000-0000-0000-000000000407",
"targetPort": "00000000-0000-0000-0000-000000000473"
},
{
"id": "00000000-0000-0000-0000-00000000F404",
"sourceNode": "00000000-0000-0000-0000-000000000404",
"sourcePort": "00000000-0000-0000-0000-000000000414",
"targetNode": "00000000-0000-0000-0000-000000000407",
"targetPort": "00000000-0000-0000-0000-000000000474"
},
{
"id": "00000000-0000-0000-0000-00000000F405",
"sourceNode": "00000000-0000-0000-0000-000000000405",
"sourcePort": "00000000-0000-0000-0000-000000000451",
"targetNode": "00000000-0000-0000-0000-000000000407",
"targetPort": "00000000-0000-0000-0000-000000000475"
},
{
"id": "00000000-0000-0000-0000-00000000F406",
"sourceNode": "00000000-0000-0000-0000-000000000405",
"sourcePort": "00000000-0000-0000-0000-000000000452",
"targetNode": "00000000-0000-0000-0000-000000000406",
"targetPort": "00000000-0000-0000-0000-000000000416"
}
],
"devices": {
"00000000-0000-0000-0000-000000000401": {
"ip": "192.168.0.20",
"mask": "255.255.255.0",
"gateway": "192.168.0.1",
"dns": "192.168.0.10"
},
"00000000-0000-0000-0000-000000000402": {
"ip": "192.168.0.10",
"mask": "255.255.255.0"
},
"00000000-0000-0000-0000-000000000403": {
"ip": "192.168.0.30",
"mask": "255.255.255.0",
"gateway": "192.168.0.1",
"dns": "192.168.0.10"
},
"00000000-0000-0000-0000-000000000404": {
"ip": "192.168.0.31",
"mask": "255.255.255.0",
"gateway": "192.168.0.1",
"dns": "192.168.0.10"
},
"00000000-0000-0000-0000-000000000405": {
"ip": "192.168.0.1",
"mask": "255.255.255.0"
},
"00000000-0000-0000-0000-000000000406": {
"ip": "10.0.0.2",
"mask": "255.255.255.0",
"gateway": "10.0.0.1",
"dns": "192.168.0.53"
}
},
"interfaces": [
{
"node": "00000000-0000-0000-0000-000000000405",
"port": "00000000-0000-0000-0000-000000000451",
"ip": "192.168.0.1",
"mask": "255.255.255.0"
},
{
"node": "00000000-0000-0000-0000-000000000405",
"port": "00000000-0000-0000-0000-000000000452",
"ip": "10.0.0.1",
"mask": "255.255.255.0"
}
],
"dnsServers": {
"00000000-0000-0000-0000-000000000402": {
"records": [
"www.filius.de A 192.168.0.30",
"filius.de A 192.168.0.31",
"filius.de MX mail.filius.de",
"mail.filius.de A 192.168.0.30",
"multi.filius.de A 192.168.0.30",
"multi.filius.de A 192.168.0.31",
"fern.filius.de A 10.0.0.2",
"weg.filius.de A 192.168.0.99",
"post.filius.de MX mail.filius.de"
]
}
}
}