test(java-oracle): DnsRun records DNS as Java FILIUS runs it

A resolver's lookup on the new dns-lan network (A, MX, a referral by NS,
an unknown name, a missing server): every frame and the call's result.
ScenarioNetwork installs a scenario's DNS servers. The Swift comparison
reads only scenarios with a Swift result.

Measured: Java's text messages (ID=... QR=... header, question and record
lines), no question in the answer, RCODE 0 always, a referral in the answer
section, an iterative resolver waiting 5 RTT per query.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-30 16:46:07 +00:00
co-authored by Claude Opus 5.5
parent efc7c440f6
commit 24ebcea67f
11 changed files with 914 additions and 3 deletions
@@ -0,0 +1,206 @@
{
"frames": {
"00000000-0000-0000-0000-000000000101": [
{
"time": 725,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.10"
},
{
"time": 959,
"source": "02:00:00:00:01:12",
"destination": "02:00:00:00:01:11",
"arp": 2,
"senderIp": "192.168.0.10",
"targetIp": "192.168.0.20"
},
{
"time": 962,
"source": "02:00:00:00:01:11",
"destination": "02:00:00:00:01:12",
"sourceIp": "192.168.0.20",
"destinationIp": "192.168.0.10",
"protocol": 17,
"sourcePort": 49846,
"destinationPort": 53,
"payload": "ID=27710 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.schule.de. A IN\n"
},
{
"time": 1191,
"source": "02:00:00:00:01:12",
"destination": "02:00:00:00:01:11",
"sourceIp": "192.168.0.10",
"destinationIp": "192.168.0.20",
"protocol": 17,
"sourcePort": 53,
"destinationPort": 49846,
"payload": "ID=27710 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=2 NSCOUNT=0 ARCOUNT=0 \nschule.de. NS 3600 ns.schule.de.\nns.schule.de. A 3600 192.168.0.11\n"
},
{
"time": 1192,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.11"
},
{
"time": 1414,
"source": "02:00:00:00:01:13",
"destination": "02:00:00:00:01:11",
"arp": 2,
"senderIp": "192.168.0.11",
"targetIp": "192.168.0.20"
},
{
"time": 1415,
"source": "02:00:00:00:01:11",
"destination": "02:00:00:00:01:13",
"sourceIp": "192.168.0.20",
"destinationIp": "192.168.0.11",
"protocol": 17,
"sourcePort": 61850,
"destinationPort": 53,
"payload": "ID=14830 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.schule.de. A IN\n"
},
{
"time": 1638,
"source": "02:00:00:00:01:13",
"destination": "02:00:00:00:01:11",
"sourceIp": "192.168.0.11",
"destinationIp": "192.168.0.20",
"protocol": 17,
"sourcePort": 53,
"destinationPort": 61850,
"payload": "ID=14830 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.schule.de. A 3600 192.168.0.40\n"
}
],
"00000000-0000-0000-0000-000000000102": [
{
"time": 846,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.10"
},
{
"time": 848,
"source": "02:00:00:00:01:12",
"destination": "02:00:00:00:01:11",
"arp": 2,
"senderIp": "192.168.0.10",
"targetIp": "192.168.0.20"
},
{
"time": 1075,
"source": "02:00:00:00:01:11",
"destination": "02:00:00:00:01:12",
"sourceIp": "192.168.0.20",
"destinationIp": "192.168.0.10",
"protocol": 17,
"sourcePort": 49846,
"destinationPort": 53,
"payload": "ID=27710 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.schule.de. A IN\n"
},
{
"time": 1080,
"source": "02:00:00:00:01:12",
"destination": "02:00:00:00:01:11",
"sourceIp": "192.168.0.10",
"destinationIp": "192.168.0.20",
"protocol": 17,
"sourcePort": 53,
"destinationPort": 49846,
"payload": "ID=27710 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=2 NSCOUNT=0 ARCOUNT=0 \nschule.de. NS 3600 ns.schule.de.\nns.schule.de. A 3600 192.168.0.11\n"
},
{
"time": 1303,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.11"
}
],
"00000000-0000-0000-0000-000000000103": [
{
"time": 846,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.10"
},
{
"time": 1303,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.11"
},
{
"time": 1303,
"source": "02:00:00:00:01:13",
"destination": "02:00:00:00:01:11",
"arp": 2,
"senderIp": "192.168.0.11",
"targetIp": "192.168.0.20"
},
{
"time": 1526,
"source": "02:00:00:00:01:11",
"destination": "02:00:00:00:01:13",
"sourceIp": "192.168.0.20",
"destinationIp": "192.168.0.11",
"protocol": 17,
"sourcePort": 61850,
"destinationPort": 53,
"payload": "ID=14830 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.schule.de. A IN\n"
},
{
"time": 1527,
"source": "02:00:00:00:01:13",
"destination": "02:00:00:00:01:11",
"sourceIp": "192.168.0.11",
"destinationIp": "192.168.0.20",
"protocol": 17,
"sourcePort": 53,
"destinationPort": 61850,
"payload": "ID=14830 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.schule.de. A 3600 192.168.0.40\n"
}
],
"00000000-0000-0000-0000-000000000104": [
{
"time": 846,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.10"
},
{
"time": 1303,
"source": "02:00:00:00:01:11",
"destination": "FF:FF:FF:FF:FF:FF",
"arp": 1,
"senderIp": "192.168.0.20",
"targetIp": "192.168.0.11"
}
]
},
"events": [
[
715,
"holeIPAdresse www.schule.de called"
],
[
1639,
"holeIPAdresse www.schule.de returned 192.168.0.40"
]
]
}