Routers and home routers start a web server on port 80 with Java's index, log and routes pages in the project's language (routerPages.ts); the firewall keeps a log per node that outlives a new start; RIP routes carry the telling router's public address. TCP counts sequence numbers and segments in Java's characters, not bytes. RouterWebRun records six stories, with firewalls now built by ScenarioNetwork. Not taken from Java: its router server sometimes never listening (a race in setAktiv), and </titel>. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
127 lines
3.2 KiB
JSON
127 lines
3.2 KiB
JSON
{
|
|
"seed": 71,
|
|
"nodes": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000301",
|
|
"kind": "pc",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000311",
|
|
"label": "eth0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000302",
|
|
"kind": "router",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000321",
|
|
"label": "eth0"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000322",
|
|
"label": "eth1"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000303",
|
|
"kind": "pc",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000313",
|
|
"label": "eth0"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000304",
|
|
"kind": "networkSwitch",
|
|
"ports": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000341",
|
|
"label": "sw1"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000342",
|
|
"label": "sw2"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-000000000343",
|
|
"label": "sw3"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"id": "00000000-0000-0000-0000-00000000F301",
|
|
"sourceNode": "00000000-0000-0000-0000-000000000301",
|
|
"sourcePort": "00000000-0000-0000-0000-000000000311",
|
|
"targetNode": "00000000-0000-0000-0000-000000000304",
|
|
"targetPort": "00000000-0000-0000-0000-000000000341"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-00000000F302",
|
|
"sourceNode": "00000000-0000-0000-0000-000000000302",
|
|
"sourcePort": "00000000-0000-0000-0000-000000000321",
|
|
"targetNode": "00000000-0000-0000-0000-000000000304",
|
|
"targetPort": "00000000-0000-0000-0000-000000000342"
|
|
},
|
|
{
|
|
"id": "00000000-0000-0000-0000-00000000F303",
|
|
"sourceNode": "00000000-0000-0000-0000-000000000302",
|
|
"sourcePort": "00000000-0000-0000-0000-000000000322",
|
|
"targetNode": "00000000-0000-0000-0000-000000000303",
|
|
"targetPort": "00000000-0000-0000-0000-000000000313"
|
|
}
|
|
],
|
|
"devices": {
|
|
"00000000-0000-0000-0000-000000000301": {
|
|
"ip": "10.0.0.2",
|
|
"mask": "255.255.255.0",
|
|
"gateway": "10.0.0.1"
|
|
},
|
|
"00000000-0000-0000-0000-000000000302": {
|
|
"ip": "10.0.0.1",
|
|
"mask": "255.255.255.0"
|
|
},
|
|
"00000000-0000-0000-0000-000000000303": {
|
|
"ip": "20.0.0.2",
|
|
"mask": "255.255.255.0",
|
|
"gateway": "20.0.0.1"
|
|
}
|
|
},
|
|
"interfaces": [
|
|
{
|
|
"node": "00000000-0000-0000-0000-000000000302",
|
|
"port": "00000000-0000-0000-0000-000000000321",
|
|
"ip": "10.0.0.1",
|
|
"mask": "255.255.255.0"
|
|
},
|
|
{
|
|
"node": "00000000-0000-0000-0000-000000000302",
|
|
"port": "00000000-0000-0000-0000-000000000322",
|
|
"ip": "20.0.0.1",
|
|
"mask": "255.255.255.0"
|
|
}
|
|
],
|
|
"firewalls": {
|
|
"00000000-0000-0000-0000-000000000302": {
|
|
"active": true,
|
|
"defaultPolicy": "accept",
|
|
"dropIcmp": true,
|
|
"rules": [
|
|
{
|
|
"source": "10.0.0.0",
|
|
"sourceMask": "255.255.255.0",
|
|
"protocol": "tcp",
|
|
"port": 80,
|
|
"action": "accept"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|