diff --git a/CHANGES.md b/CHANGES.md index 73a22ef..13fd394 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,11 +13,12 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `src/model/link.ts`, `src/model/graph.ts` | `Model/TopologyLink.swift`, `Model/TopologyGraph.swift` | übertragen, bisher nur die Daten (Abfragen folgen mit dem Editor) | | `src/model/documentation.ts` | `Model/TopologyDocumentation.swift` | übertragen; FNV-Kennung mit BigInt, gegen die IDs aus dem Swift-Import geprüft | | `src/runtime/config.ts` | `State/TopologyEditorState.swift` (Laufzeit-Konfigurationen, WLAN eines Rechners, DHCP, Portweiterleitung, Remote Link ohne LAN-Transport, Programme und ihre Konfiguration, Firewall, DNS-Einträge aus `State/TopologyDNSResolver.swift`, E-Mail-Konten und -Nachrichten aus `State/TopologyEmail.swift`); dazu Echo-Server- und Client-Konfiguration, die Swift nicht speichert | übertragen; Java-Beschriftungen der Oberfläche weggelassen | -| `src/runtime/engine.ts` | `State/TopologyNetworkRuntimeEngine.swift` Z. ~313–3585, ~4472–5187 (UDP), ~4753–4850 | übertragen: Warteschlange, Uhr, Ethernet, Switch, ARP, IPv4, ICMP, Routing, Firewall, UDP-Sockets (binden, freie Ports nach Javas Zufall, senden samt Broadcast, zustellen, empfangen mit Wartezeit, schließen), TCP (Z. ~5187–5913: Server- und Client-Sockets, Handschlag mit Ergebnis, Segmente zu 1460 Byte bis zum PSH, höchstens drei Versuche, Abbau über alle Java-Zustände samt `TIME_WAIT`; seit F2.3c nach Javas `TCPSocket` an Java-Filius gemessen: je Versuch und für `TIME_WAIT` 3 RTT nach der Geschwindigkeit (8250 ms bei 90 %, Swift fest 7500 bzw. 2500 ms), der Zeitablauf zählt ab der Übergabe des Segments, vor ARP; ein Segment beendet `TIME_WAIT`; die Gegenseite schließt beim FIN von selbst; nicht bestätigte Daten schließen mit FIN statt sofort; der angenommene Socket hat die Startnummer des Listeners, der Listener eine neue. seit F2.3e wie Java: SYN+ACK und FIN gehen nie ein zweites Mal hinaus; der Server gibt einen Handschlag nach 3 RTT auf und schließt mit FIN; nach dem FIN wartet ein Socket höchstens fünfmal 3 RTT, jedes Segment beendet eine Wartezeit, dann CLOSED (Java lässt den Zustand stehen). Abweichend von Java: drei SYN statt einem, weil Javas Wiederholungsschleife nach dem ersten Zeitablauf abbricht, und ein wiederholtes SYN in `SYN_RCVD` bekommt das SYN+ACK noch einmal, statt den Socket zu schließen), DHCP (Z. ~5913–6694: Server mit festen Zuordnungen, Adressbereich, Angeboten, Leases und Sperrliste; Client seit F2.3b nach Javas `DHCPClient` neu gebaut und an Java-Filius gemessen: je Versuch eine Nachricht, eine Antwort, die nicht passt, wird gelesen und verworfen; die ARP-Prüfung wartet eine RTT, eine Antwort für die Adresse beendet sie sofort, dann DECLINE; nach einem Zeitablauf wiederholt der Zustand seine Nachricht, nach dem fünften nimmt der Client eine Link-Local-Adresse `169.254.1.x/16` (ARP-Probe, ARP-Reply an alle) und gibt keine alte Adresse zurück; Swift sendete doppelt, wartete nicht auf ARP und kehrte nach zehn Versuchen zur alten Adresse zurück. Abweichend von Java: Nach fünf belegten Link-Local-Adressen gibt der Client auf (Java sucht endlos), und ein ARP-Paket für eine andere Adresse beendet die Prüfung nicht. Seit F2.3d befördert ein Kabel einen Frame nach dem anderen wie Javas `SimplexVerbindung` (ein Frame wartet im Ausgangspuffer, bis der vorige angekommen ist, und erscheint im Protokoll, wenn er losgeht); Swift schickt alle zugleich, die Option `swiftCables` behält das für den Swift-Vergleich. Die RTT der DHCP-Zeiten (Warten, Angebote, Sperrliste) folgt wie in Java der Geschwindigkeit (50 Kabel, 2750 ms bei 90 %); Swift rechnet fest mit 2500 ms. ARP seit F2.4b nach Javas `holeARPTabellenEintrag`, an Java-Filius gemessen: eine Auflösung fragt, wartet eine RTT, fragt ein zweites Mal und gibt nach einer weiteren RTT auf; dann „Host unreachable" beim Absender selbst oder vom Router zurück (bei ICMP nur für Echo-Anfragen); ein wartender Absender wacht nach den übrigen Ereignissen desselben Zeitpunkts auf; der Ping wartet danach eine RTT auf die Antwort. Swift schickt in der Ereignisverarbeitung beide Anfragen zugleich und lässt das Paket ohne Ende warten, wenn die Adresse irgendwo im Netz vorkommt (Wissen, das kein Knoten hat), und blockiert direkte Aufrufe ohne Wartezeit; die Option `swiftArp` behält das für den Swift-Vergleich. Seit F2.4b-2 kehrt ein Senden wie in Java sofort zurück, die Frames reisen, während die Uhr läuft (Swift: der Aufruf kehrt erst zurück, wenn alle Frames angekommen sind; die Option `swiftSends` behält das für den Swift-Vergleich), und UDP und TCP senden über Javas Transport-Thread je Knoten und Protokoll: ein Segment nach dem anderen; solange IP auf ARP wartet, blockiert das nächste `senden`. Wartende Absender kommen in der Reihenfolge an die Reihe, in der sie kamen (Javas Sperre überlässt das dem Zufall). Seit F2.4b-3 geht jedes ankommende Paket wie in Java durch den IP-Thread (UDP, TCP) oder den ICMP-Thread (ICMP) seines Knotens: zustellen, Echo-Reply, weiterleiten, eins nach dem anderen; solange ARP wartet, warten die folgenden. Abweichend von Java weckt eine ARP-Antwort alle, die auf die Adresse warten (Javas `notify` weckt einen beliebigen). DNS seit F2.4a nach Javas `DNSServer`/`Resolver`, an Java-Filius gemessen: Server auf Port 53 mit Einträgen aus dem Modell (die Antwort wiederholt die Frage nicht, RCODE immer 0, ein Verweis mit NS und A im Antwortteil), iterativer Resolver mit 5 RTT je Anfrage, der nur die Server behält, an die er verwiesen wurde; seit F2.4c auf den Ereignissen statt blockierend und mit rekursivem Server nach `DNSServer.answerWithRemoteData` (Nameserver der Zone, dann der eigene DNS-Server, sonst Verweis), abweichend von Java fragt er sich nie selbst (Java endlos). Gateway-NAT seit F2.6 (Z. ~3585–3900) nach Javas `filius.software.nat`, an Java-Filius gemessen: die Übersetzung vor dem IP-Thread (wie Javas NAT-Threads zwischen Karte und Ethernet), ausgehend WAN-Adresse und der Port des Eintrags (ICMP behält die Kennung), eingehend nach Gegenstelle, Port und Protokoll, sonst nach der Portweiterleitung (legt einen dynamischen Eintrag an), ein Ping an die WAN-Adresse beantwortet der Heimrouter, Pakete von außen an das LAN verschwinden, beide Seiten durch die Firewall des Heimrouters, ausgehend TTL 1 bekommt „Zeit überschritten“; dynamische Einträge verfallen nach 300 s mal Javas Verzögerungsfaktor (Swift fest 300 s), aufgefrischt nur eingehend, seit 01.10.2026 genau in diesem Alter (Java findet sie erst bei seiner sekündlichen Prüfung, bis zu 1 s später; so auch der Switch: Javas `checkSAT` prüft jede Sekunde, der Kern verfällt genau zur Lernzeit); der Heimrouter leitet weiter wie ein Router. Abweichend von Java: ein LAN-Endpunkt bekommt für jede neue Gegenstelle einen Eintrag auf demselben WAN-Port (Java behält nur den für die erste, die Antworten weiterer bleiben am Heimrouter hängen). RIP seit F2.5a (Z. ~4700–5090) nach Javas `filius.software.rip`, seit F2.5b an Java-Filius gemessen (die Pause in Javas `float`-Rechnung): eine Route mit 0 Hops je eigenem Netz, die nie verfällt; der erste Beacon nach einer Sekunde, dann alle 25,2–35,2 s aus einem Zufall je Router (Java: ein ungesetzter `Random` je Router; der Kern setzt ihn aus Szenario und Router-ID, `ripSeed`; Swift: ein Zufall für alle); eine Nachricht je Schnittstelle ohne die Routen über sie (Split Horizon); eine neue Route oder mehr Hops vom selben Router senden sofort; eine gelernte Route wird genau nach ihren 75 s auf 16 gesetzt und sofort gemeldet (Java erst beim nächsten eigenen Beacon, bis zu gut 30 s später; Swift bei jedem Ereignis; seit 01.10.2026, vorher wie Java); Nachrichten von jedem Quellport (Swift: nur 521); ein RIP-Router leitet nur nach seiner Tabelle weiter, wenige Hops vor langer Maske. `receiveUdp` kehrt wie Javas `empfangen` zurück, sobald ein Datagramm da ist. Seit der Abnahme F2 nach Javas `ARPThread`: ein Eintrag entsteht nur aus einer Anfrage nach der eigenen Adresse oder aus einer Antwort (Swift: aus jedem Paket; `swiftArp` behält das), ein Paket von der Netzadresse wird verworfen; ein Rechner leitet weiter, wenn seine IP-Weiterleitung an ist (`ipForwardingByNodeId`). Seit F2.8b nach Javas Tabellen gemessen: eine ARP-Anfrage trägt als Ziel-MAC die Broadcast-Adresse (Swift: Nullen; `swiftArp` behält sie), eine ICMP-Fehlermeldung Identifier und Sequenznummer 0 (RFC 792, Java; Swift kopiert die des Echos, ein Ping erkennt die Meldung am eingebetteten Echo), und „Host nicht erreichbar“ vom Router trägt das Paket, wie er es weitergeleitet hat (TTL gesenkt). Die Broadcast-Adresse schreibt sie immer groß (Java in der Antwort an 0.0.0.0 klein). Den Mitschnitt je Karte (`capture.ts`) schreibt sie seit F2.8a dort, wo Java ihn schreibt: beim Abgang auf das Kabel und bei der Ankunft an der Karte. Seit F3.2a schließt ein Programm wie Javas `schliessen()` nur auf Bitte (`requestTcpClose`): Das FIN geht zur selben Zeit, nach dem, was der Programm-Thread noch tut. Seit F3.1 laufen Verbinden, Senden, Empfangen und Annehmen auch als Schritte eines Programm-Threads (`connectTcpSteps`, `sendTcpSteps`, `receiveTcpSteps`, `acceptTcpSteps`, `resolveHostSteps`); die blockierenden Aufrufe sind nur noch eine Hülle darum. Abweichend von Java: Ein Verbindungsaufbau ohne Route scheitert sofort (Javas Socket-Thread stirbt an der `RouteNotFoundException`, `verbinden` wartet ewig), eine Nachricht, die vor dem Schließen ankam, wird noch ausgegeben (Java verwirft sie), und Senden unterscheidet wie Java „nicht verbunden", „unterbrochen" und „Zeitüberschreitung". WLAN seit F2.7 an Java-Filius gemessen: zur Laufzeit ist ein Funkkabel ein Kabel wie jedes andere, und eine SSID verbindet nichts (nach ihr legt nur Javas Editor das Funkkabel, `JHostKonfiguration.updateWifiConnection`); Swifts Verbindung über die SSID zur Laufzeit, auch ohne Kabel (`wirelessAssociations`), nicht übernommen. Klasse statt Werttyp. Noch nicht übertragen (wirft `NotPortedError`): Remote Link | +| `src/runtime/engine.ts` | `State/TopologyNetworkRuntimeEngine.swift` Z. ~313–3585, ~4472–5187 (UDP), ~4753–4850 | übertragen: Warteschlange, Uhr, Ethernet, Switch, ARP, IPv4, ICMP, Routing, Firewall, UDP-Sockets (binden, freie Ports nach Javas Zufall, senden samt Broadcast, zustellen, empfangen mit Wartezeit, schließen), TCP (Z. ~5187–5913: Server- und Client-Sockets, Handschlag mit Ergebnis, Segmente zu 1460 Byte bis zum PSH, höchstens drei Versuche, Abbau über alle Java-Zustände samt `TIME_WAIT`; seit F2.3c nach Javas `TCPSocket` an Java-Filius gemessen: je Versuch und für `TIME_WAIT` 3 RTT nach der Geschwindigkeit (8250 ms bei 90 %, Swift fest 7500 bzw. 2500 ms), der Zeitablauf zählt ab der Übergabe des Segments, vor ARP; ein Segment beendet `TIME_WAIT`; die Gegenseite schließt beim FIN von selbst; nicht bestätigte Daten schließen mit FIN statt sofort; der angenommene Socket hat die Startnummer des Listeners, der Listener eine neue. seit F2.3e wie Java: SYN+ACK und FIN gehen nie ein zweites Mal hinaus; der Server gibt einen Handschlag nach 3 RTT auf und schließt mit FIN; nach dem FIN wartet ein Socket höchstens fünfmal 3 RTT, jedes Segment beendet eine Wartezeit, dann CLOSED (Java lässt den Zustand stehen). Abweichend von Java: drei SYN statt einem, weil Javas Wiederholungsschleife nach dem ersten Zeitablauf abbricht, und ein wiederholtes SYN in `SYN_RCVD` bekommt das SYN+ACK noch einmal, statt den Socket zu schließen), DHCP (Z. ~5913–6694: Server mit festen Zuordnungen, Adressbereich, Angeboten, Leases und Sperrliste; Client seit F2.3b nach Javas `DHCPClient` neu gebaut und an Java-Filius gemessen: je Versuch eine Nachricht, eine Antwort, die nicht passt, wird gelesen und verworfen; die ARP-Prüfung wartet eine RTT, eine Antwort für die Adresse beendet sie sofort, dann DECLINE; nach einem Zeitablauf wiederholt der Zustand seine Nachricht, nach dem fünften nimmt der Client eine Link-Local-Adresse `169.254.1.x/16` (ARP-Probe, ARP-Reply an alle) und gibt keine alte Adresse zurück; Swift sendete doppelt, wartete nicht auf ARP und kehrte nach zehn Versuchen zur alten Adresse zurück. Abweichend von Java: Nach fünf belegten Link-Local-Adressen gibt der Client auf (Java sucht endlos), und ein ARP-Paket für eine andere Adresse beendet die Prüfung nicht. Seit F2.3d befördert ein Kabel einen Frame nach dem anderen wie Javas `SimplexVerbindung` (ein Frame wartet im Ausgangspuffer, bis der vorige angekommen ist, und erscheint im Protokoll, wenn er losgeht); Swift schickt alle zugleich, die Option `swiftCables` behält das für den Swift-Vergleich. Die RTT der DHCP-Zeiten (Warten, Angebote, Sperrliste) folgt wie in Java der Geschwindigkeit (50 Kabel, 2750 ms bei 90 %); Swift rechnet fest mit 2500 ms. ARP seit F2.4b nach Javas `holeARPTabellenEintrag`, an Java-Filius gemessen: eine Auflösung fragt, wartet eine RTT, fragt ein zweites Mal und gibt nach einer weiteren RTT auf; dann „Host unreachable" beim Absender selbst oder vom Router zurück (bei ICMP nur für Echo-Anfragen); ein wartender Absender wacht nach den übrigen Ereignissen desselben Zeitpunkts auf; der Ping wartet danach eine RTT auf die Antwort. Swift schickt in der Ereignisverarbeitung beide Anfragen zugleich und lässt das Paket ohne Ende warten, wenn die Adresse irgendwo im Netz vorkommt (Wissen, das kein Knoten hat), und blockiert direkte Aufrufe ohne Wartezeit; die Option `swiftArp` behält das für den Swift-Vergleich. Seit F2.4b-2 kehrt ein Senden wie in Java sofort zurück, die Frames reisen, während die Uhr läuft (Swift: der Aufruf kehrt erst zurück, wenn alle Frames angekommen sind; die Option `swiftSends` behält das für den Swift-Vergleich), und UDP und TCP senden über Javas Transport-Thread je Knoten und Protokoll: ein Segment nach dem anderen; solange IP auf ARP wartet, blockiert das nächste `senden`. Wartende Absender kommen in der Reihenfolge an die Reihe, in der sie kamen (Javas Sperre überlässt das dem Zufall). Seit F2.4b-3 geht jedes ankommende Paket wie in Java durch den IP-Thread (UDP, TCP) oder den ICMP-Thread (ICMP) seines Knotens: zustellen, Echo-Reply, weiterleiten, eins nach dem anderen; solange ARP wartet, warten die folgenden. Abweichend von Java weckt eine ARP-Antwort alle, die auf die Adresse warten (Javas `notify` weckt einen beliebigen). DNS seit F2.4a nach Javas `DNSServer`/`Resolver`, an Java-Filius gemessen: Server auf Port 53 mit Einträgen aus dem Modell (die Antwort wiederholt die Frage nicht, RCODE immer 0, ein Verweis mit NS und A im Antwortteil), iterativer Resolver mit 5 RTT je Anfrage, der nur die Server behält, an die er verwiesen wurde; seit F2.4c auf den Ereignissen statt blockierend und mit rekursivem Server nach `DNSServer.answerWithRemoteData` (Nameserver der Zone, dann der eigene DNS-Server, sonst Verweis), abweichend von Java fragt er sich nie selbst (Java endlos). Gateway-NAT seit F2.6 (Z. ~3585–3900) nach Javas `filius.software.nat`, an Java-Filius gemessen: die Übersetzung vor dem IP-Thread (wie Javas NAT-Threads zwischen Karte und Ethernet), ausgehend WAN-Adresse und der Port des Eintrags (ICMP behält die Kennung), eingehend nach Gegenstelle, Port und Protokoll, sonst nach der Portweiterleitung (legt einen dynamischen Eintrag an), ein Ping an die WAN-Adresse beantwortet der Heimrouter, Pakete von außen an das LAN verschwinden, beide Seiten durch die Firewall des Heimrouters, ausgehend TTL 1 bekommt „Zeit überschritten“; dynamische Einträge verfallen nach 300 s mal Javas Verzögerungsfaktor (Swift fest 300 s), aufgefrischt nur eingehend, seit 01.10.2026 genau in diesem Alter (Java findet sie erst bei seiner sekündlichen Prüfung, bis zu 1 s später; so auch der Switch: Javas `checkSAT` prüft jede Sekunde, der Kern verfällt genau zur Lernzeit); der Heimrouter leitet weiter wie ein Router. Abweichend von Java: ein LAN-Endpunkt bekommt für jede neue Gegenstelle einen Eintrag auf demselben WAN-Port (Java behält nur den für die erste, die Antworten weiterer bleiben am Heimrouter hängen). RIP seit F2.5a (Z. ~4700–5090) nach Javas `filius.software.rip`, seit F2.5b an Java-Filius gemessen (die Pause in Javas `float`-Rechnung): eine Route mit 0 Hops je eigenem Netz, die nie verfällt; der erste Beacon nach einer Sekunde, dann alle 25,2–35,2 s aus einem Zufall je Router (Java: ein ungesetzter `Random` je Router; der Kern setzt ihn aus Szenario und Router-ID, `ripSeed`; Swift: ein Zufall für alle); eine Nachricht je Schnittstelle ohne die Routen über sie (Split Horizon); eine neue Route oder mehr Hops vom selben Router senden sofort; eine gelernte Route wird genau nach ihren 75 s auf 16 gesetzt und sofort gemeldet (Java erst beim nächsten eigenen Beacon, bis zu gut 30 s später; Swift bei jedem Ereignis; seit 01.10.2026, vorher wie Java); Nachrichten von jedem Quellport (Swift: nur 521); ein RIP-Router leitet nur nach seiner Tabelle weiter, wenige Hops vor langer Maske. `receiveUdp` kehrt wie Javas `empfangen` zurück, sobald ein Datagramm da ist. Seit der Abnahme F2 nach Javas `ARPThread`: ein Eintrag entsteht nur aus einer Anfrage nach der eigenen Adresse oder aus einer Antwort (Swift: aus jedem Paket; `swiftArp` behält das), ein Paket von der Netzadresse wird verworfen; ein Rechner leitet weiter, wenn seine IP-Weiterleitung an ist (`ipForwardingByNodeId`). Seit F2.8b nach Javas Tabellen gemessen: eine ARP-Anfrage trägt als Ziel-MAC die Broadcast-Adresse (Swift: Nullen; `swiftArp` behält sie), eine ICMP-Fehlermeldung Identifier und Sequenznummer 0 (RFC 792, Java; Swift kopiert die des Echos, ein Ping erkennt die Meldung am eingebetteten Echo), und „Host nicht erreichbar“ vom Router trägt das Paket, wie er es weitergeleitet hat (TTL gesenkt). Die Broadcast-Adresse schreibt sie immer groß (Java in der Antwort an 0.0.0.0 klein). Den Mitschnitt je Karte (`capture.ts`) schreibt sie seit F2.8a dort, wo Java ihn schreibt: beim Abgang auf das Kabel und bei der Ankunft an der Karte. Seit F3.2b starten Router und Heimrouter ihren Webserver auf Port 80 mit Javas Seiten (Javas Server lauscht wegen eines Wettlaufs in `setAktiv` manchmal nie, der Kern immer; `swiftRouters` lässt ihn für den Swift-Vergleich weg), die Firewall führt ein Protokoll je Knoten (Regeltreffer bei TCP und UDP, verworfenes ICMP), das wie Javas Protokollseite einen Neustart überlebt, eine RIP-Route kennt die öffentliche Adresse des meldenden Routers (`hopPublicIp`), und TCP zählt Sequenznummern und Segmentgröße wie Java in Zeichen (UTF-16-Einheiten) statt in Bytes, ohne ein Zeichenpaar zu zerreißen; Bytes, die kein Text sind, zählen als Bytes. Seit F3.2a schließt ein Programm wie Javas `schliessen()` nur auf Bitte (`requestTcpClose`): Das FIN geht zur selben Zeit, nach dem, was der Programm-Thread noch tut. Seit F3.1 laufen Verbinden, Senden, Empfangen und Annehmen auch als Schritte eines Programm-Threads (`connectTcpSteps`, `sendTcpSteps`, `receiveTcpSteps`, `acceptTcpSteps`, `resolveHostSteps`); die blockierenden Aufrufe sind nur noch eine Hülle darum. Abweichend von Java: Ein Verbindungsaufbau ohne Route scheitert sofort (Javas Socket-Thread stirbt an der `RouteNotFoundException`, `verbinden` wartet ewig), eine Nachricht, die vor dem Schließen ankam, wird noch ausgegeben (Java verwirft sie), und Senden unterscheidet wie Java „nicht verbunden", „unterbrochen" und „Zeitüberschreitung". WLAN seit F2.7 an Java-Filius gemessen: zur Laufzeit ist ein Funkkabel ein Kabel wie jedes andere, und eine SSID verbindet nichts (nach ihr legt nur Javas Editor das Funkkabel, `JHostKonfiguration.updateWifiConnection`); Swifts Verbindung über die SSID zur Laufzeit, auch ohne Kabel (`wirelessAssociations`), nicht übernommen. Klasse statt Werttyp. Noch nicht übertragen (wirft `NotPortedError`): Remote Link | | `src/runtime/threads.ts` | Javas Threads der Programme (`Anwendung extends Thread`, `ServerMitarbeiter`) | neu (F3.1): ein Programm-Thread als Generator, der liefert, worauf er wartet (Bedingung, Zeit oder beides); die Engine setzt nach jedem Ereignis fort, wessen Warten vorbei ist, in der Reihenfolge, in der die Threads begannen; nichts blockiert die Engine. Abweichend von Java: ein Thread wacht sofort, wenn seine Bedingung gilt (Java sieht oft nur alle 100 ms nach) | | `src/runtime/apps/program.ts` | Java `filius.software.Anwendung` | neu (F3.1): die Zeilen im Fenster eines Programms (strukturiert, damit der Editor sie übersetzt) und der Befehls-Thread (`ausfuehren`) | | `src/runtime/apps/server.ts` | Java `ServerAnwendung`, `ServerMitarbeiter` | neu (F3.2a, aus `echo.ts` herausgelöst): was jeder Server teilt — ein Thread nimmt Verbindungen an, solange er eingeschaltet ist, je Verbindung einer beantwortet jede Nachricht; ausgeschaltet schließt er Socket und Verbindungen; Port belegt → er schaltet sich aus | | `src/runtime/apps/web.ts` | Java `filius.software.www` (`WebServer`, `WebServerMitarbeiter`, `WebBrowser`), die Adresszeile aus `GUIApplicationWebBrowserWindow.erzeugeURL` | neu nach Java (F3.2a): Webserver (Dateien unter `/webserver`, `index.html` für `/`, virtuelle Hosts aus `/www.conf/vhosts`, fünf Zeilen, ohne Rücksicht auf Groß- und Kleinschreibung, Inhaltsart nach dem Dateinamen, Bilder und Binärdateien in Javas Base64) und Browser (immer Port 80, Seite, dann ihre Bilder nacheinander über dieselbe Verbindung, dann schließen; Link ohne Host geht an den letzten). An Java-Filius gemessen. Abweichend von Java: nichts außerhalb von `/webserver` (Java löst `/../` auf und liefert jede Datei des Rechners), 400/501 statt eines stummen Abbruchs bei unlesbaren Anfragen, eine Anfrage ohne Version gilt als HTTP/1.1, der Browser zeigt „Server nicht erreichbar“, wenn keine Antwort kommt (Java nichts). Noch nicht: die Seiten der Router (Javas Plug-ins) | +| `src/runtime/apps/routerPages.ts` | Java `VermittlungsrechnerBetriebssystem`, `GatewayFirmware`, `FirewallWebLog`, `VermittlungWeb`, `FirewallRule.toString`, Vorlagen `tmpl/vermittlung_index`, `gateway_index`, `routing` (de, en) | neu nach Java (F3.2b): die Seiten der Router und Heimrouter in der Sprache des Projekts — Index, `routes` (Weiterleitungs- oder RIP-Tabelle mit Javas Farben, Gültigkeit in ganzen Sekunden) und `log` (Firewall-Protokoll); die Vorlagen per Skript aus Javas Ressourcen übernommen (Zeilen wie Javas `readLine` mit `\n`). Abweichend von Java: `` statt Javas `` auf der deutschen Protokollseite | | `src/runtime/http.ts` | Java `HTTPNachricht`, Spring `UriUtils.encodePath`/`decode` | neu nach Java (F3.2a): Anfragen und Antworten in Javas Textform, Javas Statustexte, Pfade kodiert wie `UriUtils` | | `src/util/javaBase64.ts` | Java `filius.rahmenprogramm.Base64` (iHarder) | aus `packages/fls` (`exportProject.ts`) in den Kern gezogen (F3.2a), dazu der Leser, der Leerraum überspringt | | `src/runtime/apps/echo.ts` | Java `filius.software.clientserver` (`ServerBaustein`, `ServerBausteinMitarbeiter`, `ClientAnwendung`, `ClientBaustein`) | neu nach Java statt nach Swift (F3.1): Echo-Server (auf `server.ts`, sendet jede Nachricht zurück) und einfacher Client (verbinden über Adresse oder Namen, senden, empfangen, trennen), mit Javas Fensterzeilen. An Java-Filius gemessen. Abweichend von Java: Der Server merkt das Ausschalten, der Client die Verbindung sofort (Java alle 100 ms); ohne Route scheitert der Client sofort (Java wartet ewig ohne Meldung); ausgeschaltet bestätigt der Server noch das FIN seiner Verbindungen (Java gibt den Port frei, das FIN bleibt unbeantwortet) | @@ -26,7 +27,7 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `src/runtime/packets.ts` | Engine, Paketmodelle | übertragen; `Data` → `Uint8Array` | | `src/runtime/random.ts` | Engine, `TopologyJavaCompatibleRandom` | übertragen; BigInt für die 48-Bit-Arithmetik; dazu `nextDouble` (Javas `Math.random`, an OpenJDK 21 gemessen) | | `src/runtime/routeTable.ts` | `State/TopologyJavaRouteTable.swift` | übertragen ohne Tabellengeometrie (gehört in den Editor) | -| `src/runtime/snapshot.ts` | Engine, `TopologyNetworkRuntimeTopologySnapshot` | übertragen, bisher mit den Feldern der übertragenen Schichten, seit der Abnahme F2 mit der IP-Weiterleitung, wo sie vom Standard der Art abweicht, seit F2.3 mit den DHCP-Einstellungen von Clients und Servern, seit F2.4a mit den eingeschalteten DNS-Servern, seit F3.1 mit den installierten Echo-Servern (Port, ein oder aus) und einfachen Clients, seit F3.2a mit den Webservern, Browsern und den Dateisystemen der Knoten; ohne Swifts WLAN-Einstellungen der Rechner (`hostWirelessConfigurationsByNodeID`), die zur Laufzeit nichts bewirken (F2.7) | +| `src/runtime/snapshot.ts` | Engine, `TopologyNetworkRuntimeTopologySnapshot` | übertragen, bisher mit den Feldern der übertragenen Schichten, seit der Abnahme F2 mit der IP-Weiterleitung, wo sie vom Standard der Art abweicht, seit F2.3 mit den DHCP-Einstellungen von Clients und Servern, seit F2.4a mit den eingeschalteten DNS-Servern, seit F3.1 mit den installierten Echo-Servern (Port, ein oder aus) und einfachen Clients, seit F3.2a mit den Webservern, Browsern und den Dateisystemen der Knoten, seit F3.2b mit der Sprache der Seiten, die Geräte selbst schreiben; ohne Swifts WLAN-Einstellungen der Rechner (`hostWirelessConfigurationsByNodeID`), die zur Laufzeit nichts bewirken (F2.7) | | `src/runtime/speed.ts` | Engine, `TopologyNetworkRuntimeSpeed` | übertragen; dazu Javas RTT (`Verbindung.holeRTT`: 50 Kabel), die Swift nicht kennt | | `src/runtime/trace.ts` | Engine, Paketspur-Modell | übertragen | | `src/runtime/captureRows.ts` | Java `Lauscher.datenVorbereiten`, `classifyApplicationLayerProtocol`, die `toString` von `ArpPaket`, `IpPaket`, `IcmpPaket` | neu nach Java (F2.8b): die Tabelle des Mitschnitts, je Frame eine Zeile je Schicht (Ethernet; ARP, ICMP oder IP; TCP oder UDP; die Daten, wenn Javas `trim` etwas übrig lässt), in beiden Ansichten Javas (Ende als Adresse:Port samt Datenzeile, oder nur Ports und die Datenzeile ohne Enden); die Bemerkung bleibt strukturiert, `captureCommentText` sagt sie mit gegebenen Wörtern und Zahlenformat wie Java. An Javas eigenen Tabellen gemessen. Abweichend von Java: „ICMP Time Exceeded“ (Java: „Exeeded“) | @@ -44,6 +45,8 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `test/javaRun.ts` (`expectSameCaptures`) | — | seit F2.8a: der Mitschnitt jeder Karte gegen Javas Liste dieser Karte (dieselben Frames, dieselbe Folge, dieselbe Zeit), in den Vergleichen für ARP, WLAN, DNS, TCP, NAT, RIP und DHCP mit einem Client; seit F2.8b für jeden dieser Frames auch Javas Tabellenzeilen in beiden Ansichten (Wörter und Zahlen wie Javas deutsches Gebietsschema) | | `test/echoJava.test.ts`, `test/scenarios/echo-java-*.java.json` | — | neu (F3.1): acht Abläufe mit Echo-Server und einfachem Client gegen Java-Filius (`EchoRun`): je Karte Frames, Zeiten und Tabellenzeilen, dazu die Fensterzeilen beider Programme auf Deutsch wie Java (Zeilen, die Java erst bei seinem 100-ms-Blick schreibt, dürfen dort bis zu 100 ms später kommen); drei benannte Java-Fehler (`JAVA_BUGS`: keine Route, nur ein SYN, das unbeantwortete FIN nach dem Ausschalten) | | `test/webJava.test.ts`, `test/scenarios/web-lan.scenario.json`, `test/scenarios/web-java-*.java.json`, `test/programLines.ts` | — | neu (F3.2a): elf Abläufe mit Webserver und Browser gegen Java-Filius (`WebRun`, mit den Dateien des Servers): je Karte Frames, Zeiten, Tabellen, die Fensterzeilen des Servers, Seiten und Bilder des Browsers (Fehlerseiten nach Status); Javas Threads hinken bei langen Übertragungen bis zu 130 ms nach, verglichen auf 200 ms; drei benannte Java-Fehler (`JAVA_BUGS`: `/../` liefert fremde Dateien, `HALLO` beendet die Verbindung stumm, nur ein SYN). `programLines.ts`: die Fensterzeilen der Programme auf Deutsch, geteilt mit `echoJava.test.ts` | +| `test/routerWebJava.test.ts`, `test/scenarios/router-web.scenario.json`, `test/scenarios/routerweb-java-*.java.json` | — | neu (F3.2b): sechs Abläufe mit den Seiten der Router und Heimrouter gegen Java-Filius (`RouterWebRun`): Index, Routen (Weiterleitung und RIP), Protokoll nach verworfenem Ping und Regeltreffern, Heimrouter von innen und außen; Startnummern ohne die Million (Javas Router-Server lauscht nicht immer), die Gültigkeit der RIP-Routen als Platzhalter (Javas versetzter Start); ein benannter Java-Fehler (``) | +| `test/routerPages.test.ts` | — | neu (F3.2b): Farben und Hops der Routen-Seite, RIP bei 16 Hops und Sekunden, Index in beiden Sprachen, Regeltexte, UDP im Protokoll und das Protokoll über einen Neustart, Server beim Start und `swiftRouters`, öffentliche Adresse bei kürzerem Weg, TCP in Zeichen | | `test/web.test.ts` | — | neu (F3.2a): HTTP-Form, Pfadkodierung, Base64, Adresszeile, Bildersuche; am Server 400/501, Durchgriff, Ordner, Inhaltsarten, Binärdateien, virtuelle Hosts (fünf Zeilen, Schalter ohne Datei); am Browser Seite und Bilder, Link ohne Host, nur HTML sucht Bilder, keine Adresse, keine Antwort | | `test/apps.test.ts` | — | neu (F3.1): wie Threads aufwachen (nach dem Ereignis, nach einer Pause hinter den anderen, ein Weckruf nur für sein Warten, Reihenfolge des Beginns, kein Warten auf schon Geltendes), und was die Java-Abläufe nicht zeigen: belegter Port, Name über DNS und ohne DNS, keine Route, unbestätigtes Senden, Neustart, eine Nachricht vor dem Schließen | | `test/captureRows.test.ts` | — | neu (F2.8b): die Regeln der Tabelle, die kein Java-Lauf zeigt (GNT, POP3, SMTP, HTTP, Javas `trim`, ICMP-Fehler mit eingebettetem ICMP, Ansicht ohne Enden) | diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 2f418d9..e4fcc5c 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -22,6 +22,7 @@ export * from './runtime/apps/program.js'; export * from './runtime/apps/server.js'; export * from './runtime/apps/echo.js'; export * from './runtime/apps/web.js'; +export * from './runtime/apps/routerPages.js'; export * from './runtime/http.js'; export * from './util/equal.js'; export * from './util/javaBase64.js'; diff --git a/packages/core/src/runtime/apps/routerPages.ts b/packages/core/src/runtime/apps/routerPages.ts new file mode 100644 index 0000000..3073480 --- /dev/null +++ b/packages/core/src/runtime/apps/routerPages.ts @@ -0,0 +1,168 @@ +// The pages of FILIUS' routers and home routers (filius.software.system: +// VermittlungsrechnerBetriebssystem, GatewayFirmware; the web server's +// plug-ins FirewallWebLog and VermittlungWeb), written as Java writes them: +// from its templates (tmpl/vermittlung_index, gateway_index, routing) and the +// texts of its message bundle, in the project's language. The pages go over +// the simulated network as they are, so they are written here, not by the +// editor. +// +// Departure from Java: the German log page closes its title with +// (Java's bundle writes ). + +import type { FirewallRule } from '../config.js'; +import type { FirewallLogEntry } from '../engine.js'; +import { formatIPv4, maskAddress, parseIPv4 } from '../ipv4.js'; +import type { RouteRow } from '../routeTable.js'; +import { DIRECTLY_CONNECTED_SOURCE_MARKER } from '../config.js'; + +/** The languages FILIUS' pages come in (Java also has French). */ +export type PageLanguage = 'de' | 'en'; + +/** Java's templates as its WebServer and WebServerPlugIn read them: each line ended by "\n". */ +const TEMPLATES: Record<'routerIndex' | 'gatewayIndex' | 'routing', Record> = { + routerIndex: { + de: "\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n", + en: "\n \n Router Administration\n \n \n

Firewall Administration

\n

Configuration

\n

Show Log

\n\n

Routing/Forwarding

\n

Show current routing/forwarding table

\n \n \n\n", + }, + gatewayIndex: { + de: "\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n", + en: "\n \n Gateway Administration\n \n \n

Firewall Administration

\n

Configuration

\n

Show Log

\n \n\n", + }, + routing: { + de: "\n \n \n:title:\n \n \n \n

\n:title:\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n:routing_entries:\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
\n

\n:hint:\n

\n \n\n", + en: "\n \n \n:title:\n \n \n \n

\n:title:\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n:routing_entries:\n\n
NetworkHopsValidityNext Hop
AddressNetmask(sec)TargetPublic Address
\n

\n:hint:\n

\n \n\n", + }, +}; + +/** The texts of Java's message bundle the pages use. */ +interface PageTexts { + readonly logHead: string; + readonly logBody: string; + readonly ruleMatched: string; + readonly icmpDropped: string; + readonly accept: string; + readonly drop: string; + readonly ripHint: string; + readonly unlimited: string; + readonly forwardingHint: string; + readonly forwardingTitle: string; + readonly ripTitle: string; +} + +const TEXTS: Record = { + de: { + /** sw_firewallweblog_msg1, msg2 (, where Java writes ). */ + logHead: '\n\t\n\t\tLog-Einträge der Firewall', + logBody: '\n\t\n\t\n\t\t

Log-Einträge der Firewall

', + /** sw_firewall_msg8, firewallthread_msg1, jfirewalldialog_msg33, msg34. */ + ruleMatched: 'Firewall-Regel hat gegriffen:', + icmpDropped: 'ICMP-Paket verworfen:', + accept: 'akzeptieren', + drop: 'verwerfen', + /** sw_vermittlungweb_msg1, msg3, msg4, msg5, msg6. */ + ripHint: 'Diese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.', + unlimited: 'unbegrenzt', + forwardingHint: 'Diese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.', + forwardingTitle: 'Routing-/Weiterleitungs-Tabelle', + ripTitle: 'Routing-Tabelle', + }, + en: { + logHead: '\n\t\n\t\tLog-data set entry of the firewall', + logBody: '\n\t\n\t\n\t\t

Log-data set entry of the firewall

', + ruleMatched: 'Firewall rule matched:', + icmpDropped: 'Dropped ICMP packet:', + accept: 'accept', + drop: 'drop', + ripHint: 'This table is generated and updated by the Routing Information Protocol (RIP).', + unlimited: 'unlimited', + forwardingHint: 'This table was created from the IP configuration of the router and manually added entries of the forwarding table.', + forwardingTitle: 'Routing/Forwarding Table', + ripTitle: 'Routing Table', + }, +}; + +/** The index page a router or home router keeps in /webserver (WebServer.erzeugeIndexDatei). */ +export function routerIndexPage(kind: 'router' | 'gateway', language: PageLanguage): string { + return TEMPLATES[kind === 'router' ? 'routerIndex' : 'gatewayIndex'][language]; +} + +/** FirewallRule.toString(nics): the rule as the log names it. */ +export function firewallRuleText(rule: FirewallRule, firstInterface: { readonly ipAddress: string; readonly subnetMask: string } | undefined): string { + const sameNetwork = rule.sourceIPAddress === DIRECTLY_CONNECTED_SOURCE_MARKER && firstInterface !== undefined; + let text = ''; + if (rule.sourceIPAddress === '') { + text += '*/'; + } else if (sameNetwork) { + const address = parseIPv4(firstInterface.ipAddress); + const mask = parseIPv4(firstInterface.subnetMask); + const network = address === undefined || mask === undefined ? firstInterface.ipAddress : formatIPv4(maskAddress(address, mask)); + text += `${network}/${firstInterface.subnetMask} -> `; + } else { + text += `${rule.sourceIPAddress}/`; + } + if (!sameNetwork) text += rule.sourceSubnetMask === '' ? '* -> ' : `${rule.sourceSubnetMask} -> `; + text += rule.destinationIPAddress === '' ? '*/' : `${rule.destinationIPAddress}/`; + text += rule.destinationSubnetMask === '' ? '*; ' : `${rule.destinationSubnetMask}; `; + text += rule.protocol === 'all' ? '*:' : rule.protocol === 'tcp' ? 'TCP:' : rule.protocol === 'udp' ? 'UDP:' : '?:'; + text += rule.port >= 0 ? `${rule.port} => ` : '* => '; + return text + (rule.action === 'accept' ? 'ACCEPT' : 'DROP'); +} + +/** A line of the firewall's log, as Firewall tells its observers. */ +export function firewallLogText(entry: FirewallLogEntry, language: PageLanguage): string { + const texts = TEXTS[language]; + if (entry.kind === 'icmpDropped') { + return `${texts.icmpDropped} ${entry.senderIPAddress} -> ${entry.receiverIPAddress} (code: ${entry.code}, type: ${entry.type})`; + } + return `${texts.ruleMatched} #${entry.ruleNumber} (${firewallRuleText(entry.rule, entry.firstInterface)}) -> ${entry.accepted ? texts.accept : texts.drop}`; +} + +/** FirewallWebLog.holeHtmlSeite: the log since the engine was made. */ +export function firewallLogPage(entries: readonly FirewallLogEntry[], language: PageLanguage): string { + const texts = TEXTS[language]; + const lines = entries.map((entry) => `
\n${firewallLogText(entry, language)}`).join(''); + return `${texts.logHead}${texts.logBody}\n\n${lines}\n\n\t\n`; +} + +function routingPage(title: string, entries: string, hint: string, language: PageLanguage): string { + return TEMPLATES.routing[language].replaceAll(':title:', title).replaceAll(':routing_entries:', entries).replaceAll(':hint:', hint); +} + +/** VermittlungWeb.createForwardingTablePage: a router without RIP. */ +export function forwardingTablePage(rows: readonly RouteRow[], language: PageLanguage): string { + const texts = TEXTS[language]; + const entries = rows + .map((row) => { + const direct = row.nextHop === row.interfaceIPAddress; + const localhost = row.interfaceIPAddress === '127.0.0.1'; + const cells = + `${row.destinationNetwork}${row.subnetMask}` + + (direct || localhost ? ' 0 ' : ' ? ') + + `${texts.unlimited}` + + `${row.nextHop} - `; + if (direct || localhost) return `${cells}`; + if (row.subnetMask === '0.0.0.0') return `${cells}`; + return `${cells}`; + }) + .join(''); + return routingPage(texts.forwardingTitle, entries, texts.forwardingHint, language); +} + +/** VermittlungWeb.createRoutingTablePage: a router with RIP; how long each learned route has left, in whole seconds. */ +export function ripTablePage(rows: readonly RouteRow[], nowMilliseconds: number, language: PageLanguage): string { + const texts = TEXTS[language]; + const entries = rows + .map((row) => { + const hops = row.metric ?? 16; + const validity = row.expiresAtMilliseconds === undefined ? texts.unlimited : String(Math.trunc((row.expiresAtMilliseconds - nowMilliseconds) / 1_000)); + const publicAddress = row.hopPublicIPAddress ?? ''; + const cells = + `${row.destinationNetwork}${row.subnetMask}${hops}${validity}${row.nextHop}` + + `${publicAddress}`; + if (hops === 0) return `${cells}`; + if (hops === 16) return `${cells}`; + return `${cells}`; + }) + .join(''); + return routingPage(texts.ripTitle, entries, texts.ripHint, language); +} diff --git a/packages/core/src/runtime/apps/web.ts b/packages/core/src/runtime/apps/web.ts index c7ef22b..221b2d5 100644 --- a/packages/core/src/runtime/apps/web.ts +++ b/packages/core/src/runtime/apps/web.ts @@ -12,8 +12,8 @@ // not reachable" when its request cannot go out or the answer cannot be // read (Java shows nothing). // -// Not yet: the pages a router's or home router's server makes itself -// (Java's plug-ins: firewall log and settings, routing table). +// A server may make pages itself (Java's plug-ins, WebServerPlugIn): a +// router's or home router's firewall log and routing table (routerPages.ts). import type { Id } from '../../ids.js'; import type { VirtualFileSystem } from '../../model/virtualFileSystem.js'; @@ -37,6 +37,9 @@ import { TcpServerProgram } from './server.js'; /** The port FILIUS' browser always connects to (WebBrowser.initConnection). */ export const WEB_BROWSER_PORT = 80; +/** A page the server makes itself (WebServerPlugIn.holeHtmlSeite): from a POST's data, or undefined; undefined for none (500). */ +export type WebServerPage = (postData: string | undefined) => string | undefined; + /** WebServer's table of virtual hosts: five rows of host name and folder. */ const VIRTUAL_HOST_ROWS = 5; @@ -81,6 +84,7 @@ export class WebServer extends TcpServerProgram { nodeId: Id, configuration: WebServerSnapshot, private readonly fileSystem: VirtualFileSystem | undefined, + private readonly pages: ReadonlyMap = new Map(), ) { super(engine, nodeId, configuration); this.documentRoot = configuration.documentRoot; @@ -131,6 +135,12 @@ export class WebServer extends TcpServerProgram { if (!folder.endsWith('/')) folder += '/'; file = folder + file; if (file.startsWith('/')) file = file.slice(1); + // WebServer.holePlugin: a page of its own by its exact path. + const page = this.pages.get(file); + if (page !== undefined) { + const html = page(parsed.request.method === HTTP_POST ? parsed.request.data : undefined); + return html === undefined ? response(500) : response(200, 'text/html', html); + } const absolute = evaluatePath(`${this.documentRoot}/${file}`); if (!absolute.toLowerCase().startsWith(`${this.documentRoot.toLowerCase()}/`)) return response(404); let content: string; diff --git a/packages/core/src/runtime/captureRows.ts b/packages/core/src/runtime/captureRows.ts index f4caab9..1f6d4eb 100644 --- a/packages/core/src/runtime/captureRows.ts +++ b/packages/core/src/runtime/captureRows.ts @@ -154,7 +154,8 @@ const ICMP_MESSAGES: Record = { timeExceeded: 'ICMP Time Exceeded (poof)', }; -const ICMP_TYPE_CODE: Record = { +/** An ICMP message's type and code. */ +export const ICMP_TYPE_CODE: Readonly> = { echoReply: [0, 0], destinationNetworkUnreachable: [3, 0], destinationHostUnreachable: [3, 1], diff --git a/packages/core/src/runtime/engine.ts b/packages/core/src/runtime/engine.ts index 41b1895..a97be87 100644 --- a/packages/core/src/runtime/engine.ts +++ b/packages/core/src/runtime/engine.ts @@ -107,13 +107,16 @@ import { type DnsQuestion, } from './dns.js'; import { PacketCapture, PRODUCTION_CAPTURE_RETENTION, type CaptureRetentionPolicy } from './capture.js'; +import { ICMP_TYPE_CODE } from './captureRows.js'; import { JavaCompatibleRandom } from './random.js'; import { routeTableRows, type RouteRow } from './routeTable.js'; import { EMPTY_TOPOLOGY_SNAPSHOT, withSnapshot, type NodeSnapshot, type TopologySnapshot } from './snapshot.js'; import { RuntimeSpeed } from './speed.js'; import { ApplicationThreads, waitUntil, type Steps, type Wait } from './threads.js'; import { EchoServer, SimpleClient } from './apps/echo.js'; -import { WebBrowser, WebServer } from './apps/web.js'; +import { WebBrowser, WebServer, type WebServerPage } from './apps/web.js'; +import { firewallLogPage, forwardingTablePage, ripTablePage, routerIndexPage } from './apps/routerPages.js'; +import { VirtualFileSystem } from '../model/virtualFileSystem.js'; import { PRODUCTION_TRACE_RETENTION, type HeaderField, @@ -305,6 +308,23 @@ export interface FirewallDecision { readonly ruleIndex?: number; } +/** + * A line of a firewall's log (Firewall.benachrichtigeBeobachter, shown by + * the router's page "log"): a rule that matched a TCP or UDP packet, with + * the node's first interface (the rule's text names its network for "any + * directly connected network"), or an ICMP packet dropped by the general + * setting. + */ +export type FirewallLogEntry = + | { + readonly kind: 'ruleMatched'; + readonly ruleNumber: number; + readonly rule: FirewallRule; + readonly firstInterface: { readonly ipAddress: string; readonly subnetMask: string } | undefined; + readonly accepted: boolean; + } + | { readonly kind: 'icmpDropped'; readonly senderIPAddress: string; readonly receiverIPAddress: string; readonly type: number; readonly code: number }; + export type RuntimePhase = 'stopped' | 'running'; export type SocketProtocol = 'udp' | 'tcp'; @@ -863,6 +883,7 @@ export class NetworkRuntimeEngine { private readonly cablesCarryOneFrameAtATime: boolean; private readonly swiftArp: boolean; private readonly swiftSends: boolean; + private readonly swiftRouters: boolean; private readonly packetCapture: PacketCapture; /** The programs' threads (threads.ts), and the wake-ups they wait for, by id. */ private readonly applicationThreads = new ApplicationThreads({ @@ -888,6 +909,8 @@ export class NetworkRuntimeEngine { private readonly simpleClientsByNodeId = new Map(); private readonly webServersByNodeId = new Map(); private readonly webBrowsersByNodeId = new Map(); + /** Each node's firewall log; it outlives a stop and a new start, as Java's log page does. */ + private readonly firewallLogsByNodeId = new Map(); /** Accepted connections a program has taken (acceptTcpSteps). */ private readonly handedOutTcpSocketIds = new Set(); private nextApplicationWakeId = 1; @@ -901,6 +924,8 @@ export class NetworkRuntimeEngine { * * `swiftArp`, `swiftSends`: Swift's ARP and Swift's send that returns * when the network is quiet, likewise only for the comparison. + * `swiftRouters`: routers and home routers start no web server (Swift's + * web administration answers without a socket), likewise. * * `captureRetention`: how many frames each card's packet capture keeps. */ @@ -911,6 +936,7 @@ export class NetworkRuntimeEngine { readonly swiftCables?: boolean; readonly swiftArp?: boolean; readonly swiftSends?: boolean; + readonly swiftRouters?: boolean; readonly captureRetention?: CaptureRetentionPolicy; } = {}, ) { @@ -918,6 +944,7 @@ export class NetworkRuntimeEngine { this.cablesCarryOneFrameAtATime = options.swiftCables !== true; this.swiftArp = options.swiftArp === true; this.swiftSends = options.swiftSends === true; + this.swiftRouters = options.swiftRouters === true; const normalizedSeed = toSeed(seed); this.stateValue = initialState(normalizedSeed); this.random = new JavaCompatibleRandom(normalizedSeed); @@ -1048,6 +1075,27 @@ export class NetworkRuntimeEngine { } } + /** The node's firewall log, since the engine was made. */ + firewallLog(nodeId: Id): readonly FirewallLogEntry[] { + return this.firewallLogsByNodeId.get(nodeId) ?? []; + } + + private logFirewall(nodeId: Id, entry: FirewallLogEntry): void { + getOrCreate(this.firewallLogsByNodeId, nodeId, () => []).push(entry); + } + + /** Firewall.notifyRuleApplication. */ + private logFirewallRule(nodeId: Id, index: number, rule: FirewallRule): void { + const first = this.networkInterfaces(nodeId)[0]; + this.logFirewall(nodeId, { + kind: 'ruleMatched', + ruleNumber: index + 1, + rule, + firstInterface: first === undefined ? undefined : { ipAddress: first.ipAddress, subnetMask: first.subnetMask }, + accepted: rule.action === 'accept', + }); + } + /** The node's echo server while the simulation runs, if it has one installed. */ echoServer(nodeId: Id): EchoServer | undefined { return this.echoServersByNodeId.get(nodeId); @@ -1088,9 +1136,34 @@ export class NetworkRuntimeEngine { this.webServersByNodeId.set(node.id, new WebServer(this, node.id, webServer, snapshot.fileSystemsByNodeId.get(node.id))); } if (snapshot.webBrowserNodeIds.has(node.id)) this.webBrowsersByNodeId.set(node.id, new WebBrowser(this, node.id)); + if ((node.kind === 'router' || node.kind === 'gateway') && !this.swiftRouters) this.startRouterWebServer(node.id, node.kind); } } + /** + * VermittlungsrechnerBetriebssystem, GatewayFirmware: a router and a home + * router switch on their web server on port 80 when they start, with + * their index page and the pages log and, on a router, routes. Java's + * server sometimes never listens (setAktiv wakes its thread only when it + * already waits); the core's always does. + */ + private startRouterWebServer(nodeId: Id, kind: 'router' | 'gateway'): void { + const language = this.stateValue.topologySnapshot.language; + const files = new VirtualFileSystem(); + files.createDirectory('/webserver', true); + files.writeTextFile('/webserver/index.html', routerIndexPage(kind, language)); + const pages = new Map([['log', () => firewallLogPage(this.firewallLog(nodeId), language)]]); + if (kind === 'router') { + pages.set('routes', () => { + const rip = this.ripTable(nodeId); + return rip === undefined ? forwardingTablePage(this.forwardingTable(nodeId), language) : ripTablePage(rip, this.stateValue.currentTimeMilliseconds, language); + }); + } + const server = new WebServer(this, nodeId, { port: 80, documentRoot: '/webserver', virtualHosts: false, isActive: false }, files, pages); + this.webServersByNodeId.set(nodeId, server); + server.setActive(true); + } + /** Begins a program's thread (threads.ts): it runs at once up to its first wait. */ startThread(steps: Steps): void { if (this.stateValue.phase !== 'running') return; @@ -2035,9 +2108,7 @@ export class NetworkRuntimeEngine { if (payload.length === 0) { chunks.push(new Uint8Array()); } else { - for (let offset = 0; offset < payload.length; offset += TCP_MAXIMUM_SEGMENT_SIZE) { - chunks.push(payload.subarray(offset, Math.min(offset + TCP_MAXIMUM_SEGMENT_SIZE, payload.length))); - } + chunks.push(...javaTextPieces(payload, TCP_MAXIMUM_SEGMENT_SIZE)); } for (const [index, chunk] of chunks.entries()) { if (state.socketsById.get(socketId)?.tcpState !== 'ESTABLISHED') return 'connectionLost'; @@ -2681,6 +2752,7 @@ export class NetworkRuntimeEngine { this.ripRoutersByNodeId.clear(); for (const node of state.topologySnapshot.nodes) { if (!this.isRipEnabledRouter(node.id)) continue; + const primaryIPAddress = this.networkInterfaces(node.id)[0]?.ipAddress; state.ripTablesByNodeId.set( node.id, this.networkInterfaces(node.id).flatMap((networkInterface) => { @@ -2696,6 +2768,7 @@ export class NetworkRuntimeEngine { origin: 'connected' as const, isEditable: false, metric: 0, + ...(primaryIPAddress === undefined ? {} : { hopPublicIPAddress: primaryIPAddress }), }, ]; }), @@ -2829,14 +2902,15 @@ export class NetworkRuntimeEngine { if (route !== undefined) { const routeHops = route.metric ?? RIP_INFINITY; if (route.nextHop !== message.ipAddress && routeHops <= hops) continue; - let { nextHop, interfaceIPAddress: routeInterface } = route; + let { nextHop, interfaceIPAddress: routeInterface, hopPublicIPAddress } = route; if (routeHops > hops) { nextHop = message.ipAddress; routeInterface = interfaceIPAddress; + hopPublicIPAddress = message.publicIPAddress; } else if (routeHops < hops) { announce = true; } - table[index] = { ...route, nextHop, interfaceIPAddress: routeInterface, metric: hops, expiresAtMilliseconds }; + table[index] = { ...route, nextHop, interfaceIPAddress: routeInterface, metric: hops, expiresAtMilliseconds, ...(hopPublicIPAddress === undefined ? {} : { hopPublicIPAddress }) }; } else if (hops < RIP_INFINITY) { table.push({ destinationNetwork: entry.network, @@ -2847,6 +2921,7 @@ export class NetworkRuntimeEngine { isEditable: false, metric: hops, expiresAtMilliseconds, + hopPublicIPAddress: message.publicIPAddress, }); announce = true; } @@ -4928,6 +5003,21 @@ export class NetworkRuntimeEngine { // ── Routing ────────────────────────────────────────────────────────────── + /** Weiterleitungstabelle.holeTabelle: the node's own routes, its manual ones and its default gateway. */ + forwardingTable(nodeId: Id): RouteRow[] { + const snapshot = this.stateValue.topologySnapshot; + return routeTableRows( + this.networkInterfaces(nodeId).map((candidate) => ({ ipAddress: candidate.ipAddress, subnetMask: candidate.subnetMask })), + snapshot.manualRoutesByNodeId.get(nodeId) ?? [], + snapshot.deviceConfigurations.get(nodeId)?.defaultGateway, + ); + } + + /** The RIP table of a router with RIP switched on, while the simulation runs. */ + ripTable(nodeId: Id): readonly RouteRow[] | undefined { + return this.stateValue.ripTablesByNodeId.get(nodeId); + } + private routeForPacket(nodeId: Id, targetIPAddress: string, preferredInterfaceId?: Id): PacketRoute { const interfaces = this.networkInterfaces(nodeId); if (targetIPAddress === LIMITED_BROADCAST_IP_ADDRESS) return { type: 'broadcast' }; @@ -5029,6 +5119,10 @@ export class NetworkRuntimeEngine { if (!configuration.isActive) return decide(true, undefined, 'firewall inactive'); if (packet.protocol === 'icmp') { + if (configuration.dropIcmp && packet.payload.kind === 'icmp') { + const [type, code] = ICMP_TYPE_CODE[packet.payload.message.kind]; + this.logFirewall(nodeId, { kind: 'icmpDropped', senderIPAddress: packet.senderIPAddress, receiverIPAddress: packet.receiverIPAddress, type, code }); + } return decide( !configuration.dropIcmp, undefined, @@ -5057,6 +5151,7 @@ export class NetworkRuntimeEngine { ) { continue; } + this.logFirewallRule(nodeId, index, rule); return decide(rule.action === 'accept', index, `TCP matched rule #${index + 1}`); } break; @@ -5083,6 +5178,7 @@ export class NetworkRuntimeEngine { nodeId, ); if (!requestMatches && !responseMatches) continue; + this.logFirewallRule(nodeId, index, rule); return decide(rule.action === 'accept', index, `UDP matched rule #${index + 1}`); } break; @@ -5355,7 +5451,48 @@ function tcpSegmentRequiresAcknowledgement(segment: TcpSegment): boolean { export function nextTcpSequenceNumber(segment: TcpSegment): number { let next = segment.sequenceNumber; if ((segment.flags & (TCP_FLAG.synchronize | TCP_FLAG.finish)) !== 0) next = uint32Add(next, 1); - return uint32Add(next, segment.payload.length); + return uint32Add(next, javaTextLength(segment.payload)); +} + +/** The payload as text, when it is UTF-8 (all of FILIUS' data are Strings); undefined for other bytes. */ +function payloadText(payload: Uint8Array): string | undefined { + try { + return new TextDecoder('utf-8', { fatal: true }).decode(payload); + } catch { + return undefined; + } +} + +/** + * A TCP payload's length as Java counts it: its data are a String, its + * sequence numbers and segments count UTF-16 units, not bytes ("ä" is one). + * Bytes that are no text count as bytes. + */ +export function javaTextLength(payload: Uint8Array): number { + return payloadText(payload)?.length ?? payload.length; +} + +/** + * TCPSocket.erstelleSegmente: the message in pieces of at most `size` UTF-16 + * units (bytes that are no text: of `size` bytes). Java may cut a character + * of two units in halves; the core keeps it whole. + */ +function javaTextPieces(payload: Uint8Array, size: number): Uint8Array[] { + const text = payloadText(payload); + const pieces: Uint8Array[] = []; + if (text === undefined) { + for (let offset = 0; offset < payload.length; offset += size) pieces.push(payload.subarray(offset, Math.min(offset + size, payload.length))); + return pieces; + } + const encoder = new TextEncoder(); + for (let start = 0; start < text.length; ) { + let end = Math.min(start + size, text.length); + const last = text.charCodeAt(end - 1); + if (end < text.length && end - start > 1 && last >= 0xd800 && last <= 0xdbff) end -= 1; + pieces.push(encoder.encode(text.slice(start, end))); + start = end; + } + return pieces; } function concatBytes(first: Uint8Array, second: Uint8Array): Uint8Array { diff --git a/packages/core/src/runtime/routeTable.ts b/packages/core/src/runtime/routeTable.ts index ee6be1c..944fff4 100644 --- a/packages/core/src/runtime/routeTable.ts +++ b/packages/core/src/runtime/routeTable.ts @@ -19,6 +19,8 @@ export interface RouteRow { readonly isEditable: boolean; readonly metric?: number; readonly expiresAtMilliseconds?: number; + /** A RIP route: the router that told it, by its first address (Java's hopPublicIp, a hint for the administrator). */ + readonly hopPublicIPAddress?: string; } export type RouteTableColumn = 'destination' | 'subnetMask' | 'nextGateway' | 'interface'; diff --git a/packages/core/src/runtime/snapshot.ts b/packages/core/src/runtime/snapshot.ts index 39cbe52..6732c40 100644 --- a/packages/core/src/runtime/snapshot.ts +++ b/packages/core/src/runtime/snapshot.ts @@ -23,6 +23,7 @@ import type { WebServerConfiguration, } from './config.js'; import type { VirtualFileSystem } from '../model/virtualFileSystem.js'; +import type { PageLanguage } from './apps/routerPages.js'; /** An installed web server: its configuration, and whether it is switched on (Java: WebServer.aktiv). */ export interface WebServerSnapshot extends WebServerConfiguration { @@ -89,6 +90,8 @@ export interface TopologySnapshot { readonly webBrowserNodeIds: ReadonlySet; /** Each node's files, which its programs read (a web server its pages). */ readonly fileSystemsByNodeId: ReadonlyMap; + /** The language of the pages the devices write themselves (a router's), as Java's in the locale it runs in. */ + readonly language: PageLanguage; } export interface TopologySnapshotInput { @@ -110,6 +113,7 @@ export interface TopologySnapshotInput { webServersByNodeId?: ReadonlyMap; webBrowserNodeIds?: ReadonlySet; fileSystemsByNodeId?: ReadonlyMap; + language?: PageLanguage; } export function topologySnapshot(input: TopologySnapshotInput): TopologySnapshot { @@ -132,6 +136,7 @@ export function topologySnapshot(input: TopologySnapshotInput): TopologySnapshot webServersByNodeId: input.webServersByNodeId ?? new Map(), webBrowserNodeIds: input.webBrowserNodeIds ?? new Set(), fileSystemsByNodeId: input.fileSystemsByNodeId ?? new Map(), + language: input.language ?? 'de', }; } diff --git a/packages/core/test/engine.test.ts b/packages/core/test/engine.test.ts index 370f9ff..4d4247d 100644 --- a/packages/core/test/engine.test.ts +++ b/packages/core/test/engine.test.ts @@ -2100,8 +2100,8 @@ describe('RIP', () => { it('starts with a route of hop count 0 to each own network that never expires, the first beacon after a second', () => { const engine = ripTopology(); expect(engine.state.ripTablesByNodeId.get(routerAId)).toEqual([ - { destinationNetwork: '10.0.0.0', subnetMask: '255.255.255.0', nextHop: '10.0.0.1', interfaceIPAddress: '10.0.0.1', origin: 'connected', isEditable: false, metric: 0 }, - { destinationNetwork: '192.168.0.0', subnetMask: '255.255.255.0', nextHop: '192.168.0.1', interfaceIPAddress: '192.168.0.1', origin: 'connected', isEditable: false, metric: 0 }, + { destinationNetwork: '10.0.0.0', subnetMask: '255.255.255.0', nextHop: '10.0.0.1', interfaceIPAddress: '10.0.0.1', origin: 'connected', isEditable: false, metric: 0, hopPublicIPAddress: '10.0.0.1' }, + { destinationNetwork: '192.168.0.0', subnetMask: '255.255.255.0', nextHop: '192.168.0.1', interfaceIPAddress: '192.168.0.1', origin: 'connected', isEditable: false, metric: 0, hopPublicIPAddress: '10.0.0.1' }, ]); expect(beacons(engine, routerAId)).toEqual([1_000]); // The server's socket on 520, the beacon's on 521. @@ -2113,7 +2113,7 @@ describe('RIP', () => { const engine = ripTopology(); engine.handle({ type: 'advance', toMilliseconds: 2_000 }); - expect(route(engine, routerAId, '172.16.0.0')).toMatchObject({ nextHop: '10.0.0.2', interfaceIPAddress: '10.0.0.1', metric: 1, origin: 'rip', expiresAtMilliseconds: 1_110 + 75_000 }); + expect(route(engine, routerAId, '172.16.0.0')).toMatchObject({ nextHop: '10.0.0.2', interfaceIPAddress: '10.0.0.1', metric: 1, origin: 'rip', expiresAtMilliseconds: 1_110 + 75_000, hopPublicIPAddress: '10.0.0.2' }); expect(route(engine, routerBId, '192.168.0.0')).toMatchObject({ nextHop: '10.0.0.1', metric: 1 }); const payloads = (engine.state.deliveredIPv4PacketsByNodeId.get(routerBId) ?? []) .filter((delivered) => delivered.packet.senderIPAddress === '10.0.0.1') diff --git a/packages/core/test/javaRun.ts b/packages/core/test/javaRun.ts index 37fa509..6c515a9 100644 --- a/packages/core/test/javaRun.ts +++ b/packages/core/test/javaRun.ts @@ -25,6 +25,7 @@ import { expect } from 'vitest'; import { captureCommentText, captureRows, + javaTextLength, NetworkRuntimeEngine, TCP_FLAG, type CapturedFrame, @@ -112,7 +113,7 @@ export function engineText(frame: EthernetFrame): string { if (packet.payload.kind === 'tcp') { const segment = packet.payload.segment; const flags = FLAG_LETTERS.filter(([bit]) => (segment.flags & bit) !== 0).map(([, letter]) => letter).join(''); - return `${macs} TCP ${packet.senderIPAddress}:${segment.sourcePort} > ${packet.receiverIPAddress}:${segment.destinationPort} ${flags || '-'} seq=${segment.sequenceNumber} ack=${segment.acknowledgementNumber} length=${segment.payload.length}`; + return `${macs} TCP ${packet.senderIPAddress}:${segment.sourcePort} > ${packet.receiverIPAddress}:${segment.destinationPort} ${flags || '-'} seq=${segment.sequenceNumber} ack=${segment.acknowledgementNumber} length=${javaTextLength(segment.payload)}`; } const datagram = packet.payload.datagram; return `${macs} UDP ${packet.senderIPAddress}:${datagram.sourcePort} > ${packet.receiverIPAddress}:${datagram.destinationPort} ${new TextDecoder().decode(datagram.payload)}`; diff --git a/packages/core/test/natJava.test.ts b/packages/core/test/natJava.test.ts index 50346e2..4011fb4 100644 --- a/packages/core/test/natJava.test.ts +++ b/packages/core/test/natJava.test.ts @@ -12,9 +12,11 @@ // follows those threads, so it is not compared. Free ports — a client's, and the WAN port // the router draws for an entry — are Java's random and the engine's seed: // both are compared as "port". Java numbers the TCP sockets' initial -// sequence numbers over all sockets, and its home router's web server (not -// in the engine yet) takes the first: each is compared by the order it first -// shows in. Frames that show within TIE_MILLISECONDS of each other Java's +// sequence numbers over all sockets; its home router's web server takes the +// first when it listens — in these runs it did not (setAktiv wakes its thread +// only when it already waits), in the engine it always does: each initial +// number is compared by the order it first shows in, and in the tables only +// below the millions. Frames that show within TIE_MILLISECONDS of each other Java's // packet log writes in any order; they are compared sorted by their text. import { readFileSync } from 'node:fs'; @@ -265,6 +267,7 @@ describe('NAT as Java FILIUS runs it', () => { expectSameCaptures(engine, scenario, java.frames, { normalized: withPlaceholders, tables: measured, + cell: (text) => text.replace(/\b\d+\.(\d{3}\.\d{3})\b/g, 'n.$1'), tolerance: TCP_STORIES.has(name) ? TCP_TOLERANCE_MILLISECONDS : GAP_TOLERANCE_MILLISECONDS, }); diff --git a/packages/core/test/oracle.test.ts b/packages/core/test/oracle.test.ts index 4b5e550..a62bc5e 100644 --- a/packages/core/test/oracle.test.ts +++ b/packages/core/test/oracle.test.ts @@ -73,7 +73,7 @@ function observationJson(item: IcmpObservation): Record { function run(scenario: Scenario): Record { // Swift's cables carry all frames at once; everything else is compared as it is. - const engine = new NetworkRuntimeEngine(scenario.seed, undefined, { swiftCables: true, swiftArp: true, swiftSends: true }); + const engine = new NetworkRuntimeEngine(scenario.seed, undefined, { swiftCables: true, swiftArp: true, swiftSends: true, swiftRouters: true }); if (scenario.speedPercent !== undefined) engine.setSimulationSpeed(scenario.speedPercent); engine.handle({ type: 'start', snapshot: snapshotOf(scenario), seed: scenario.seed, initialTimeMilliseconds: 0 }); diff --git a/packages/core/test/programLines.ts b/packages/core/test/programLines.ts index 638d41e..6ca5f11 100644 --- a/packages/core/test/programLines.ts +++ b/packages/core/test/programLines.ts @@ -2,7 +2,7 @@ // message bundle says them: for comparing the core's structured lines with // what the Java oracle recorded (echoJava.test.ts, webJava.test.ts). -import type { EchoServerLogEntry, SendFailure, SimpleClientLogEntry } from '../src/index.js'; +import type { EchoServerLogEntry, SendFailure, SimpleClientLogEntry, WebBrowserLogEntry } from '../src/index.js'; /** Java's client and server look every 100 ms whether they are connected, or switched off; the core at once. */ export const POLL_MILLISECONDS = 100; @@ -71,3 +71,20 @@ export function clientText(entry: SimpleClientLogEntry): string { return 'Keine Verbindung hergestellt!'; } } + +const IMAGE_TYPES = new Set(['png', 'gif', 'jpg', 'bmp']); + +/** A browser's line as its window took it: a page (with its text only for 200), or "update" for an image. */ +export function browserText(entry: WebBrowserLogEntry): string | undefined { + switch (entry.kind) { + case 'page': + return `page ${entry.statusCode} ${entry.contentType ?? 'null'}${entry.statusCode === 200 ? `\n${entry.body ?? 'null'}` : ''}`; + case 'unreachable': + return 'page 0 null'; + case 'image': { + // WebBrowser.retrieveImages tells the window of an image that came, or of a status other than 200. + const isImage = entry.contentType !== undefined && IMAGE_TYPES.has(entry.contentType.toLowerCase().replace('image/', '')); + return entry.statusCode !== 200 || isImage ? 'update' : undefined; + } + } +} diff --git a/packages/core/test/routerPages.test.ts b/packages/core/test/routerPages.test.ts new file mode 100644 index 0000000..223f0e8 --- /dev/null +++ b/packages/core/test/routerPages.test.ts @@ -0,0 +1,184 @@ +// The pages of routers and home routers (apps/routerPages.ts), the firewall +// log behind them, and TCP counting Java's characters, where +// routerWebJava.test.ts's stories do not go. + +import { describe, expect, it } from 'vitest'; +import { + deviceConfiguration, + firewallConfiguration, + firewallLogPage, + firewallRule, + firewallRuleText, + forwardingTablePage, + interfaceKey, + javaTextLength, + NetworkRuntimeEngine, + topologySnapshot, + portSnapshot, + ripTablePage, + routerIndexPage, + type RouteRow, + type TopologySnapshotInput, +} from '../src/index.js'; +import { link, pc, startedEngine, uuid } from './fixtures.js'; + +const row = (fields: Partial): RouteRow => ({ + destinationNetwork: '10.0.0.0', + subnetMask: '255.255.255.0', + nextHop: '10.0.0.1', + interfaceIPAddress: '10.0.0.1', + origin: 'connected', + isEditable: false, + ...fields, +}); + +describe('the pages of a router', () => { + it('colours the forwarding table: own networks and localhost green with 0 hops, the default gateway blue, others with "?"', () => { + const page = forwardingTablePage( + [ + row({}), + row({ destinationNetwork: '127.0.0.0', subnetMask: '255.0.0.0', nextHop: '127.0.0.1', interfaceIPAddress: '127.0.0.1' }), + row({ destinationNetwork: '0.0.0.0', subnetMask: '0.0.0.0', nextHop: '10.0.0.254' }), + row({ destinationNetwork: '30.0.0.0', nextHop: '10.0.0.9' }), + ], + 'de', + ); + expect(page).toContain( + "10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 - " + + "127.0.0.0", + ); + expect(page).toContain("0.0.0.00.0.0.0 ? "); + expect(page).toContain('30.0.0.0255.255.255.0 ? '); + // A route over the loopback interface counts as local, whatever its next hop. + expect(forwardingTablePage([row({ destinationNetwork: '50.0.0.0', nextHop: '10.0.0.7', interfaceIPAddress: '127.0.0.1' })], 'de')).toContain( + "50.0.0.0255.255.255.0 0 ", + ); + expect(page).toContain('Routing-/Weiterleitungs-Tabelle'); + }); + + it('shows a RIP route in red at 16 hops, its time left in whole seconds', () => { + const page = ripTablePage( + [row({ metric: 0, hopPublicIPAddress: '10.0.0.1' }), row({ destinationNetwork: '40.0.0.0', nextHop: '10.0.0.2', metric: 16, expiresAtMilliseconds: 10_999, hopPublicIPAddress: '10.0.0.2' })], + 1_000, + 'en', + ); + expect(page).toContain("10.0.0.0255.255.255.00unlimited"); + expect(page).toContain("40.0.0.0255.255.255.016910.0.0.210.0.0.2"); + expect(page).toContain('Routing Table'); + expect(page).toContain('This table is generated and updated by the Routing Information Protocol (RIP).'); + }); + + it('writes the index pages in the project language', () => { + expect(routerIndexPage('router', 'en')).toContain('Router Administration'); + expect(routerIndexPage('gateway', 'de')).toBe( + '\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n' + + '

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n', + ); + }); + + it('names a rule as Java does: empty fields as *, "directly connected" by the first network', () => { + const first = { ipAddress: '10.0.0.1', subnetMask: '255.255.255.0' }; + expect(firewallRuleText(firewallRule({ protocol: 'all', action: 'accept' }), first)).toBe('*/* -> */*; *:* => ACCEPT'); + expect(firewallRuleText(firewallRule({ sourceIPAddress: '999.999.999.999', destinationIPAddress: '20.0.0.0', destinationSubnetMask: '255.0.0.0', protocol: 'udp', port: 53 }), first)).toBe( + '10.0.0.0/255.255.255.0 -> 20.0.0.0/255.0.0.0; UDP:53 => DROP', + ); + }); +}); + +const ROUTER = uuid(0x4001); +const LEFT = uuid(0x4002); +const RIGHT = uuid(0x4003); + +/** 10.0.0.2 — router 10.0.0.1/20.0.0.1 with a firewall — 20.0.0.2. */ +function network(changes: Partial = {}): TopologySnapshotInput { + return { + nodes: [{ id: ROUTER, kind: 'router', ports: [portSnapshot(uuid(0x4011), 'eth0'), portSnapshot(uuid(0x4012), 'eth1')] }, pc(LEFT, uuid(0x4021)), pc(RIGHT, uuid(0x4031))], + links: [link(ROUTER, uuid(0x4011), LEFT, uuid(0x4021)), link(ROUTER, uuid(0x4012), RIGHT, uuid(0x4031))], + deviceConfigurations: new Map([ + [ROUTER, deviceConfiguration('10.0.0.1', '255.255.255.0', '', '')], + [LEFT, deviceConfiguration('10.0.0.2', '255.255.255.0', '10.0.0.1', '')], + [RIGHT, deviceConfiguration('20.0.0.2', '255.255.255.0', '20.0.0.1', '')], + ]), + interfaceConfigurations: new Map([ + [interfaceKey(ROUTER, uuid(0x4011)), { ipAddress: '10.0.0.1', subnetMask: '255.255.255.0' }], + [interfaceKey(ROUTER, uuid(0x4012)), { ipAddress: '20.0.0.1', subnetMask: '255.255.255.0' }], + ]), + firewallConfigurationsByNodeId: new Map([ + [ROUTER, firewallConfiguration({ isActive: true, defaultPolicy: 'accept', rules: [firewallRule({ protocol: 'udp', port: 7, action: 'drop' })] })], + ]), + ...changes, + }; +} + +describe("a router's firewall log", () => { + it('logs a UDP rule that matched, and keeps the log over a new start, as Java does', () => { + const engine = startedEngine(network()); + const send = () => engine.sendUdp(engine.bindUdpSocket(LEFT, { remoteIPAddress: '20.0.0.2', remotePort: 7 })!, new TextEncoder().encode('x')); + send(); + engine.handle({ type: 'advance', toMilliseconds: 2_000 }); + engine.handle({ type: 'stop' }); + engine.handle({ type: 'start', snapshot: engine.state.topologySnapshot, seed: 14, initialTimeMilliseconds: 0 }); + send(); + engine.handle({ type: 'advance', toMilliseconds: 2_000 }); + expect(engine.firewallLog(ROUTER)).toHaveLength(2); + expect(firewallLogPage(engine.firewallLog(ROUTER), 'en')).toBe( + '\n\t\n\t\tLog-data set entry of the firewall\n\t\n\t\n\t\t

Log-data set entry of the firewall

\n\n' + + '
\nFirewall rule matched: #1 (*/* -> */*; UDP:7 => DROP) -> drop
\nFirewall rule matched: #1 (*/* -> */*; UDP:7 => DROP) -> drop' + + '\n\n\t\n', + ); + }); + + it('has the router switch on its web server at the start; with swiftRouters none, as in Swift', () => { + const engine = startedEngine(network()); + expect(engine.webServer(ROUTER)?.isActive).toBe(true); + expect(engine.webServer(ROUTER)?.log.all.map((line) => line.kind)).toEqual(['acceptingStarted']); + expect(engine.webServer(LEFT)).toBeUndefined(); + const swift = new NetworkRuntimeEngine(14, undefined, { swiftRouters: true }); + swift.handle({ type: 'start', snapshot: topologySnapshot(network()), seed: 14, initialTimeMilliseconds: 0 }); + expect(swift.webServer(ROUTER)).toBeUndefined(); + expect(swift.state.socketsById.size).toBe(0); + }); +}); + +describe("a RIP route's public address (hopPublicIp)", () => { + it('is the telling router\'s, also when a shorter way replaces the route', () => { + const engine = startedEngine(network({ ripEnabledByNodeId: new Map([[ROUTER, true]]), firewallConfigurationsByNodeId: new Map() })); + type Learn = (nodeId: string, message: unknown) => void; + const learn = (engine as unknown as { learnRipRoutes: Learn }).learnRipRoutes.bind(engine); + const message = (ipAddress: string, publicIPAddress: string, hops: number) => ({ + ipAddress, + publicIPAddress, + infinity: 16, + timeoutMilliseconds: 75_000, + routes: [{ network: '60.0.0.0', mask: '255.0.0.0', hops }], + }); + const route = () => engine.ripTable(ROUTER)!.find((each) => each.destinationNetwork === '60.0.0.0'); + learn(ROUTER, message('10.0.0.5', '10.0.0.5', 2)); + expect(route()).toMatchObject({ metric: 3, nextHop: '10.0.0.5', hopPublicIPAddress: '10.0.0.5' }); + learn(ROUTER, message('20.0.0.6', '30.0.0.6', 0)); + expect(route()).toMatchObject({ metric: 1, nextHop: '20.0.0.6', hopPublicIPAddress: '30.0.0.6' }); + learn(ROUTER, message('10.0.0.5', '10.0.0.5', 0)); + expect(route()).toMatchObject({ metric: 1, nextHop: '20.0.0.6', hopPublicIPAddress: '30.0.0.6' }); + }); +}); + +describe('TCP as Java counts it', () => { + it('counts characters, not bytes, and never cuts a character of two units in halves', () => { + expect(javaTextLength(new TextEncoder().encode('Grüße'))).toBe(5); + expect(javaTextLength(new Uint8Array([0xff, 0x00]))).toBe(2); + + const engine = startedEngine(network({ firewallConfigurationsByNodeId: new Map() })); + const listener = engine.openTcpServerSocket(RIGHT, 80)!; + const client = engine.openTcpClientSocket(LEFT, '20.0.0.2', 80)!; + expect(engine.connectTcpWithResult(client)).toBe('connected'); + const accepted = engine.state.tcpAcceptedSocketIdsByListenerId.get(listener)![0]!; + const text = `${'ä'.repeat(1_459)}😀${'b'.repeat(10)}`; + expect(engine.sendTcp(client, new TextEncoder().encode(text))).toBe(true); + expect(new TextDecoder().decode(engine.receiveTcp(accepted))).toBe(text); + const lengths = engine.state.packetTraces + .filter((trace) => trace.nodeId === LEFT && trace.detail?.startsWith('TCP data') === true) + .map((trace) => Number(trace.afterHeaders.find((header) => header.name === 'payloadLength')?.value)); + // 1459 two-byte characters (the emoji does not fit whole), then the emoji and the rest. + expect(lengths).toEqual([2 * 1_459, 4 + 10]); + }); +}); diff --git a/packages/core/test/routerWebJava.test.ts b/packages/core/test/routerWebJava.test.ts new file mode 100644 index 0000000..8435ee3 --- /dev/null +++ b/packages/core/test/routerWebJava.test.ts @@ -0,0 +1,185 @@ +// The pages of routers and home routers as Java FILIUS serves them. +// tools/java-oracle's RouterWebRun let a host's browser ask a router's or +// home router's web server for its index page, its routing table and its +// firewall log (routerweb-java-.java.json). The engine plays the same +// stories: each card's frames must come in the same order, with the same +// content and rows, at about the same time; the server's lines and the +// browser's pages likewise. The pages are Java's German ones. +// +// The router's server switches itself on when the simulation starts (Java +// writes so into its window): lines from before the story's first call are +// not compared. Java's router server sometimes never listens (setAktiv wakes +// its thread only when it already waits), and takes no initial sequence +// number then; the engine's always listens: sequence numbers are compared +// below the millions. The settings page (konfig) comes with F3.2c. + +import { readFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { describe, expect, it } from 'vitest'; +import type { LogLine, NetworkRuntimeEngine } from '../src/index.js'; +import { expectSameCaptures, GAP_TOLERANCE_MILLISECONDS, watchedEngine, withClientPortText, type JavaFrame, type JavaTables } from './javaRun.js'; +import { browserText, isPolled, POLL_MILLISECONDS, serverText } from './programLines.js'; +import { snapshotOf, type Scenario } from './scenario.js'; + +const scenarioDirectory = join(dirname(fileURLToPath(import.meta.url)), 'scenarios'); + +const id = (suffix: number) => `00000000-0000-0000-0000-${String(suffix).padStart(12, '0')}`; + +type Program = 'server' | 'browser'; + +interface JavaRun extends JavaTables { + frames: Record; + events: [number, string, string][]; +} + +interface Story { + readonly scenario: string; + readonly browser: string; + readonly router: string; + readonly acts: readonly [number, (engine: NetworkRuntimeEngine, browser: string) => void][]; +} + +const open = + (typed: string) => + (engine: NetworkRuntimeEngine, browser: string): void => { + engine.webBrowser(browser)!.open(typed); + }; + +const STORIES: Record = { + routerIndex: { scenario: 'router-web', browser: id(301), router: id(302), acts: [[500, open('10.0.0.1')]] }, + routerRoutes: { scenario: 'router-web', browser: id(301), router: id(302), acts: [[500, open('10.0.0.1/routes')]] }, + routerLog: { + scenario: 'router-web', + browser: id(301), + router: id(302), + acts: [ + [500, (engine, browser) => engine.sendIcmpEcho(browser, '20.0.0.2', { sequenceNumber: 1 })], + [3500, open('10.0.0.1')], + [7000, open('10.0.0.1/log')], + ], + }, + gatewayIndex: { + scenario: 'nat-home', + browser: id(501), + router: id(502), + acts: [ + [500, open('192.168.0.1')], + [4000, open('192.168.0.1/routes')], + ], + }, + gatewayFromWan: { scenario: 'nat-home', browser: id(504), router: id(502), acts: [[500, open('42.0.0.10')]] }, + ripRoutes: { scenario: 'rip-chain', browser: id(401), router: id(402), acts: [[40_000, open('10.0.1.1/routes')]] }, +}; + +/** Sequence numbers below the millions: which socket drew which initial number differs (see above). */ +const withoutInitialNumbers = (text: string) => + withClientPortText(text) + .replace(/(seq|ack)=(\d+)/g, (_, name: string, value: string) => `${name}=${Number(value) % 1_000_000}`) + .replace(/(SEQ|ACK): \d+\.(\d{3}\.\d{3})/g, '$1: n.$2'); + +/** + * Where Java errs: its run corrected, as Java means it. routerLog: the + * German log page closes its title with (sw_firewallweblog_msg1); + * the engine writes . + */ +const JAVA_BUGS: Record JavaRun> = { + routerLog: (java) => { + const fixed = (text: string | null) => text?.replace('', '') ?? null; + const rows = (byCard: Record | undefined) => + Object.fromEntries(Object.entries(byCard ?? {}).map(([card, cardRows]) => [card, cardRows.map((row) => row.map(fixed))])); + return { ...java, events: java.events.map(([time, who, text]) => [time, who, fixed(text)!]), rows: rows(java.rows), layeredRows: rows(java.layeredRows) }; + }, +}; + +/** + * ripRoutes: how long a learned route has left. Java's routers start one + * after the other and draw their beacons' pauses in another order (rip-chain + * in ripJava.test.ts: R2 sends three times at the start, not twice); a + * neighbour's beacon refreshes the route some seconds apart. Compared as a + * placeholder; the page's other cells exactly. + */ +const PAGE_PLACEHOLDERS: Record string> = { + ripRoutes: (text) => text.replace(/-?\d+<\/td>([\d.]+<\/td>validity$1'), +}; + +type Lines = Record; + +function javaLines(java: JavaRun): Lines { + const lines: Lines = { server: [], browser: [] }; + const firstCall = Math.min(...java.events.filter(([, , text]) => text.startsWith('call ')).map(([time]) => time)); + for (const [time, program, text] of java.events) { + if (program !== 'server' && program !== 'browser') continue; + if (time < firstCall || text === 'null' || text.startsWith('call ')) continue; + const page = /^page (\d+) (\S+)\n/.exec(text); + lines[program].push([time, withClientPortText(page !== null && page[1] !== '200' ? `page ${page[1]} ${page[2]}` : text)]); + } + return lines; +} + +function engineLines(engine: NetworkRuntimeEngine, story: Story, firstCall: number): Lines { + const lines = (log: readonly LogLine[], text: (entry: E) => string | undefined): [number, string][] => + log.flatMap((line) => { + const each = line.timeMilliseconds < firstCall ? undefined : text(line); + return each === undefined ? [] : [[line.timeMilliseconds, withClientPortText(each)] as [number, string]]; + }); + return { + server: lines(engine.webServer(story.router)!.log.all, serverText), + browser: lines(engine.webBrowser(story.browser)!.log.all, browserText), + }; +} + +describe('the pages of routers and home routers as Java FILIUS serves them', () => { + it('corrects Java only where it errs, and puts in placeholders only where they change something', () => { + for (const [name, correct] of Object.entries(JAVA_BUGS)) { + const java = JSON.parse(readFileSync(join(scenarioDirectory, `routerweb-java-${name}.java.json`), 'utf8')) as JavaRun; + expect(JSON.stringify(correct(java)), name).not.toBe(JSON.stringify(java)); + } + for (const [name, placeholders] of Object.entries(PAGE_PLACEHOLDERS)) { + const text = readFileSync(join(scenarioDirectory, `routerweb-java-${name}.java.json`), 'utf8'); + expect(placeholders(text), name).not.toBe(text); + } + }); + + for (const [name, story] of Object.entries(STORIES)) { + it(name, () => { + const measured = JSON.parse(readFileSync(join(scenarioDirectory, `routerweb-java-${name}.java.json`), 'utf8')) as JavaRun; + const java = JAVA_BUGS[name]?.(measured) ?? measured; + const placeholders = PAGE_PLACEHOLDERS[name] ?? ((text: string) => text); + const scenario = JSON.parse(readFileSync(join(scenarioDirectory, `${story.scenario}.scenario.json`), 'utf8')) as Scenario; + const snapshot = { ...snapshotOf(scenario), webBrowserNodeIds: new Set([story.browser]) }; + const { engine } = watchedEngine(scenario, snapshot); + for (const [time, act] of story.acts) { + engine.handle({ type: 'advance', toMilliseconds: time }); + act(engine, story.browser); + } + engine.handle({ type: 'advance', toMilliseconds: Math.max(...java.events.map(([time]) => time)) + 5_000 }); + + const firstCall = story.acts[0]![0]; + // Before the story, only what the network does by itself (RIP); compared from the first call. + expectSameCaptures(engine, scenario, java.frames, { + text: withoutInitialNumbers, + cell: (text) => placeholders(withoutInitialNumbers(text)), + tables: java, + from: firstCall, + starts: { java: 0, engine: 0 }, + }); + + const withPlaceholders = (lines: Lines): Lines => ({ + server: lines.server.map(([time, text]) => [time, placeholders(text)]), + browser: lines.browser.map(([time, text]) => [time, placeholders(text)]), + }); + const expected = withPlaceholders(javaLines(java)); + const actual = withPlaceholders(engineLines(engine, story, firstCall)); + for (const program of ['server', 'browser'] as const) { + expect(actual[program].map(([, text]) => text), `${program}'s lines`).toEqual(expected[program].map(([, text]) => text)); + for (const [index, [javaTime, text]] of expected[program].entries()) { + const late = javaTime - actual[program][index]![0]; + const most = (isPolled(text) ? POLL_MILLISECONDS : 0) + GAP_TOLERANCE_MILLISECONDS; + expect(late, `${program}'s line ${JSON.stringify(text.slice(0, 60))}`).toBeGreaterThanOrEqual(-GAP_TOLERANCE_MILLISECONDS); + expect(late, `${program}'s line ${JSON.stringify(text.slice(0, 60))}`).toBeLessThanOrEqual(most); + } + } + }); + } +}); diff --git a/packages/core/test/scenarios/router-web.scenario.json b/packages/core/test/scenarios/router-web.scenario.json new file mode 100644 index 0000000..c35cef2 --- /dev/null +++ b/packages/core/test/scenarios/router-web.scenario.json @@ -0,0 +1,126 @@ +{ + "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" + } + ] + } + } +} diff --git a/packages/core/test/scenarios/routerweb-java-gatewayFromWan.java.json b/packages/core/test/scenarios/routerweb-java-gatewayFromWan.java.json new file mode 100644 index 0000000..5b5ea0d --- /dev/null +++ b/packages/core/test/scenarios/routerweb-java-gatewayFromWan.java.json @@ -0,0 +1,1707 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000501": [], + "00000000-0000-0000-0000-000000000502": [ + { + "time": 642, + "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": 644, + "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": 872, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 874, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 1098, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1154, + "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": 52794, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 42.0.0.10\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1154, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000032 + }, + { + "time": 1210, + "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": 80, + "destinationPort": 52794, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1433, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000032, + "acknowledgement": 1000285 + }, + { + "time": 1488, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000032, + "acknowledgement": 0 + }, + { + "time": 1489, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "A", + "sequence": 1000285, + "acknowledgement": 2000033 + }, + { + "time": 1544, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "F", + "sequence": 1000285, + "acknowledgement": 0 + }, + { + "time": 1767, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000033, + "acknowledgement": 1000286 + } + ], + "00000000-0000-0000-0000-000000000502#1": [], + "00000000-0000-0000-0000-000000000504": [ + { + "time": 518, + "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": 755, + "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": 757, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 986, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 986, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1042, + "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": 52794, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 42.0.0.10\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1266, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000032 + }, + { + "time": 1321, + "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": 80, + "destinationPort": 52794, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1322, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000032, + "acknowledgement": 1000285 + }, + { + "time": 1377, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000032, + "acknowledgement": 0 + }, + { + "time": 1600, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "A", + "sequence": 1000285, + "acknowledgement": 2000033 + }, + { + "time": 1656, + "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": 80, + "destinationPort": 52794, + "payload": null, + "tcpFlags": "F", + "sequence": 1000285, + "acknowledgement": 0 + }, + { + "time": 1656, + "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": 52794, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000033, + "acknowledgement": 1000286 + } + ], + "00000000-0000-0000-0000-000000000505": [ + { + "time": 642, + "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" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000501": [], + "00000000-0000-0000-0000-000000000502": [ + [ + "1", + "02:00:00:00:05:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "42.0.0.20", + "42.0.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 42.0.0.10 [op=REQUEST, sender=02:00:00:00:05:41|42.0.0.20, target=FF:FF:FF:FF:FF:FF|42.0.0.10]" + ], + [ + "2", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "42.0.0.10", + "42.0.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:21 [op=REPLY, sender=02:00:00:00:05:21|42.0.0.10, target=02:00:00:00:05:41|42.0.0.20]" + ], + [ + "3", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "42.0.0.20:52794", + "42.0.0.10:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 42.0.0.10\n" + ], + [ + "7", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.032" + ], + [ + "8", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "42.0.0.10:80", + "42.0.0.20:52794", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.032" + ], + [ + "11", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.033" + ], + [ + "12", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.033, ACK: 1.000.286" + ] + ], + "00000000-0000-0000-0000-000000000502#1": [], + "00000000-0000-0000-0000-000000000504": [ + [ + "1", + "02:00:00:00:05:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "42.0.0.20", + "42.0.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 42.0.0.10 [op=REQUEST, sender=02:00:00:00:05:41|42.0.0.20, target=FF:FF:FF:FF:FF:FF|42.0.0.10]" + ], + [ + "2", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "42.0.0.10", + "42.0.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:21 [op=REPLY, sender=02:00:00:00:05:21|42.0.0.10, target=02:00:00:00:05:41|42.0.0.20]" + ], + [ + "3", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "42.0.0.20:52794", + "42.0.0.10:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 42.0.0.10\n" + ], + [ + "7", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.032" + ], + [ + "8", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "42.0.0.10:80", + "42.0.0.20:52794", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.032" + ], + [ + "11", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.033" + ], + [ + "12", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "42.0.0.10:80", + "42.0.0.20:52794", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "42.0.0.20:52794", + "42.0.0.10:80", + "TCP", + "Transport", + "SEQ: 2.000.033, ACK: 1.000.286" + ] + ], + "00000000-0000-0000-0000-000000000505": [ + [ + "1", + "02:00:00:00:05:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "42.0.0.20", + "42.0.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 42.0.0.10 [op=REQUEST, sender=02:00:00:00:05:41|42.0.0.20, target=FF:FF:FF:FF:FF:FF|42.0.0.10]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000501": [], + "00000000-0000-0000-0000-000000000502": [ + [ + "1", + "02:00:00:00:05:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "42.0.0.20", + "42.0.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 42.0.0.10 [op=REQUEST, sender=02:00:00:00:05:41|42.0.0.20, target=FF:FF:FF:FF:FF:FF|42.0.0.10]" + ], + [ + "2", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "42.0.0.10", + "42.0.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:21 [op=REPLY, sender=02:00:00:00:05:21|42.0.0.10, target=02:00:00:00:05:41|42.0.0.20]" + ], + [ + "3", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "52794", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "52794", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 42.0.0.10\n" + ], + [ + "7", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "52794", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.032" + ], + [ + "8", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "52794", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "52794", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.032" + ], + [ + "11", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "52794", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.033" + ], + [ + "12", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "52794", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.033, ACK: 1.000.286" + ] + ], + "00000000-0000-0000-0000-000000000502#1": [], + "00000000-0000-0000-0000-000000000504": [ + [ + "1", + "02:00:00:00:05:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "42.0.0.20", + "42.0.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 42.0.0.10 [op=REQUEST, sender=02:00:00:00:05:41|42.0.0.20, target=FF:FF:FF:FF:FF:FF|42.0.0.10]" + ], + [ + "2", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "42.0.0.10", + "42.0.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:21 [op=REPLY, sender=02:00:00:00:05:21|42.0.0.10, target=02:00:00:00:05:41|42.0.0.20]" + ], + [ + "3", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "52794", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "52794", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 42.0.0.10\n" + ], + [ + "7", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "52794", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.032" + ], + [ + "8", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "52794", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "52794", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.032" + ], + [ + "11", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "52794", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.033" + ], + [ + "12", + "02:00:00:00:05:21", + "02:00:00:00:05:41", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "42.0.0.10", + "42.0.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "52794", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:41", + "02:00:00:00:05:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "42.0.0.20", + "42.0.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "52794", + "80", + "TCP", + "Transport", + "SEQ: 2.000.033, ACK: 1.000.286" + ] + ], + "00000000-0000-0000-0000-000000000505": [ + [ + "1", + "02:00:00:00:05:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "42.0.0.20", + "42.0.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 42.0.0.10 [op=REQUEST, sender=02:00:00:00:05:41|42.0.0.20, target=FF:FF:FF:FF:FF:FF|42.0.0.10]" + ] + ] + }, + "events": [ + [ + 215, + "server", + "null" + ], + [ + 217, + "server", + "Annahme von Verbindungsanfragen gestartet" + ], + [ + 220, + "browser", + "update" + ], + [ + 501, + "browser", + "call holeWebseite 42.0.0.10" + ], + [ + 1123, + "server", + "Verbindung zu 42.0.0.20:52794 hergestellt" + ], + [ + 1154, + "server", + ">>GET / HTTP/1.1\nHost: 42.0.0.10\n" + ], + [ + 1340, + "browser", + "page 200 text/html\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n" + ], + [ + 1433, + "server", + "<\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + 1489, + "server", + "Socket zu 42.0.0.20:52794 geschlossen" + ] + ] +} diff --git a/packages/core/test/scenarios/routerweb-java-gatewayIndex.java.json b/packages/core/test/scenarios/routerweb-java-gatewayIndex.java.json new file mode 100644 index 0000000..04cd015 --- /dev/null +++ b/packages/core/test/scenarios/routerweb-java-gatewayIndex.java.json @@ -0,0 +1,3122 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000501": [ + { + "time": 519, + "source": "02:00:00:00:05:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.1" + }, + { + "time": 638, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.10" + }, + { + "time": 640, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 756, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 756, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 812, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 192.168.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 924, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000034 + }, + { + "time": 980, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 980, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000034, + "acknowledgement": 1000285 + }, + { + "time": 1036, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000034, + "acknowledgement": 0 + }, + { + "time": 1148, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "A", + "sequence": 1000285, + "acknowledgement": 2000035 + }, + { + "time": 1203, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "F", + "sequence": 1000285, + "acknowledgement": 0 + }, + { + "time": 1204, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000035, + "acknowledgement": 1000286 + }, + { + "time": 4001, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 4000000, + "acknowledgement": 0 + }, + { + "time": 4113, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "SA", + "sequence": 3000000, + "acknowledgement": 4000001 + }, + { + "time": 4113, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000001, + "acknowledgement": 3000001 + }, + { + "time": 4201, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": "GET /routes HTTP/1.1\nHost: 192.168.0.1\n", + "tcpFlags": "P", + "sequence": 4000001, + "acknowledgement": 0 + }, + { + "time": 4313, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 4000040 + }, + { + "time": 4368, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": "HTTP/1.1 404 Not Found\n", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 4368, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000040, + "acknowledgement": 3000024 + }, + { + "time": 4424, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 4000040, + "acknowledgement": 0 + }, + { + "time": 4536, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "A", + "sequence": 3000024, + "acknowledgement": 4000041 + }, + { + "time": 4591, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "F", + "sequence": 3000024, + "acknowledgement": 0 + }, + { + "time": 4591, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000041, + "acknowledgement": 3000025 + } + ], + "00000000-0000-0000-0000-000000000502": [], + "00000000-0000-0000-0000-000000000502#1": [ + { + "time": 581, + "source": "02:00:00:00:05:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.1" + }, + { + "time": 582, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.10" + }, + { + "time": 698, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 700, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 812, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 868, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 192.168.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 869, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000034 + }, + { + "time": 924, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1036, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000034, + "acknowledgement": 1000285 + }, + { + "time": 1092, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000034, + "acknowledgement": 0 + }, + { + "time": 1092, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "A", + "sequence": 1000285, + "acknowledgement": 2000035 + }, + { + "time": 1148, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 53669, + "payload": null, + "tcpFlags": "F", + "sequence": 1000285, + "acknowledgement": 0 + }, + { + "time": 1259, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 53669, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000035, + "acknowledgement": 1000286 + }, + { + "time": 4057, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 4000000, + "acknowledgement": 0 + }, + { + "time": 4057, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "SA", + "sequence": 3000000, + "acknowledgement": 4000001 + }, + { + "time": 4169, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000001, + "acknowledgement": 3000001 + }, + { + "time": 4257, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": "GET /routes HTTP/1.1\nHost: 192.168.0.1\n", + "tcpFlags": "P", + "sequence": 4000001, + "acknowledgement": 0 + }, + { + "time": 4257, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 4000040 + }, + { + "time": 4313, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": "HTTP/1.1 404 Not Found\n", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 4424, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000040, + "acknowledgement": 3000024 + }, + { + "time": 4480, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 4000040, + "acknowledgement": 0 + }, + { + "time": 4480, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "A", + "sequence": 3000024, + "acknowledgement": 4000041 + }, + { + "time": 4536, + "source": "02:00:00:00:05:22", + "destination": "02:00:00:00:05:11", + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.10", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 61216, + "payload": null, + "tcpFlags": "F", + "sequence": 3000024, + "acknowledgement": 0 + }, + { + "time": 4647, + "source": "02:00:00:00:05:11", + "destination": "02:00:00:00:05:22", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.1", + "protocol": 6, + "sourcePort": 61216, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000041, + "acknowledgement": 3000025 + } + ], + "00000000-0000-0000-0000-000000000504": [], + "00000000-0000-0000-0000-000000000505": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000501": [ + [ + "1", + "02:00:00:00:05:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.10", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.10", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]" + ], + [ + "3", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "192.168.0.10:53669", + "192.168.0.1:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "7", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.034" + ], + [ + "8", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "192.168.0.1:80", + "192.168.0.10:53669", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.034, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.034" + ], + [ + "11", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 1.000.286" + ], + [ + "14", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "15", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "16", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "17", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "17", + "192.168.0.10:61216", + "192.168.0.1:80", + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "18", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.040" + ], + [ + "19", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "19", + "192.168.0.1:80", + "192.168.0.10:61216", + "HTTP", + "Anwendung", + "HTTP/1.1 404 Not Found\n" + ], + [ + "20", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 3.000.024" + ], + [ + "21", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.040" + ], + [ + "22", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SEQ: 3.000.024, ACK: 4.000.041" + ], + [ + "23", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "FIN, SEQ: 3.000.024" + ], + [ + "24", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.041, ACK: 3.000.025" + ] + ], + "00000000-0000-0000-0000-000000000502": [], + "00000000-0000-0000-0000-000000000502#1": [ + [ + "1", + "02:00:00:00:05:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.10", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.10", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]" + ], + [ + "3", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "192.168.0.10:53669", + "192.168.0.1:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "7", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.034" + ], + [ + "8", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "192.168.0.1:80", + "192.168.0.10:53669", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.034, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.034" + ], + [ + "11", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.1:80", + "192.168.0.10:53669", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.10:53669", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 1.000.286" + ], + [ + "14", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "15", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "16", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "17", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "17", + "192.168.0.10:61216", + "192.168.0.1:80", + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "18", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.040" + ], + [ + "19", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "19", + "192.168.0.1:80", + "192.168.0.10:61216", + "HTTP", + "Anwendung", + "HTTP/1.1 404 Not Found\n" + ], + [ + "20", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 3.000.024" + ], + [ + "21", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.040" + ], + [ + "22", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "SEQ: 3.000.024, ACK: 4.000.041" + ], + [ + "23", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.1:80", + "192.168.0.10:61216", + "TCP", + "Transport", + "FIN, SEQ: 3.000.024" + ], + [ + "24", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.10:61216", + "192.168.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.041, ACK: 3.000.025" + ] + ], + "00000000-0000-0000-0000-000000000504": [], + "00000000-0000-0000-0000-000000000505": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000501": [ + [ + "1", + "02:00:00:00:05:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.10", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.10", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]" + ], + [ + "3", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "53669", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "53669", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "7", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "53669", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.034" + ], + [ + "8", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "53669", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.034, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "53669", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.034" + ], + [ + "11", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "53669", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "53669", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 1.000.286" + ], + [ + "14", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "61216", + "80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "15", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "80", + "61216", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "16", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "17", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "17", + null, + null, + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "18", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "80", + "61216", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.040" + ], + [ + "19", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "80", + "61216", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "19", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 404 Not Found\n" + ], + [ + "20", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 3.000.024" + ], + [ + "21", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "61216", + "80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.040" + ], + [ + "22", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "80", + "61216", + "TCP", + "Transport", + "SEQ: 3.000.024, ACK: 4.000.041" + ], + [ + "23", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "80", + "61216", + "TCP", + "Transport", + "FIN, SEQ: 3.000.024" + ], + [ + "24", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.041, ACK: 3.000.025" + ] + ], + "00000000-0000-0000-0000-000000000502": [], + "00000000-0000-0000-0000-000000000502#1": [ + [ + "1", + "02:00:00:00:05:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.10", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:05:11|192.168.0.10, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.10", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:05:22 [op=REPLY, sender=02:00:00:00:05:22|192.168.0.1, target=02:00:00:00:05:11|192.168.0.10]" + ], + [ + "3", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "53669", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "53669", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "7", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "53669", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.034" + ], + [ + "8", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "53669", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + "9", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.034, ACK: 1.000.285" + ], + [ + "10", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "53669", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.034" + ], + [ + "11", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "53669", + "TCP", + "Transport", + "SEQ: 1.000.285, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "53669", + "TCP", + "Transport", + "FIN, SEQ: 1.000.285" + ], + [ + "13", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "53669", + "80", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 1.000.286" + ], + [ + "14", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "61216", + "80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "15", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "80", + "61216", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "16", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "17", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "17", + null, + null, + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + "18", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "80", + "61216", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.040" + ], + [ + "19", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "80", + "61216", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "19", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 404 Not Found\n" + ], + [ + "20", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 3.000.024" + ], + [ + "21", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "61216", + "80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.040" + ], + [ + "22", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "80", + "61216", + "TCP", + "Transport", + "SEQ: 3.000.024, ACK: 4.000.041" + ], + [ + "23", + "02:00:00:00:05:22", + "02:00:00:00:05:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.1", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "80", + "61216", + "TCP", + "Transport", + "FIN, SEQ: 3.000.024" + ], + [ + "24", + "02:00:00:00:05:11", + "02:00:00:00:05:22", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.10", + "192.168.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "61216", + "80", + "TCP", + "Transport", + "SEQ: 4.000.041, ACK: 3.000.025" + ] + ], + "00000000-0000-0000-0000-000000000504": [], + "00000000-0000-0000-0000-000000000505": [] + }, + "events": [ + [ + 209, + "browser", + "update" + ], + [ + 210, + "server", + "null" + ], + [ + 211, + "server", + "Annahme von Verbindungsanfragen gestartet" + ], + [ + 500, + "browser", + "call holeWebseite 192.168.0.1" + ], + [ + 817, + "server", + "Verbindung zu 192.168.0.10:53669 hergestellt" + ], + [ + 868, + "server", + ">>GET / HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + 1001, + "browser", + "page 200 text/html\n\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n" + ], + [ + 1036, + "server", + "<\n \n Administration des Gateways\n \n \n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n \n\n" + ], + [ + 1092, + "server", + "Socket zu 192.168.0.10:53669 geschlossen" + ], + [ + 4000, + "browser", + "call holeWebseite 192.168.0.1/routes" + ], + [ + 4220, + "server", + "Verbindung zu 192.168.0.10:61216 hergestellt" + ], + [ + 4257, + "server", + ">>GET /routes HTTP/1.1\nHost: 192.168.0.1\n" + ], + [ + 4370, + "browser", + "page 404 null\nFehlerFehler" + ], + [ + 4424, + "server", + "<\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 40478, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 3000037, + "acknowledgement": 1001311 + }, + { + "time": 40534, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 3000037, + "acknowledgement": 0 + }, + { + "time": 40645, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "sourceIp": "10.0.1.1", + "destinationIp": "10.0.1.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60075, + "payload": null, + "tcpFlags": "A", + "sequence": 1001311, + "acknowledgement": 3000038 + }, + { + "time": 40701, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "sourceIp": "10.0.1.1", + "destinationIp": "10.0.1.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60075, + "payload": null, + "tcpFlags": "F", + "sequence": 1001311, + "acknowledgement": 0 + }, + { + "time": 40701, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 3000038, + "acknowledgement": 1001312 + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 1218, + "source": "02:00:00:00:04:21", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.1.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0" + }, + { + "time": 1304, + "source": "02:00:00:00:04:21", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.1.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1" + }, + { + "time": 1416, + "source": "02:00:00:00:04:21", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.1.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + }, + { + "time": 27406, + "source": "02:00:00:00:04:21", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.1.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + }, + { + "time": 40070, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.1.2", + "targetIp": "10.0.1.1" + }, + { + "time": 40071, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "10.0.1.1", + "targetIp": "10.0.1.2" + }, + { + "time": 40182, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 40183, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "sourceIp": "10.0.1.1", + "destinationIp": "10.0.1.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60075, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 3000001 + }, + { + "time": 40295, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000001 + }, + { + "time": 40366, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": "GET /routes HTTP/1.1\nHost: 10.0.1.1\n", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 40366, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "sourceIp": "10.0.1.1", + "destinationIp": "10.0.1.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60075, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 3000037 + }, + { + "time": 40422, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "sourceIp": "10.0.1.1", + "destinationIp": "10.0.1.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60075, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 40534, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 3000037, + "acknowledgement": 1001311 + }, + { + "time": 40589, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 3000037, + "acknowledgement": 0 + }, + { + "time": 40589, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "sourceIp": "10.0.1.1", + "destinationIp": "10.0.1.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60075, + "payload": null, + "tcpFlags": "A", + "sequence": 1001311, + "acknowledgement": 3000038 + }, + { + "time": 40645, + "source": "02:00:00:00:04:21", + "destination": "02:00:00:00:04:11", + "sourceIp": "10.0.1.1", + "destinationIp": "10.0.1.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60075, + "payload": null, + "tcpFlags": "F", + "sequence": 1001311, + "acknowledgement": 0 + }, + { + "time": 40756, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:21", + "sourceIp": "10.0.1.2", + "destinationIp": "10.0.1.1", + "protocol": 6, + "sourcePort": 60075, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 3000038, + "acknowledgement": 1001312 + } + ], + "00000000-0000-0000-0000-000000000402#1": [ + { + "time": 1218, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 1295, + "source": "02:00:00:00:04:31", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + }, + { + "time": 1304, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 1360, + "source": "02:00:00:00:04:31", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + }, + { + "time": 1416, + "source": "02:00:00:00:04:31", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + }, + { + "time": 1416, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 27406, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 33467, + "source": "02:00:00:00:04:31", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 1295, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 1304, + "source": "02:00:00:00:04:31", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + }, + { + "time": 1360, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 1360, + "source": "02:00:00:00:04:31", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + }, + { + "time": 1472, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 27461, + "source": "02:00:00:00:04:22", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + }, + { + "time": 33411, + "source": "02:00:00:00:04:31", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.12.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + } + ], + "00000000-0000-0000-0000-000000000403#1": [ + { + "time": 1218, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0" + }, + { + "time": 1296, + "source": "02:00:00:00:04:41", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.3", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + }, + { + "time": 1304, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + }, + { + "time": 1359, + "source": "02:00:00:00:04:41", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.3", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + }, + { + "time": 1360, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + }, + { + "time": 1416, + "source": "02:00:00:00:04:41", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.3", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + }, + { + "time": 31668, + "source": "02:00:00:00:04:41", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.3", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + }, + { + "time": 33411, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 1295, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0" + }, + { + "time": 1303, + "source": "02:00:00:00:04:41", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.3", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + }, + { + "time": 1360, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + }, + { + "time": 1361, + "source": "02:00:00:00:04:41", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.3", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + }, + { + "time": 1416, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + }, + { + "time": 31612, + "source": "02:00:00:00:04:41", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.3", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + }, + { + "time": 33467, + "source": "02:00:00:00:04:32", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.23.2", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + } + ], + "00000000-0000-0000-0000-000000000404#1": [ + { + "time": 1218, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0" + }, + { + "time": 1304, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1" + }, + { + "time": 1361, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + }, + { + "time": 31613, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 1296, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0" + }, + { + "time": 1360, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1" + }, + { + "time": 1416, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + }, + { + "time": 31668, + "source": "02:00:00:00:04:42", + "destination": "FF:FF:FF:FF:FF:FF", + "sourceIp": "10.0.3.1", + "destinationIp": "255.255.255.255", + "protocol": 17, + "sourcePort": 521, + "destinationPort": 520, + "payload": "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.1.2", + "10.0.1.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.1.1 [op=REQUEST, sender=02:00:00:00:04:11|10.0.1.2, target=FF:FF:FF:FF:FF:FF|10.0.1.1]" + ], + [ + "6", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.1.1", + "10.0.1.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:21 [op=REPLY, sender=02:00:00:00:04:21|10.0.1.1, target=02:00:00:00:04:11|10.0.1.2]" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "8", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "10", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "10", + "10.0.1.2:60075", + "10.0.1.1:80", + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.1.1\n" + ], + [ + "11", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 3.000.037" + ], + [ + "12", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "12", + "10.0.1.1:80", + "10.0.1.2:60075", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n\n" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 1.001.311" + ], + [ + "14", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "FIN, SEQ: 3.000.037" + ], + [ + "15", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SEQ: 1.001.311, ACK: 3.000.038" + ], + [ + "16", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "FIN, SEQ: 1.001.311" + ], + [ + "17", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.038, ACK: 1.001.312" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.1.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.1.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.1.2", + "10.0.1.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.1.1 [op=REQUEST, sender=02:00:00:00:04:11|10.0.1.2, target=FF:FF:FF:FF:FF:FF|10.0.1.1]" + ], + [ + "6", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.1.1", + "10.0.1.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:21 [op=REPLY, sender=02:00:00:00:04:21|10.0.1.1, target=02:00:00:00:04:11|10.0.1.2]" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "8", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "10", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "10", + "10.0.1.2:60075", + "10.0.1.1:80", + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.1.1\n" + ], + [ + "11", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 3.000.037" + ], + [ + "12", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "12", + "10.0.1.1:80", + "10.0.1.2:60075", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n\n" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 1.001.311" + ], + [ + "14", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "FIN, SEQ: 3.000.037" + ], + [ + "15", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "SEQ: 1.001.311, ACK: 3.000.038" + ], + [ + "16", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "10.0.1.1:80", + "10.0.1.2:60075", + "TCP", + "Transport", + "FIN, SEQ: 1.001.311" + ], + [ + "17", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "10.0.1.2:60075", + "10.0.1.1:80", + "TCP", + "Transport", + "SEQ: 3.000.038, ACK: 1.001.312" + ] + ], + "00000000-0000-0000-0000-000000000402#1": [ + [ + "1", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.12.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.12.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "4", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.12.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.12.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "5", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "10.0.12.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "5", + "10.0.12.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ], + [ + "6", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "6", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "7", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "8", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "8", + "10.0.12.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "8", + "10.0.12.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.12.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.12.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "4", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.12.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.12.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ], + [ + "5", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "5", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "6", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "10.0.12.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "6", + "10.0.12.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "10.0.12.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "7", + "10.0.12.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000403#1": [ + [ + "1", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.23.3:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.23.3:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "4", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.23.3:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.23.3:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "5", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "5", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "6", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "10.0.23.3:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "6", + "10.0.23.3:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "10.0.23.3:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "7", + "10.0.23.3:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "8", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "8", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "8", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.23.3:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.23.3:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "4", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.23.3:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.23.3:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "5", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "5", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "6", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "10.0.23.3:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "6", + "10.0.23.3:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "10.0.23.2:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "7", + "10.0.23.2:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000404#1": [ + [ + "1", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "1", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "2", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "10.0.3.1:521", + "255.255.255.255:520", + "UDP", + "Transport", + "" + ], + [ + "4", + "10.0.3.1:521", + "255.255.255.255:520", + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.1.2", + "10.0.1.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.1.1 [op=REQUEST, sender=02:00:00:00:04:11|10.0.1.2, target=FF:FF:FF:FF:FF:FF|10.0.1.1]" + ], + [ + "6", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.1.1", + "10.0.1.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:21 [op=REPLY, sender=02:00:00:00:04:21|10.0.1.1, target=02:00:00:00:04:11|10.0.1.2]" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "60075", + "80", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "8", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "60075", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "10", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "10", + null, + null, + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.1.1\n" + ], + [ + "11", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "60075", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 3.000.037" + ], + [ + "12", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "60075", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "12", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n\n" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 1.001.311" + ], + [ + "14", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "60075", + "80", + "TCP", + "Transport", + "FIN, SEQ: 3.000.037" + ], + [ + "15", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "80", + "60075", + "TCP", + "Transport", + "SEQ: 1.001.311, ACK: 3.000.038" + ], + [ + "16", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "80", + "60075", + "TCP", + "Transport", + "FIN, SEQ: 1.001.311" + ], + [ + "17", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.038, ACK: 1.001.312" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:21", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.1.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.1.1\n10.0.1.1\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.23.0 255.255.255.0 1\n10.0.3.0 255.255.255.0 2" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.1.2", + "10.0.1.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.1.1 [op=REQUEST, sender=02:00:00:00:04:11|10.0.1.2, target=FF:FF:FF:FF:FF:FF|10.0.1.1]" + ], + [ + "6", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.1.1", + "10.0.1.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:21 [op=REPLY, sender=02:00:00:00:04:21|10.0.1.1, target=02:00:00:00:04:11|10.0.1.2]" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "60075", + "80", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "8", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "60075", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "10", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "10", + null, + null, + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.1.1\n" + ], + [ + "11", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "60075", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 3.000.037" + ], + [ + "12", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "60075", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "12", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n\n" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 1.001.311" + ], + [ + "14", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "60075", + "80", + "TCP", + "Transport", + "FIN, SEQ: 3.000.037" + ], + [ + "15", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "80", + "60075", + "TCP", + "Transport", + "SEQ: 1.001.311, ACK: 3.000.038" + ], + [ + "16", + "02:00:00:00:04:21", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.1.1", + "10.0.1.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "80", + "60075", + "TCP", + "Transport", + "FIN, SEQ: 1.001.311" + ], + [ + "17", + "02:00:00:00:04:11", + "02:00:00:00:04:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.1.2", + "10.0.1.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "60075", + "80", + "TCP", + "Transport", + "SEQ: 3.000.038, ACK: 1.001.312" + ] + ], + "00000000-0000-0000-0000-000000000402#1": [ + [ + "1", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "4", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "5", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "5", + null, + null, + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ], + [ + "6", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "6", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "7", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "8", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "8", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "8", + null, + null, + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "4", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ], + [ + "5", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "5", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "6", + "02:00:00:00:04:22", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.12.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "6", + null, + null, + "RIP", + "Anwendung", + "10.0.12.1\n10.0.1.1\n16\n75000\n10.0.1.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:31", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.12.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "7", + null, + null, + "RIP", + "Anwendung", + "10.0.12.2\n10.0.12.2\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.3.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000403#1": [ + [ + "1", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "4", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "5", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "5", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "6", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "6", + null, + null, + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "7", + null, + null, + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "8", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "8", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "8", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "3", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "4", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "5", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "5", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "5", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ], + [ + "6", + "02:00:00:00:04:41", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.23.3", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "6", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "6", + null, + null, + "RIP", + "Anwendung", + "10.0.23.3\n10.0.23.3\n16\n75000\n10.0.3.0 255.255.255.0 0" + ], + [ + "7", + "02:00:00:00:04:32", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.23.2", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "7", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "7", + null, + null, + "RIP", + "Anwendung", + "10.0.23.2\n10.0.12.2\n16\n75000\n10.0.12.0 255.255.255.0 0\n10.0.1.0 255.255.255.0 1" + ] + ], + "00000000-0000-0000-0000-000000000404#1": [ + [ + "1", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "1", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "1", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "1", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0" + ], + [ + "2", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "2", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "2", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "2", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1" + ], + [ + "3", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "3", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ], + [ + "4", + "02:00:00:00:04:42", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.3.1", + "255.255.255.255", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 1" + ], + [ + "4", + "521", + "520", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "RIP", + "Anwendung", + "10.0.3.1\n10.0.23.3\n16\n75000\n10.0.23.0 255.255.255.0 0\n10.0.12.0 255.255.255.0 1\n10.0.1.0 255.255.255.0 2" + ] + ] + }, + "events": [ + [ + 205, + "browser", + "update" + ], + [ + 206, + "server", + "null" + ], + [ + 207, + "server", + "Annahme von Verbindungsanfragen gestartet" + ], + [ + 40000, + "browser", + "call holeWebseite 10.0.1.1/routes" + ], + [ + 40338, + "server", + "Verbindung zu 10.0.1.2:60075 hergestellt" + ], + [ + 40366, + "server", + ">>GET /routes HTTP/1.1\nHost: 10.0.1.1\n" + ], + [ + 40499, + "browser", + "page 200 text/html\n\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n" + ], + [ + 40534, + "server", + "<\n \n \nRouting-Tabelle\n \n \n \n

\nRouting-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
10.0.1.0255.255.255.00unbegrenzt10.0.1.110.0.1.1
10.0.12.0255.255.255.00unbegrenzt10.0.12.110.0.1.1
10.0.23.0255.255.255.016810.0.12.210.0.12.2
10.0.3.0255.255.255.026810.0.12.210.0.12.2
\n

\nDiese Tabelle wird durch das Routing Information Protocol (RIP) aufgebaut und aktualisiert.\n

\n \n\n" + ], + [ + 40589, + "server", + "Socket zu 10.0.1.2:60075 geschlossen" + ] + ] +} diff --git a/packages/core/test/scenarios/routerweb-java-routerIndex.java.json b/packages/core/test/scenarios/routerweb-java-routerIndex.java.json new file mode 100644 index 0000000..770f47f --- /dev/null +++ b/packages/core/test/scenarios/routerweb-java-routerIndex.java.json @@ -0,0 +1,1661 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000301": [ + { + "time": 521, + "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": 758, + "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": 760, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 989, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 990, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1045, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1269, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000031 + }, + { + "time": 1325, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1325, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000031, + "acknowledgement": 1000436 + }, + { + "time": 1381, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000031, + "acknowledgement": 0 + }, + { + "time": 1604, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "A", + "sequence": 1000436, + "acknowledgement": 2000032 + }, + { + "time": 1659, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "F", + "sequence": 1000436, + "acknowledgement": 0 + }, + { + "time": 1660, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000032, + "acknowledgement": 1000437 + } + ], + "00000000-0000-0000-0000-000000000302": [ + { + "time": 644, + "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": 646, + "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": 873, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 877, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 1101, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1157, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1157, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000031 + }, + { + "time": 1213, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1437, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000031, + "acknowledgement": 1000436 + }, + { + "time": 1492, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000031, + "acknowledgement": 0 + }, + { + "time": 1493, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "A", + "sequence": 1000436, + "acknowledgement": 2000032 + }, + { + "time": 1548, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64681, + "payload": null, + "tcpFlags": "F", + "sequence": 1000436, + "acknowledgement": 0 + }, + { + "time": 1771, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64681, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000032, + "acknowledgement": 1000437 + } + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "10.0.0.2:64681", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:64681", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "11", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "10.0.0.2:64681", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:64681", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "11", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:64681", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.2:64681", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "64681", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "64681", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "64681", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "64681", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "64681", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "11", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "64681", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "64681", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "64681", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "64681", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "64681", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "64681", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "64681", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "11", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "80", + "64681", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "64681", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "64681", + "80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "events": [ + [ + 208, + "browser", + "update" + ], + [ + 209, + "server", + "null" + ], + [ + 210, + "server", + "Annahme von Verbindungsanfragen gestartet" + ], + [ + 500, + "browser", + "call holeWebseite 10.0.0.1" + ], + [ + 1118, + "server", + "Verbindung zu 10.0.0.2:64681 hergestellt" + ], + [ + 1157, + "server", + ">>GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + 1345, + "browser", + "page 200 text/html\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n" + ], + [ + 1437, + "server", + "<\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + 1493, + "server", + "Socket zu 10.0.0.2:64681 geschlossen" + ] + ] +} diff --git a/packages/core/test/scenarios/routerweb-java-routerKonfig.java.json b/packages/core/test/scenarios/routerweb-java-routerKonfig.java.json new file mode 100644 index 0000000..8aaa8b7 --- /dev/null +++ b/packages/core/test/scenarios/routerweb-java-routerKonfig.java.json @@ -0,0 +1,2501 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000301": [ + { + "time": 521, + "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": 757, + "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": 760, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 989, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 990, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1046, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": "GET /konfig HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1269, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000037 + }, + { + "time": 1325, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n", + "tcpFlags": "", + "sequence": 1001461, + "acknowledgement": 0 + }, + { + "time": 1549, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1002921 + }, + { + "time": 1773, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": "\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Su", + "tcpFlags": "", + "sequence": 1002921, + "acknowledgement": 0 + }, + { + "time": 1773, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1004381 + }, + { + "time": 1996, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": "bnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n\n", + "tcpFlags": "P", + "sequence": 1004381, + "acknowledgement": 0 + }, + { + "time": 1997, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1005348 + }, + { + "time": 2052, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000037, + "acknowledgement": 0 + }, + { + "time": 2275, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "A", + "sequence": 1005348, + "acknowledgement": 2000038 + }, + { + "time": 2331, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "F", + "sequence": 1005348, + "acknowledgement": 0 + }, + { + "time": 2331, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000038, + "acknowledgement": 1005349 + } + ], + "00000000-0000-0000-0000-000000000302": [ + { + "time": 644, + "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": 646, + "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": 874, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 878, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 1101, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1157, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": "GET /konfig HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1158, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000037 + }, + { + "time": 1213, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n", + "tcpFlags": "", + "sequence": 1001461, + "acknowledgement": 0 + }, + { + "time": 1661, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1002921 + }, + { + "time": 1661, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": "\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Su", + "tcpFlags": "", + "sequence": 1002921, + "acknowledgement": 0 + }, + { + "time": 1885, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1004381 + }, + { + "time": 1885, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": "bnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n\n", + "tcpFlags": "P", + "sequence": 1004381, + "acknowledgement": 0 + }, + { + "time": 2108, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1005348 + }, + { + "time": 2163, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000037, + "acknowledgement": 0 + }, + { + "time": 2164, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "A", + "sequence": 1005348, + "acknowledgement": 2000038 + }, + { + "time": 2219, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 60273, + "payload": null, + "tcpFlags": "F", + "sequence": 1005348, + "acknowledgement": 0 + }, + { + "time": 2442, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 60273, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000038, + "acknowledgement": 1005349 + } + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "10.0.0.2:60273", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET /konfig HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:60273", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.002.921" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.002.921" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:60273", + "HTTP", + "Anwendung", + "\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Su" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.004.381" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.004.381" + ], + [ + "14", + "10.0.0.1:80", + "10.0.0.2:60273", + "HTTP", + "Anwendung", + "bnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n\n" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.005.348" + ], + [ + "16", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "17", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.005.348, ACK: 2.000.038" + ], + [ + "18", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "FIN, SEQ: 1.005.348" + ], + [ + "19", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.005.349" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "10.0.0.2:60273", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET /konfig HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:60273", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.002.921" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.002.921" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:60273", + "HTTP", + "Anwendung", + "\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Su" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.004.381" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.004.381" + ], + [ + "14", + "10.0.0.1:80", + "10.0.0.2:60273", + "HTTP", + "Anwendung", + "bnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n\n" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.005.348" + ], + [ + "16", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "17", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "SEQ: 1.005.348, ACK: 2.000.038" + ], + [ + "18", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "10.0.0.1:80", + "10.0.0.2:60273", + "TCP", + "Transport", + "FIN, SEQ: 1.005.348" + ], + [ + "19", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "10.0.0.2:60273", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.005.349" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "60273", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "60273", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET /konfig HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.002.921" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.002.921" + ], + [ + "12", + null, + null, + "HTTP", + "Anwendung", + "\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Su" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.004.381" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.004.381" + ], + [ + "14", + null, + null, + "HTTP", + "Anwendung", + "bnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n\n" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.005.348" + ], + [ + "16", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "60273", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "17", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.005.348, ACK: 2.000.038" + ], + [ + "18", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "80", + "60273", + "TCP", + "Transport", + "FIN, SEQ: 1.005.348" + ], + [ + "19", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.005.349" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "60273", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "60273", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET /konfig HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.002.921" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.002.921" + ], + [ + "12", + null, + null, + "HTTP", + "Anwendung", + "\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Su" + ], + [ + "13", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.004.381" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.004.381" + ], + [ + "14", + null, + null, + "HTTP", + "Anwendung", + "bnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n\n" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.005.348" + ], + [ + "16", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "60273", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "17", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "80", + "60273", + "TCP", + "Transport", + "SEQ: 1.005.348, ACK: 2.000.038" + ], + [ + "18", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "80", + "60273", + "TCP", + "Transport", + "FIN, SEQ: 1.005.348" + ], + [ + "19", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "60273", + "80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.005.349" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "events": [ + [ + 210, + "browser", + "update" + ], + [ + 211, + "server", + "null" + ], + [ + 213, + "server", + "Annahme von Verbindungsanfragen gestartet" + ], + [ + 500, + "browser", + "call holeWebseite 10.0.0.1/konfig" + ], + [ + 1119, + "server", + "Verbindung zu 10.0.0.2:60273 hergestellt" + ], + [ + 1157, + "server", + ">>GET /konfig HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + 2020, + "browser", + "page 200 text/html\n\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Subnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n" + ], + [ + 2108, + "server", + "<\n \n Konfiguration der Firewall auf dem Vermittlungsrechner\n \n\n \n\n
\n\u0009

Firewall-Konfiguration

\n \n \n\u0009 \n \n \n
\n \n \n \n \n \n \n \n \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n\u0009 \n
\n\u0009\u0009\n Firewall aktivieren
\n\u0009 Erst durch Aktivieren der Firewall werden die Firewall-Regeln angewendet. \n\u0009\u0009Bei deaktivierter Firewall findet keine Filterung statt.\n
\n\u0009\u0009\u0009 \n\u0009 ICMP-Pakete filtern
\n\u0009 Alle ICMP Pakete, z.B. Ping-Anfragen, werden von der Firewall verworfen.\n\u0009
\n\u0009\u0009\u0009\n\u0009 \n\u0009 nur SYN-Pakete verwerfen\n\u0009
\n\u0009 Neue Verbindungsanfragen zu gesperrten Ports werden verworfen.\n\u0009\u0009Der Rückkanal für erlaubte Verbindungsanfragen wird akzeptiert.\n\u0009
\n
\n\n
\n\n \n \n \n \n \n \n \n \n \n \n \n\u0009\n\u0009 \n\u0009\n \n \n \n
\n

Firewall-Regeln:


\n\u0009 Die Regeln werden von oben nach unten geprüft.
\n\u0009 Sobald eine Regel zutrifft, wird die angegebene Aktion ausgeführt.\n
\n\u0009 Falls keine Regel zutrifft, wird folgende Standard-Aktion ausgeführt:
\n\u0009 \n\u0009 \n\u0009
\n\u0009 \n \n \n\u0009\u0009\n \n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n\u0009\u0009\n \n \n\n\n\n
lfd. Nr.Quell-IPQuell-SubnetzmaskeZiel-IPZiel-SubnetzmaskeProtokollPortAktion
 110.0.0.0255.255.255.0TCP80akzeptieren
\n
\n\u0009
\n\u0009 Aktion für ausgewählte Regel:\n\u0009
\n \n \n \n
\n\n
\n\n\n \n \n \n \n \n \n \n \n\u0009\n\u0009\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Neue Regel erstellen


\n\u0009 Alle Felder sind optional und werden
-- falls leer gelassen --
für die Filterung nicht verwendet.\n
Quell-IP:
Quell-Subnetzmaske:
Ziel-IP:
Ziel-Subnetzmaske:
Protokoll: \n\u0009 \n\u0009
Port:
Aktion: \n\u0009 \n\u0009
\n \n
\n
\n
\n \n\n" + ], + [ + 2164, + "server", + "Socket zu 10.0.0.2:60273 geschlossen" + ] + ] +} diff --git a/packages/core/test/scenarios/routerweb-java-routerLog.java.json b/packages/core/test/scenarios/routerweb-java-routerLog.java.json new file mode 100644 index 0000000..3866619 --- /dev/null +++ b/packages/core/test/scenarios/routerweb-java-routerLog.java.json @@ -0,0 +1,3213 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000301": [ + { + "time": 505, + "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": 742, + "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": 746, + "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.2", + "sequence": 1 + }, + { + "time": 3516, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 3743, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 3744, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 3811, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 4038, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000031 + }, + { + "time": 4094, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 4094, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000031, + "acknowledgement": 1000436 + }, + { + "time": 4150, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000031, + "acknowledgement": 0 + }, + { + "time": 4372, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "A", + "sequence": 1000436, + "acknowledgement": 2000032 + }, + { + "time": 4428, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "F", + "sequence": 1000436, + "acknowledgement": 0 + }, + { + "time": 4428, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000032, + "acknowledgement": 1000437 + }, + { + "time": 7001, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 4000000, + "acknowledgement": 0 + }, + { + "time": 7224, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "SA", + "sequence": 3000000, + "acknowledgement": 4000001 + }, + { + "time": 7225, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000001, + "acknowledgement": 3000001 + }, + { + "time": 7302, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": "GET /log HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 4000001, + "acknowledgement": 0 + }, + { + "time": 7524, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 4000034 + }, + { + "time": 7580, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n\u0009\n\u0009\u0009Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 7580, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000034, + "acknowledgement": 3000461 + }, + { + "time": 7636, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 4000034, + "acknowledgement": 0 + }, + { + "time": 7858, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "A", + "sequence": 3000461, + "acknowledgement": 4000035 + }, + { + "time": 7914, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "F", + "sequence": 3000461, + "acknowledgement": 0 + }, + { + "time": 7914, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000035, + "acknowledgement": 3000462 + } + ], + "00000000-0000-0000-0000-000000000302": [ + { + "time": 628, + "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": 630, + "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": 861, + "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.2", + "sequence": 1 + }, + { + "time": 3629, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 3632, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 3855, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 3922, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": "GET / HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 3923, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000031 + }, + { + "time": 3979, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n<html>\n <head>\n <title>Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 4205, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000031, + "acknowledgement": 1000436 + }, + { + "time": 4261, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000031, + "acknowledgement": 0 + }, + { + "time": 4261, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "A", + "sequence": 1000436, + "acknowledgement": 2000032 + }, + { + "time": 4317, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 55413, + "payload": null, + "tcpFlags": "F", + "sequence": 1000436, + "acknowledgement": 0 + }, + { + "time": 4540, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 55413, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000032, + "acknowledgement": 1000437 + }, + { + "time": 7113, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 4000000, + "acknowledgement": 0 + }, + { + "time": 7113, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "SA", + "sequence": 3000000, + "acknowledgement": 4000001 + }, + { + "time": 7336, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000001, + "acknowledgement": 3000001 + }, + { + "time": 7413, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": "GET /log HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 4000001, + "acknowledgement": 0 + }, + { + "time": 7413, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 4000034 + }, + { + "time": 7469, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n\u0009\n\u0009\u0009Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 7691, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000034, + "acknowledgement": 3000461 + }, + { + "time": 7747, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 4000034, + "acknowledgement": 0 + }, + { + "time": 7747, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "A", + "sequence": 3000461, + "acknowledgement": 4000035 + }, + { + "time": 7803, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 64301, + "payload": null, + "tcpFlags": "F", + "sequence": 3000461, + "acknowledgement": 0 + }, + { + "time": 8025, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 64301, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 4000035, + "acknowledgement": 3000462 + } + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "20.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "5", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "7", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "7", + "10.0.0.2:55413", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "9", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "9", + "10.0.0.1:80", + "10.0.0.2:55413", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n<html>\n <head>\n <title>Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "14", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "16", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "17", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "18", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "18", + "10.0.0.2:64301", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET /log HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "19", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.034" + ], + [ + "20", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "20", + "10.0.0.1:80", + "10.0.0.2:64301", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n\u0009\n\u0009\u0009Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>" + ], + [ + "21", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.034, ACK: 3.000.461" + ], + [ + "22", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.034" + ], + [ + "23", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SEQ: 3.000.461, ACK: 4.000.035" + ], + [ + "24", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "FIN, SEQ: 3.000.461" + ], + [ + "25", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.035, ACK: 3.000.462" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "20.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "5", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "7", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "7", + "10.0.0.2:55413", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "9", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "9", + "10.0.0.1:80", + "10.0.0.2:55413", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n<html>\n <head>\n <title>Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.1:80", + "10.0.0.2:55413", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "14", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.0.2:55413", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "16", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "17", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "18", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "18", + "10.0.0.2:64301", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET /log HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "19", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.034" + ], + [ + "20", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "20", + "10.0.0.1:80", + "10.0.0.2:64301", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n\u0009\n\u0009\u0009Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>" + ], + [ + "21", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.034, ACK: 3.000.461" + ], + [ + "22", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.034" + ], + [ + "23", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "SEQ: 3.000.461, ACK: 4.000.035" + ], + [ + "24", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "10.0.0.1:80", + "10.0.0.2:64301", + "TCP", + "Transport", + "FIN, SEQ: 3.000.461" + ], + [ + "25", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "10.0.0.2:64301", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 4.000.035, ACK: 3.000.462" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "20.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "55413", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "5", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "80", + "55413", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "7", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "7", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "55413", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "9", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "80", + "55413", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "9", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n<html>\n <head>\n <title>Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "55413", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "55413", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "80", + "55413", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "14", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "64301", + "80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "16", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "80", + "64301", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "17", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "18", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "18", + null, + null, + "HTTP", + "Anwendung", + "GET /log HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "19", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "80", + "64301", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.034" + ], + [ + "20", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "80", + "64301", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "20", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n\u0009\n\u0009\u0009Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>" + ], + [ + "21", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.034, ACK: 3.000.461" + ], + [ + "22", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "64301", + "80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.034" + ], + [ + "23", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "80", + "64301", + "TCP", + "Transport", + "SEQ: 3.000.461, ACK: 4.000.035" + ], + [ + "24", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "80", + "64301", + "TCP", + "Transport", + "FIN, SEQ: 3.000.461" + ], + [ + "25", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.035, ACK: 3.000.462" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "20.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 1, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "55413", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "5", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "80", + "55413", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "7", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "7", + null, + null, + "HTTP", + "Anwendung", + "GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "55413", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.031" + ], + [ + "9", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "80", + "55413", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "9", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n<html>\n <head>\n <title>Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + "10", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.031, ACK: 1.000.436" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "55413", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.031" + ], + [ + "12", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "80", + "55413", + "TCP", + "Transport", + "SEQ: 1.000.436, ACK: 2.000.032" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "80", + "55413", + "TCP", + "Transport", + "FIN, SEQ: 1.000.436" + ], + [ + "14", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "55413", + "80", + "TCP", + "Transport", + "SEQ: 2.000.032, ACK: 1.000.437" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "64301", + "80", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "16", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "80", + "64301", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000, ACK: 4.000.001" + ], + [ + "17", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 3.000.001" + ], + [ + "18", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "18", + null, + null, + "HTTP", + "Anwendung", + "GET /log HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "19", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "80", + "64301", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 4.000.034" + ], + [ + "20", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "80", + "64301", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "20", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n\u0009\n\u0009\u0009Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>" + ], + [ + "21", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.034, ACK: 3.000.461" + ], + [ + "22", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "64301", + "80", + "TCP", + "Transport", + "FIN, SEQ: 4.000.034" + ], + [ + "23", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "80", + "64301", + "TCP", + "Transport", + "SEQ: 3.000.461, ACK: 4.000.035" + ], + [ + "24", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "80", + "64301", + "TCP", + "Transport", + "FIN, SEQ: 3.000.461" + ], + [ + "25", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "64301", + "80", + "TCP", + "Transport", + "SEQ: 4.000.035, ACK: 3.000.462" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "events": [ + [ + 212, + "browser", + "update" + ], + [ + 213, + "server", + "null" + ], + [ + 214, + "server", + "Annahme von Verbindungsanfragen gestartet" + ], + [ + 500, + "ping", + "call sendProbe 20.0.0.2" + ], + [ + 3497, + "ping", + "returned null" + ], + [ + 3500, + "browser", + "call holeWebseite 10.0.0.1" + ], + [ + 3922, + "server", + "Verbindung zu 10.0.0.2:55413 hergestellt" + ], + [ + 3923, + "server", + ">>GET / HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + 4108, + "browser", + "page 200 text/html\n<html>\n <head>\n <title>Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n" + ], + [ + 4206, + "server", + "<\n \n Administration des Vermittlungsrechners\n \n \n\n

Firewall-Administration

\n

Konfiguration

\n

Log-Einträge anzeigen

\n\n

Weiterleitung/Routing

\n

Anzeige des aktuellen Status der Weiterleitungs-/Routing-Tabelle

\n \n\n" + ], + [ + 4261, + "server", + "Socket zu 10.0.0.2:55413 geschlossen" + ], + [ + 7000, + "browser", + "call holeWebseite 10.0.0.1/log" + ], + [ + 7425, + "server", + "Verbindung zu 10.0.0.2:64301 hergestellt" + ], + [ + 7425, + "server", + ">>GET /log HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + 7581, + "browser", + "page 200 text/html\n\n\u0009\n\u0009\u0009Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>" + ], + [ + 7692, + "server", + "<<HTTP/1.1 200 OK\nContent-type: text/html\n\n<html>\n\u0009<head>\n\u0009\u0009<title>Log-Einträge der Firewall</titel>\n\u0009</head>\n\u0009<body>\n\u0009\u0009<h2>Log-Einträge der Firewall</h2>\n\n<br /> \nICMP-Paket verworfen: 10.0.0.2 -> 20.0.0.2 (code: 0, type: 8)<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren<br /> \nFirewall-Regel hat gegriffen: #1 (10.0.0.0/255.255.255.0 -> */*; TCP:80 => ACCEPT) -> akzeptieren\n\n\u0009</body>\n</html>" + ], + [ + 7747, + "server", + "Socket zu 10.0.0.2:64301 geschlossen" + ] + ] +} diff --git a/packages/core/test/scenarios/routerweb-java-routerRoutes.java.json b/packages/core/test/scenarios/routerweb-java-routerRoutes.java.json new file mode 100644 index 0000000..9e35a8a --- /dev/null +++ b/packages/core/test/scenarios/routerweb-java-routerRoutes.java.json @@ -0,0 +1,1941 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000301": [ + { + "time": 525, + "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": 761, + "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": 763, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 993, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 993, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1049, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": "GET /routes HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1272, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000037 + }, + { + "time": 1328, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n<html>\n <head>\n <title>\nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
", + "tcpFlags": "", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1328, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1001461 + }, + { + "time": 1552, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": "\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n\n", + "tcpFlags": "P", + "sequence": 1001461, + "acknowledgement": 0 + }, + { + "time": 1552, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1001601 + }, + { + "time": 1608, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000037, + "acknowledgement": 0 + }, + { + "time": 1831, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "A", + "sequence": 1001601, + "acknowledgement": 2000038 + }, + { + "time": 1887, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "F", + "sequence": 1001601, + "acknowledgement": 0 + }, + { + "time": 1887, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000038, + "acknowledgement": 1001602 + } + ], + "00000000-0000-0000-0000-000000000302": [ + { + "time": 648, + "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": 649, + "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": 877, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "S", + "sequence": 2000000, + "acknowledgement": 0 + }, + { + "time": 881, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 2000001 + }, + { + "time": 1105, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000001, + "acknowledgement": 1000001 + }, + { + "time": 1160, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": "GET /routes HTTP/1.1\nHost: 10.0.0.1\n", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1161, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "A", + "sequence": 1000001, + "acknowledgement": 2000037 + }, + { + "time": 1217, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
", + "tcpFlags": "", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1440, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1001461 + }, + { + "time": 1441, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": "\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n\n", + "tcpFlags": "P", + "sequence": 1001461, + "acknowledgement": 0 + }, + { + "time": 1664, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000037, + "acknowledgement": 1001601 + }, + { + "time": 1719, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "F", + "sequence": 2000037, + "acknowledgement": 0 + }, + { + "time": 1720, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "A", + "sequence": 1001601, + "acknowledgement": 2000038 + }, + { + "time": 1775, + "source": "02:00:00:00:03:21", + "destination": "02:00:00:00:03:11", + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "protocol": 6, + "sourcePort": 80, + "destinationPort": 58050, + "payload": null, + "tcpFlags": "F", + "sequence": 1001601, + "acknowledgement": 0 + }, + { + "time": 1998, + "source": "02:00:00:00:03:11", + "destination": "02:00:00:00:03:21", + "sourceIp": "10.0.0.2", + "destinationIp": "10.0.0.1", + "protocol": 6, + "sourcePort": 58050, + "destinationPort": 80, + "payload": null, + "tcpFlags": "A", + "sequence": 2000038, + "acknowledgement": 1001602 + } + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "10.0.0.2:58050", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:58050", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.461" + ], + [ + "10", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.001.461" + ], + [ + "10", + "10.0.0.1:80", + "10.0.0.2:58050", + "HTTP", + "Anwendung", + "\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.601" + ], + [ + "12", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.001.601, ACK: 2.000.038" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "FIN, SEQ: 1.001.601" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.001.602" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "10.0.0.2:58050", + "10.0.0.1:80", + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + "10.0.0.1:80", + "10.0.0.2:58050", + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.461" + ], + [ + "10", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.001.461" + ], + [ + "10", + "10.0.0.1:80", + "10.0.0.2:58050", + "HTTP", + "Anwendung", + "\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.601" + ], + [ + "12", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "SEQ: 1.001.601, ACK: 2.000.038" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "10.0.0.1:80", + "10.0.0.2:58050", + "TCP", + "Transport", + "FIN, SEQ: 1.001.601" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "10.0.0.2:58050", + "10.0.0.1:80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.001.602" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000301": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "58050", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "58050", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.461" + ], + [ + "10", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.001.461" + ], + [ + "10", + null, + null, + "HTTP", + "Anwendung", + "\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.601" + ], + [ + "12", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "58050", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.001.601, ACK: 2.000.038" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "80", + "58050", + "TCP", + "Transport", + "FIN, SEQ: 1.001.601" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.001.602" + ] + ], + "00000000-0000-0000-0000-000000000302": [ + [ + "1", + "02:00:00:00:03:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.1 [op=REQUEST, sender=02:00:00:00:03:11|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:03:21 [op=REPLY, sender=02:00:00:00:03:21|10.0.0.1, target=02:00:00:00:03:11|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "58050", + "80", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000" + ], + [ + "4", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "80", + "58050", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 2.000.001" + ], + [ + "5", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "HTTP", + "Anwendung", + "GET /routes HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + "7", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.000.001, ACK: 2.000.037" + ], + [ + "8", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "8", + null, + null, + "HTTP", + "Anwendung", + "HTTP/1.1 200 OK\nContent-type: text/html\n\n\n \n \nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
" + ], + [ + "9", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.461" + ], + [ + "10", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.001.461" + ], + [ + "10", + null, + null, + "HTTP", + "Anwendung", + "\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n\n" + ], + [ + "11", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.037, ACK: 1.001.601" + ], + [ + "12", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "58050", + "80", + "TCP", + "Transport", + "FIN, SEQ: 2.000.037" + ], + [ + "13", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "80", + "58050", + "TCP", + "Transport", + "SEQ: 1.001.601, ACK: 2.000.038" + ], + [ + "14", + "02:00:00:00:03:21", + "02:00:00:00:03:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "10.0.0.1", + "10.0.0.2", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "80", + "58050", + "TCP", + "Transport", + "FIN, SEQ: 1.001.601" + ], + [ + "15", + "02:00:00:00:03:11", + "02:00:00:00:03:21", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "10.0.0.2", + "10.0.0.1", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "58050", + "80", + "TCP", + "Transport", + "SEQ: 2.000.038, ACK: 1.001.602" + ] + ], + "00000000-0000-0000-0000-000000000302#1": [], + "00000000-0000-0000-0000-000000000303": [] + }, + "events": [ + [ + 211, + "browser", + "update" + ], + [ + 212, + "server", + "null" + ], + [ + 213, + "server", + "Annahme von Verbindungsanfragen gestartet" + ], + [ + 500, + "browser", + "call holeWebseite 10.0.0.1/routes" + ], + [ + 1120, + "server", + "Verbindung zu 10.0.0.2:58050 hergestellt" + ], + [ + 1161, + "server", + ">>GET /routes HTTP/1.1\nHost: 10.0.0.1\n" + ], + [ + 1576, + "browser", + "page 200 text/html\n\n \n \nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n" + ], + [ + 1664, + "server", + "<\n \n \nRouting-/Weiterleitungs-Tabelle\n \n \n \n

\nRouting-/Weiterleitungs-Tabelle\n

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
RechnernetzHopsGültigkeitNächster Hop
AdresseNetzmaske(sec)ZielÖffentliche Adresse
20.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
10.0.0.1255.255.255.255 0 unbegrenzt127.0.0.1 -
20.0.0.0255.255.255.0 0 unbegrenzt20.0.0.1 -
10.0.0.0255.255.255.0 0 unbegrenzt10.0.0.1 -
127.0.0.0255.0.0.0 0 unbegrenzt127.0.0.1 -
\n

\nDiese Tabelle wurde aus der IP-Konfiguration des Vermittlungsrechners und manuellen Einträgen erstellt.\n

\n \n\n" + ], + [ + 1720, + "server", + "Socket zu 10.0.0.2:58050 geschlossen" + ] + ] +} diff --git a/packages/core/test/webJava.test.ts b/packages/core/test/webJava.test.ts index 3af533d..d288f54 100644 --- a/packages/core/test/webJava.test.ts +++ b/packages/core/test/webJava.test.ts @@ -24,10 +24,9 @@ import { withSnapshot, type LogLine, type NetworkRuntimeEngine, - type WebBrowserLogEntry, } from '../src/index.js'; import { expectSameCaptures, watchedEngine, withClientPortText, type JavaFrame, type JavaTables, type SeenFrame } from './javaRun.js'; -import { clientText, isPolled, POLL_MILLISECONDS, serverText } from './programLines.js'; +import { browserText, clientText, isPolled, POLL_MILLISECONDS, serverText } from './programLines.js'; import { snapshotOf, type Scenario } from './scenario.js'; const scenarioDirectory = join(dirname(fileURLToPath(import.meta.url)), 'scenarios'); @@ -107,21 +106,6 @@ function fileSystemOf(files: [string, string, string][]): VirtualFileSystem { return fileSystem; } -/** A browser's line as its window took it: a page (with its text only for 200), or "update" for an image. */ -function browserText(entry: WebBrowserLogEntry): string | undefined { - switch (entry.kind) { - case 'page': - return `page ${entry.statusCode} ${entry.contentType ?? 'null'}${entry.statusCode === 200 ? `\n${entry.body ?? 'null'}` : ''}`; - case 'unreachable': - return 'page 0 null'; - case 'image': { - // WebBrowser.retrieveImages tells the window of an image that came, or of a status other than 200. - const isImage = entry.contentType !== undefined && IMAGE_TYPES.has(entry.contentType.toLowerCase().replace('image/', '')); - return entry.statusCode !== 200 || isImage ? 'update' : undefined; - } - } -} - type Lines = Record; function javaLines(java: JavaRun): Lines { diff --git a/scripts/code_language_allow.txt b/scripts/code_language_allow.txt index b5a6f98..aa5bc1a 100644 --- a/scripts/code_language_allow.txt +++ b/scripts/code_language_allow.txt @@ -76,3 +76,6 @@ packages/core/src/runtime/apps/::tcpsocket packages/core/src/runtime/apps/::senden packages/core/test/echoJava.test.ts::tcpsocket packages/core/test/programLines.ts::tcpsocket +# Java's German firewall log page closes its title with the typo ; quoted where the core names the departure. +packages/core/src/runtime/apps/routerPages.ts::titel +packages/core/test/routerWebJava.test.ts::titel diff --git a/tools/java-oracle/README.md b/tools/java-oracle/README.md index 1338622..372d3a7 100644 --- a/tools/java-oracle/README.md +++ b/tools/java-oracle/README.md @@ -617,3 +617,32 @@ Gemessen (01.10.2026): * Die Fehlerseiten macht der Browser selbst (im Messaufbau Javas Ersatztext, weil die Vorlage fehlt); der Vergleich sieht nur den Status. +## Seiten der Router und Heimrouter (F3.2b) + +`RouterWebRun` lässt den Browser eines Rechners die Seiten eines Routers +oder Heimrouters holen: auf `router-web` (`arp-routed` mit Firewall auf dem +Router: ICMP verwerfen, TCP-Port 80 aus 10.0.0.0/24 erlauben) Index, +`routes`, `log` (nach einem verworfenen Ping und zwei Verbindungen) und +`konfig`; auf `nat-home` den Index des Heimrouters von innen und von außen +und `routes` (gibt es dort nicht: 404); auf `rip-chain` nach 40 s die +RIP-Tabelle (die Router wie bei `RipRun` gesetzt). `ScenarioNetwork` baut +dafür jetzt auch Firewalls nach dem Szenario-Feld `firewalls`. + +Gemessen (01.10.2026): + +* Router und Heimrouter schalten ihren Webserver beim Start ein + (`setAktiv(true)`, Fensterzeile „Annahme … gestartet“). Ob er lauscht, ist + ein Wettlauf: `setAktiv` weckt den Thread nur, wenn er schon wartet. In + einem von drei RIP-Läufen blieb das SYN an den Router unbeantwortet; in den + NAT-Aufnahmen hat er nie gelauscht (er nahm keine Startnummer). +* Index-Seiten aus Javas Vorlagen, zeilenweise gelesen und mit `\n` + wieder zusammengesetzt (auch die Windows-Zeilenenden der deutschen). +* `log`: ein Eintrag je Regeltreffer bei TCP und UDP und je verworfenem + ICMP-Paket; die deutsche Seite schließt den Titel mit ``. +* `routes` ohne RIP: Javas Weiterleitungstabelle (eigene Adressen, Netze, + localhost, manuelle Routen, Standardgateway), grün, was direkt ist, blau das + Standardgateway; mit RIP: Hops, Gültigkeit in ganzen Sekunden, nächster Hop + und die erste Adresse des meldenden Routers. +* Java zählt TCP-Sequenznummern und Segmente in Zeichen seiner Strings: Ein + „ä“ auf der Routen-Seite ist eine Stelle, nicht zwei Bytes. + diff --git a/tools/java-oracle/run.sh b/tools/java-oracle/run.sh index a237ceb..8ded38d 100755 --- a/tools/java-oracle/run.sh +++ b/tools/java-oracle/run.sh @@ -21,7 +21,7 @@ if [ ! -f "$upstream/target/filius.jar" ]; then fi classpath="$upstream/target/filius.jar:$upstream/target/lib/*" mkdir -p "$here/.build" -javac -encoding UTF-8 -d "$here/.build" -cp "$classpath" "$here/src/FlsOracle.java" "$here/src/GetterDefaults.java" "$here/src/IpCheckCases.java" "$here/src/DnsHostsCases.java" "$here/src/EmailFileCases.java" "$here/src/BeansDump.java" "$here/src/Base64Cases.java" "$here/src/ScenarioNetwork.java" "$here/src/DhcpRun.java" "$here/src/TcpRun.java" "$here/src/DnsRun.java" "$here/src/ArpRun.java" "$here/src/RipRun.java" "$here/src/NatRun.java" "$here/src/WlanRun.java" "$here/src/ExampleRun.java" "$here/src/EchoRun.java" "$here/src/WebRun.java" +javac -encoding UTF-8 -d "$here/.build" -cp "$classpath" "$here/src/FlsOracle.java" "$here/src/GetterDefaults.java" "$here/src/IpCheckCases.java" "$here/src/DnsHostsCases.java" "$here/src/EmailFileCases.java" "$here/src/BeansDump.java" "$here/src/Base64Cases.java" "$here/src/ScenarioNetwork.java" "$here/src/DhcpRun.java" "$here/src/TcpRun.java" "$here/src/DnsRun.java" "$here/src/ArpRun.java" "$here/src/RipRun.java" "$here/src/NatRun.java" "$here/src/WlanRun.java" "$here/src/ExampleRun.java" "$here/src/EchoRun.java" "$here/src/WebRun.java" "$here/src/RouterWebRun.java" # FILIUS writes its settings below $HOME; keep them out of the real one. mkdir -p "$here/.build/home" # Removed first: a crashed run must not leave the previous result standing. @@ -219,6 +219,23 @@ for run in page:8000 byName:12000 notFound:6000 vhost:14000 noServer:14000 unres test -s "$output" done +# The pages of routers and home routers as Java FILIUS serves them +# (RouterWebRun): router-web, nat-home and rip-chain. Java's router server +# sometimes never listens (a race in setAktiv): a run without a page is +# repeated. +for run in router-web:routerIndex:6000 router-web:routerRoutes:6000 router-web:routerLog:12000 router-web:routerKonfig:6000 \ + nat-home:gatewayIndex:9000 nat-home:gatewayFromWan:15000 rip-chain:ripRoutes:46000; do + network="${run%%:*}"; rest="${run#*:}"; story="${rest%%:*}" + output="$root/packages/core/test/scenarios/routerweb-java-$story.java.json" + for attempt in 1 2 3; do + rm -f "$output" + HOME="$here/.build/home" xvfb-run -a java -cp "$classpath:$here/.build" RouterWebRun \ + "$root/packages/core/test/scenarios/$network.scenario.json" "$story" "${rest##*:}" "$output" 2>&1 | grep -v 'logback\|^$' || true + grep -q '"page 200' "$output" && break + done + test -s "$output" +done + # FILIUS' own examples as Java FILIUS runs them, opened and started as FILIUS # does (ExampleRun): the acceptance of F2 (packages/fls/test/examplesJava.test.ts). for run in internetwork_komplett:routing:12000 einfaches_rechnernetz_komplett:dhcp:20000 dns_server:dns:12000 \ diff --git a/tools/java-oracle/src/RouterWebRun.java b/tools/java-oracle/src/RouterWebRun.java new file mode 100644 index 0000000..e4025bf --- /dev/null +++ b/tools/java-oracle/src/RouterWebRun.java @@ -0,0 +1,172 @@ +// Runs a story with the web pages of FILIUS' routers and home routers: each +// starts a web server on port 80 with its own index page and the plug-ins +// log (the firewall's log), konfig (the firewall's settings) and, on a +// router, routes (VermittlungWeb: forwarding or RIP table). A host's web +// browser asks for them; recorded are every frame each card saw, the +// router's web server's window lines and everything the browser told its +// window. +// +// RouterWebRun +// +// router-web (router 10.0.0.1/20.0.0.1 with a firewall: drops ICMP, +// accepts TCP to port 80 from 10.0.0.0/24; browser on 10.0.0.2): +// routerIndex 10.0.0.1 +// routerRoutes 10.0.0.1/routes (the forwarding table) +// routerLog a ping to 20.0.0.2 (dropped), the index, then +// 10.0.0.1/log +// routerKonfig 10.0.0.1/konfig +// nat-home (home router 42.0.0.10/192.168.0.1): +// gatewayIndex from the LAN PC 192.168.0.10: 192.168.0.1, then +// 192.168.0.1/routes (no such page on a home router) +// gatewayFromWan from the WAN host 42.0.0.20: 42.0.0.10 +// rip-chain (three RIP routers, each seeded as RipRun seeds it): +// ripRoutes from 10.0.1.2, after 40 s: 10.0.1.1/routes + +import filius.hardware.knoten.Knoten; +import filius.rahmenprogramm.EingabenUeberpruefung; +import filius.software.rip.RIPBeacon; +import filius.software.system.InternetKnotenBetriebssystem; +import filius.software.system.VermittlungsrechnerBetriebssystem; +import filius.software.www.HTTPNachricht; +import filius.software.www.WebBrowser; +import filius.software.www.WebServer; + +import java.lang.reflect.Field; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Random; + +public class RouterWebRun { + static ScenarioNetwork network; + static WebBrowser browser; + static final List events = new ArrayList<>(); + + static synchronized void event(String who, String what) { + events.add(new Object[] { System.currentTimeMillis() - network.start, who, what }); + } + + static void sleepUntil(long milliseconds) throws InterruptedException { + long rest = network.start + milliseconds - System.currentTimeMillis(); + if (rest > 0) Thread.sleep(rest); + } + + static void open(String typed) throws Exception { + event("browser", "call holeWebseite " + typed); + String[] parts = typed.split("/"); + String path = ""; + for (int i = 1; i < parts.length; i++) path = path + "/" + parts[i]; + if (!EingabenUeberpruefung.isGueltig(parts[0], EingabenUeberpruefung.musterIpAdresse)) throw new IllegalArgumentException(typed); + browser.holeWebseite(new URL("http", parts[0], path.isEmpty() ? "/" : path)); + } + + static String id(int suffix) { + return String.format("00000000-0000-0000-0000-%012d", suffix); + } + + public static void main(String[] args) throws Exception { + network = ScenarioNetwork.read(args[0]); + String story = args[1]; + long end = Long.parseLong(args[2]); + String browserNode; + String routerNode; + switch (story) { + case "gatewayIndex": + browserNode = id(501); + routerNode = id(502); + break; + case "gatewayFromWan": + browserNode = id(504); + routerNode = id(502); + break; + case "ripRoutes": + browserNode = id(401); + routerNode = id(402); + break; + default: + browserNode = id(301); + routerNode = id(302); + } + InternetKnotenBetriebssystem host = network.system(browserNode); + host.installApp("filius.software.www.WebBrowser", false); + browser = (WebBrowser) host.holeSoftware("filius.software.www.WebBrowser"); + WebServer server = (WebServer) network.system(routerNode).holeSoftware("filius.software.www.WebServer"); + server.hinzuBeobachter((observable, data) -> event("server", String.valueOf(data))); + browser.hinzuBeobachter((observable, data) -> { + if (data instanceof HTTPNachricht) { + HTTPNachricht page = (HTTPNachricht) data; + event("browser", "page " + page.getStatusCode() + " " + page.getContentType() + "\n" + page.getDaten()); + } else { + event("browser", data == null ? "update" : String.valueOf(data)); + } + }); + network.start(); + if (story.equals("ripRoutes")) { + long seed = ScenarioNetwork.seed(args[0]); + Field beaconField = VermittlungsrechnerBetriebssystem.class.getDeclaredField("ripbeacon"); + beaconField.setAccessible(true); + Field randomField = RIPBeacon.class.getDeclaredField("rand"); + randomField.setAccessible(true); + for (Map.Entry entry : network.nodes.entrySet()) { + if (!(entry.getValue().getSystemSoftware() instanceof VermittlungsrechnerBetriebssystem)) continue; + VermittlungsrechnerBetriebssystem os = (VermittlungsrechnerBetriebssystem) entry.getValue().getSystemSoftware(); + if (os.isRipEnabled()) randomField.set(beaconField.get(os), new Random(RipRun.ripSeed(seed, entry.getKey()))); + } + } + sleepUntil(500); + + switch (story) { + case "routerIndex": + open("10.0.0.1"); + break; + case "routerRoutes": + open("10.0.0.1/routes"); + break; + case "routerLog": { + Thread ping = new Thread(() -> { + event("ping", "call sendProbe 20.0.0.2"); + Object answer = host.holeICMP().sendProbe("20.0.0.2", 64, 1, 1); + event("ping", "returned " + (answer == null ? "null" : "answer")); + }); + ping.start(); + sleepUntil(3500); + open("10.0.0.1"); + sleepUntil(7000); + open("10.0.0.1/log"); + break; + } + case "routerKonfig": + open("10.0.0.1/konfig"); + break; + case "gatewayIndex": + open("192.168.0.1"); + sleepUntil(4000); + open("192.168.0.1/routes"); + break; + case "gatewayFromWan": + open("42.0.0.10"); + break; + case "ripRoutes": + sleepUntil(40000); + open("10.0.1.1/routes"); + break; + default: + throw new IllegalArgumentException("unknown story " + story); + } + sleepUntil(end); + + ScenarioNetwork.Json out = new ScenarioNetwork.Json(); + out.open('{'); + network.writeFrames(out); + synchronized (RouterWebRun.class) { + out.key("events").open('['); + for (Object[] each : events) out.open('[').number((Long) each[0]).string((String) each[1]).string((String) each[2]).close(']'); + out.close(']'); + } + out.close('}'); + network.stop(); + ScenarioNetwork.write(args[3], out); + System.exit(0); + } +} diff --git a/tools/java-oracle/src/ScenarioNetwork.java b/tools/java-oracle/src/ScenarioNetwork.java index b1bef8b..7a034f4 100644 --- a/tools/java-oracle/src/ScenarioNetwork.java +++ b/tools/java-oracle/src/ScenarioNetwork.java @@ -24,6 +24,8 @@ import filius.hardware.knoten.Vermittlungsrechner; import filius.rahmenprogramm.nachrichten.Lauscher; import filius.software.dhcp.DHCPServer; import filius.software.dns.DNSServer; +import filius.software.firewall.Firewall; +import filius.software.firewall.FirewallRule; import filius.software.netzzugangsschicht.EthernetFrame; import filius.software.system.Betriebssystem; import filius.software.system.GatewayFirmware; @@ -233,6 +235,29 @@ public class ScenarioNetwork { for (Object each : list(scenario.getOrDefault("rip", new ArrayList<>()))) { ((VermittlungsrechnerBetriebssystem) system(nodes.get((String) each))).setRipEnabled(true); } + // Firewalls: the core's defaults (inactive, drop, ICMP through, SYN only, UDP filtered) and its rules. + for (Map.Entry entry : map(scenario.getOrDefault("firewalls", new HashMap<>())).entrySet()) { + Map config = map(entry.getValue()); + InternetKnotenBetriebssystem os = system(nodes.get(entry.getKey())); + Firewall firewall = os instanceof VermittlungsrechnerBetriebssystem ? ((VermittlungsrechnerBetriebssystem) os).holeFirewall() + : os instanceof GatewayFirmware ? ((GatewayFirmware) os).holeFirewall() + : (Firewall) os.holeSoftware("filius.software.firewall.Firewall"); + firewall.setActivated(Boolean.TRUE.equals(config.get("active"))); + firewall.setDefaultPolicy("accept".equals(config.get("defaultPolicy")) ? FirewallRule.ACCEPT : FirewallRule.DROP); + firewall.setDropICMP(Boolean.TRUE.equals(config.get("dropIcmp"))); + firewall.setFilterSYNSegmentsOnly(!Boolean.FALSE.equals(config.get("synOnly"))); + firewall.setFilterUdp(!Boolean.FALSE.equals(config.get("filterUdp"))); + for (Object each : list(config.getOrDefault("rules", new ArrayList<>()))) { + Map rule = map(each); + String protocol = (String) rule.getOrDefault("protocol", "tcp"); + short number = protocol.equals("all") ? FirewallRule.ALL_PROTOCOLS + : protocol.equals("icmp") ? FirewallRule.ICMP : protocol.equals("udp") ? FirewallRule.UDP : FirewallRule.TCP; + firewall.addRule(new FirewallRule((String) rule.getOrDefault("source", ""), (String) rule.getOrDefault("sourceMask", ""), + (String) rule.getOrDefault("destination", ""), (String) rule.getOrDefault("destinationMask", ""), + rule.containsKey("port") ? ((Number) rule.get("port")).intValue() : FirewallRule.ALL_PORTS, number, + "accept".equals(rule.get("action")) ? FirewallRule.ACCEPT : FirewallRule.DROP)); + } + } }