From a867c33d644558434a23a73c93df229135cf0da8 Mon Sep 17 00:00:00 2001 From: Julian Kiedaisch Date: Fri, 2 Oct 2026 10:46:18 +0000 Subject: [PATCH] feat(core): traceroute and tcpdump after Java, measured against Java TerminalRun adds nine stories: traceroute in the LAN, through the router, unreachable, without a route, to no one, to the host itself, errors and Ctrl+C; tcpdump on two hosts. traceroute counts failures across hops as Java does and takes an error that carries its probe; tcpdump tells each frame's highest capture row with its time of day, at once. Departures from Java: traceroute tells its summary before the end mark (Java after it, where its window shows no text) and calls a host at the 20th hop reached. arpsend is not built. Co-Authored-By: Claude Opus 5.5 --- CHANGES.md | 6 +- packages/core/src/runtime/apps/terminal.ts | 144 +- packages/core/src/runtime/engine.ts | 6 +- .../scenarios/terminal-java-tcpdump.java.json | 2574 ++++++++++++++++ .../terminal-java-traceErrors.java.json | 1496 ++++++++++ .../terminal-java-traceInterrupt.java.json | 1162 ++++++++ .../terminal-java-traceLan.java.json | 543 ++++ .../terminal-java-traceNoRoute.java.json | 729 +++++ .../terminal-java-traceNobody.java.json | 495 ++++ .../terminal-java-traceRouted.java.json | 1858 ++++++++++++ .../terminal-java-traceSelf.java.json | 127 + .../terminal-java-traceUnreachable.java.json | 2577 +++++++++++++++++ packages/core/test/terminalJava.test.ts | 189 +- tools/java-oracle/README.md | 27 + tools/java-oracle/run.sh | 4 +- tools/java-oracle/src/TerminalRun.java | 62 +- 16 files changed, 11983 insertions(+), 16 deletions(-) create mode 100644 packages/core/test/scenarios/terminal-java-tcpdump.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceErrors.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceInterrupt.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceLan.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceNoRoute.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceNobody.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceRouted.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceSelf.java.json create mode 100644 packages/core/test/scenarios/terminal-java-traceUnreachable.java.json diff --git a/CHANGES.md b/CHANGES.md index 0f36366..464ab1b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,7 +13,7 @@ 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.4a läuft die Befehlszeile mit (`terminal`, auf den Dateien des Knotens). Seit F3.4b nach Javas `ICMP`/`ICMPThread`, an Java-Filius gemessen: ein Echo im Programm-Thread (`icmpEchoSteps`: Warteschlange leeren, senden mit ARP-Wartezeit, eine RTT auf die erste ICMP-Nachricht warten, gleich welche), ein ICMP-Paket an den Broadcast eines eigenen Netzes geht mit TTL 1 an alle und wird von dort beantwortet, einer für ein fremdes Netz verworfen; Javas Routenwahl (`routeRow`), die ARP-Tabelle mit Javas Broadcast-Zeile (`arpTable`, `removeArpEntry`, `resetArpTable`), DNS im Programm-Thread mit Antwort- und Autoritätsteil (`resolveDnsSteps`), ein UDP-Socket weiß, dass er ohne Gegenstelle lauscht (`listening`); ein Rechner nimmt Pakete an 127.0.0.1 an. Eine ARP-Wartezeit endet wie Javas `wait` nach allem, was zur selben Zeit sonst geschieht (eine Antwort zur selben Millisekunde zählt noch). Abweichend von Java: eine Echo-Antwort kommt von der gefragten Adresse (RFC 792; Java antwortet von 127.0.0.1, wenn die eigene Adresse gefragt war, und von der nahen Karte, wenn die ferne eines Routers gefragt war), und „Netz nicht erreichbar“ vom Router trägt wie „Host nicht erreichbar“ das Paket, wie er es weitergeleitet hätte, mit Absender (Java bettet ein halb gebautes ohne Absender ein). Seit F3.3b läuft das E-Mail-Programm mit (`emailClient`), seine gesendeten und abgeholten Mails stehen im Schnappschuss (`emailClientsByNodeId`); ein Programm-Thread kann MX nachschlagen (`resolveDnsMailServerSteps`). Seit F3.3a läuft der E-Mail-Server mit (`emailServer`); was er annimmt oder löscht, steht im Schnappschuss (`emailServersByNodeId`), aus dem es zurück ins Projekt geht; die Uhrzeit für seine Benachrichtigungen kommt aus der Option `wallClock`. Seit F3.2c ändert die Seite `konfig` der Router und Heimrouter die Firewall zur Laufzeit; die Änderung steht im Schnappschuss (`firewallConfiguration`), aus dem sie zurück ins Projekt geht. 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/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.4a läuft die Befehlszeile mit (`terminal`, auf den Dateien des Knotens). Seit F3.4b nach Javas `ICMP`/`ICMPThread`, an Java-Filius gemessen: ein Echo im Programm-Thread (`icmpEchoSteps`: Warteschlange leeren, senden mit ARP-Wartezeit, eine RTT auf die erste ICMP-Nachricht warten, gleich welche), ein ICMP-Paket an den Broadcast eines eigenen Netzes geht mit TTL 1 an alle und wird von dort beantwortet, einer für ein fremdes Netz verworfen; Javas Routenwahl (`routeRow`), die ARP-Tabelle mit Javas Broadcast-Zeile (`arpTable`, `removeArpEntry`, `resetArpTable`), DNS im Programm-Thread mit Antwort- und Autoritätsteil (`resolveDnsSteps`), ein UDP-Socket weiß, dass er ohne Gegenstelle lauscht (`listening`); ein Rechner nimmt Pakete an 127.0.0.1 an. Eine ARP-Wartezeit endet wie Javas `wait` nach allem, was zur selben Zeit sonst geschieht (eine Antwort zur selben Millisekunde zählt noch). Seit F3.4c die Uhrzeit eines Frames (`wallTime`) für `tcpdump`. Abweichend von Java: eine Echo-Antwort kommt von der gefragten Adresse (RFC 792; Java antwortet von 127.0.0.1, wenn die eigene Adresse gefragt war, und von der nahen Karte, wenn die ferne eines Routers gefragt war), und „Netz nicht erreichbar“ vom Router trägt wie „Host nicht erreichbar“ das Paket, wie er es weitergeleitet hätte, mit Absender (Java bettet ein halb gebautes ohne Absender ein). Seit F3.3b läuft das E-Mail-Programm mit (`emailClient`), seine gesendeten und abgeholten Mails stehen im Schnappschuss (`emailClientsByNodeId`); ein Programm-Thread kann MX nachschlagen (`resolveDnsMailServerSteps`). Seit F3.3a läuft der E-Mail-Server mit (`emailServer`); was er annimmt oder löscht, steht im Schnappschuss (`emailServersByNodeId`), aus dem es zurück ins Projekt geht; die Uhrzeit für seine Benachrichtigungen kommt aus der Option `wallClock`. Seit F3.2c ändert die Seite `konfig` der Router und Heimrouter die Firewall zur Laufzeit; die Änderung steht im Schnappschuss (`firewallConfiguration`), aus dem sie zurück ins Projekt geht. 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; seit F3.3a kann ein Server das Gespräch einer Verbindung selbst führen (`converse`: Begrüßung, keine oder mehrere Antworten, Schließen) | @@ -25,7 +25,7 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `src/runtime/email.ts` | Java `filius.software.email.Email`, `AddressEntry`, `EmailUtils` | neu nach Java (F3.3a): Mails in Javas Textform (From, To, Cc, Subject, Date Received, Leerzeile, Text; kein Bcc), Adressen „Name “, Javas Größe einer Mail für POP3. Abweichend von Java: der Kopf endet an seiner Leerzeile, ein unbekanntes Feld wird übergangen (Java beendet dort den Kopf und liest die folgenden Felder als Text), eine Zeile ohne Feld beginnt den Text (Java verwirft sie) | | `src/runtime/apps/emailServer.ts` | Java `EmailServer`, `SMTPServer`, `SMTPMitarbeiter`, `POP3Server`, `POP3Mitarbeiter`, `EmailKonto` | neu nach Java (F3.3a): Konten einer Domain, SMTP auf Port 25 speichert Mails an eigene Konten (wie Java neu gelesen) und schickt bei unbekannten Empfängern eine Benachrichtigung an einen Absender der Domain, POP3 auf Port 110 gibt Mails ab 0 nummeriert aus; beide zusammen ein- und ausgeschaltet, POP3 zuerst; SMTP-Antworten in der Sprache des Projekts; Fensterzeilen wie Java. An Java-Filius gemessen (`EmailRun`, `MailCases`). Abweichend von Java: nach einer Mail ist der Umschlag neu (Java antwortet dem nächsten Befehl 503 und behält Absender, Empfänger und Text); ein Befehl, den der Zustand nicht nimmt, bekommt 503 (Java schweigt), HELO beginnt neu; in DATA ist alles Text, auch `quit`; die Domain gilt in jeder Schreibweise; ein Empfänger ohne `@` ist unbekannt, ein leerer Absender bekommt keine Benachrichtigung (Java wirft), eine Benachrichtigung an eine Mail ohne From geht an den Absender des Umschlags (Java: `To: null`); POP3: eine Mail lässt sich mehrmals abrufen, eine fehlende Mail, `LIST` ohne Mails und falsche Argumente geben `-ERR` (Java: leere Mail, leere Antwort, Abbruch), `LIST n` listet die eine Mail, Nummern bleiben nach `DELE` (Javas `LIST` zählt neu), vor der Anmeldung `-ERR unknown command`, `QUIT` immer `+OK`. Seit F3.3b leitet der Server Mails an fremde Domains per MX weiter (in seinem eigenen Thread, je Weiterleitung ein neuer SMTP-Client) und schickt eine Benachrichtigung an einen fremden Absender mit leerem Absender an dessen Domain. Noch nicht: die Kontodatei `/mailserver/konten.txt` zur Laufzeit | | `src/runtime/apps/emailClient.ts` | Java `EmailAnwendung`, `SMTPClient`, `POP3Client`, das Senden aus `GUIApplicationEmailAnwendungWindow` | neu nach Java (F3.3b): das E-Mail-Programm sendet eine Mail an den SMTP-Server seines Kontos, eine Verbindung je Empfänger (An, Cc, Bcc), und holt die Mails seines Kontos vom POP3-Server (jede abgerufen, dann gelöscht); die Prüfungen des Fensters (kein Konto, Adresse, die Javas Muster nicht nimmt, kein Empfänger); Meldungen wie Javas Beobachter (Verbindung, versendet, getrennt, Ausnahmen); der SMTP-Client dient auch dem Server zum Weiterleiten. An Java-Filius gemessen (`EmailClientRun`). Abweichend von Java: der SMTP-Port des Kontos gilt (Java verbindet immer zu 25); drei SYN statt einem | -| `src/runtime/apps/terminal.ts`, `src/runtime/apps/terminalTexts.ts` | Java `filius.software.lokal.Terminal`, die Eingabe aus `GUIApplicationTerminalWindow`, die Texte `sw_terminal_*` und `terminal_msg*` des Bündels | neu nach Java (F3.4a): die Befehlszeile mit Javas Zerlegung der Eingabe, Verteilung nach dem Befehlsnamen und den lokalen Befehlen `ls`/`dir`, `cd`, `pwd`, `mkdir`, `touch`, `cp`/`copy`, `mv`/`move`, `rm`/`del`, `cat`/`type`, `test`, `help`, `ipconfig`, `route`; Texte in der Sprache des Projekts, aus dem von Java geladenen Bündel erzeugt. An Java-Filius gemessen (`TerminalCases`). Abweichend von Java: die Größe einer Textdatei sind ihre Zeichen (Java dekodiert Base64); ein fehlender Ordner ist für `ls` „nicht vorhanden“, `ls /` nennt die Wurzel; `cd` auf eine Datei, `touch`/`mkdir` in fehlenden Ordnern und `cp` auf einen Ordnernamen scheitern; `..` bleibt an der Wurzel; `rm` und `mv` nehmen absolute Pfade absolut, die Wurzel ist nicht löschbar, nach dem Löschen des Arbeitsordners gilt der nächste verbliebene darüber; `mv` auf die Datei selbst benennt sie um. Seit F3.4b die Netzbefehle `ping` (Strg+C über `interrupt`), `host`, `nslookup`, `arp` und `netstat`, mit Javas Laufmarken; ein unbekannter Befehl wird wie bei Java sofort gemeldet, auch während ein anderer läuft; an Java-Filius gemessen (`TerminalRun`). Abweichend von Java: `ping` nennt den Host, wo Java seinen ersten Parameter nennt (`-b` in der Statistik), und nimmt vor dem Host nur `-b` (Java nimmt jedes Wort und pingt einen Broadcast); `arp` und `netstat` listen in der Reihenfolge des Lernens bzw. Anlegens (Java: Reihenfolge einer `HashMap`); `netstat` zeigt von einem UDP-Server nur den lauschenden Socket (Java auch einen für jede je beantwortete Adresse, nie geschlossen) | +| `src/runtime/apps/terminal.ts`, `src/runtime/apps/terminalTexts.ts` | Java `filius.software.lokal.Terminal`, die Eingabe aus `GUIApplicationTerminalWindow`, die Texte `sw_terminal_*` und `terminal_msg*` des Bündels | neu nach Java (F3.4a): die Befehlszeile mit Javas Zerlegung der Eingabe, Verteilung nach dem Befehlsnamen und den lokalen Befehlen `ls`/`dir`, `cd`, `pwd`, `mkdir`, `touch`, `cp`/`copy`, `mv`/`move`, `rm`/`del`, `cat`/`type`, `test`, `help`, `ipconfig`, `route`; Texte in der Sprache des Projekts, aus dem von Java geladenen Bündel erzeugt. An Java-Filius gemessen (`TerminalCases`). Abweichend von Java: die Größe einer Textdatei sind ihre Zeichen (Java dekodiert Base64); ein fehlender Ordner ist für `ls` „nicht vorhanden“, `ls /` nennt die Wurzel; `cd` auf eine Datei, `touch`/`mkdir` in fehlenden Ordnern und `cp` auf einen Ordnernamen scheitern; `..` bleibt an der Wurzel; `rm` und `mv` nehmen absolute Pfade absolut, die Wurzel ist nicht löschbar, nach dem Löschen des Arbeitsordners gilt der nächste verbliebene darüber; `mv` auf die Datei selbst benennt sie um. Seit F3.4b die Netzbefehle `ping` (Strg+C über `interrupt`), `host`, `nslookup`, `arp` und `netstat`, mit Javas Laufmarken; ein unbekannter Befehl wird wie bei Java sofort gemeldet, auch während ein anderer läuft; seit F3.4c `traceroute` und `tcpdump` (`arpsend` nicht gebaut, der Befehl ist unbekannt); an Java-Filius gemessen (`TerminalRun`). Abweichend von Java: `ping` nennt den Host, wo Java seinen ersten Parameter nennt (`-b` in der Statistik), und nimmt vor dem Host nur `-b` (Java nimmt jedes Wort und pingt einen Broadcast); `arp` und `netstat` listen in der Reihenfolge des Lernens bzw. Anlegens (Java: Reihenfolge einer `HashMap`); `netstat` zeigt von einem UDP-Server nur den lauschenden Socket (Java auch einen für jede je beantwortete Adresse, nie geschlossen); `traceroute` sagt sein Fazit vor der Endmarke (Java danach, wo sein Fenster keinen Text mehr zeigt) und nennt ein Ziel beim 20. Sprung erreicht (Java: nicht erreicht); `tcpdump` meldet jeden Frame sofort (Java schaut alle 100 ms) | | `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) | | `src/runtime/dns.ts` | Java `filius.software.dns.DNSNachricht`, `Query`, `ResourceRecord` | neu nach Java statt nach Swift (Swift ersetzt Javas Textnachrichten durch `FILIUS-DNS-TYPED/1`): Kopfzeile `ID=… QR=… RCODE=… QDCOUNT=… …`, Frage- und Eintragszeilen, Suche nach Namen ohne Rücksicht auf Groß- und Kleinschreibung, NS der längsten Zone, sonst der Wurzel | | `src/runtime/ipv4.ts` | Engine `parseIPv4`/`sameSubnet` | übertragen | @@ -59,7 +59,7 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `test/emailClientJava.test.ts`, `test/scenarios/email-client-java-*.java.json` | — | neu (F3.3b): sechs Abläufe mit dem E-Mail-Programm und zwei Servern gegen Java-Filius (`EmailClientRun`): senden mit Weiterleitung, abholen, Server per Name und Benachrichtigungen von beiden Servern, falsches Passwort, kein Server, unbekannter Servername; je Karte Frames, Zeiten, Tabellen, die Meldungen von Programm und Servern, Posteingang, Gesendete und Konten am Ende; Javas 100-ms-Blick kostet je Verbindung (und je DNS-Antwort, auf die es so wartet) eine Periode Toleranz; ein benannter Java-Fehler (nur ein SYN); bei `byName` die Startnummern ohne die Million (Thread-Wettlauf in Java) | | `test/emailClient.test.ts` | — | neu (F3.3b): was das Fenster ablehnt, Bcc, der SMTP-Port des Kontos, eine ungültige Kontoadresse, eine Verbindung, die beim Warten endet, eine Mail ohne Absender aus dem Modell, die Ordner im Schnappschuss | | `test/terminal.test.ts`, `test/terminal.cases.txt`, `test/terminal.{de,en}.java.json` | — | neu (F3.4a): 16 Fälle der Befehlszeile gegen Java-Filius (`TerminalCases`), je Zeile die Handlung des Fensters, was das Programm sagt, Arbeitsordner und alle Dateien, Deutsch und Englisch; Javas Größe von Textdateien überall als Java-Fehler korrigiert, dazu acht Fälle mit benannten Java-Fehlern (`JAVA_BUGS`); ein Bild bleibt beim Kopieren ein Bild; jeder Text der Tabelle ist wörtlich Javas | -| `test/terminalJava.test.ts`, `test/scenarios/terminal-net.scenario.json`, `test/scenarios/terminal-java-*.java.json` | — | neu (F3.4b): zwölf Abläufe der Netzbefehle gegen Java-Filius (`TerminalRun`) auf einem LAN mit DNS-Server, Router und Rechner dahinter: `ping` im LAN, über den Router, ins Leere, hinter dem Router unerreichbar, ohne Route am Router, Broadcast, eigene Adresse, Fehler, Strg+C; `host` und `nslookup`, auch ohne erreichbaren DNS-Server; `arp`; `netstat` mit TCP-Verbindung und DNS-Server; je Karte die Frames samt Javas Tabellen, je Rechner Texte und Laufmarken mit Zeit; benannte Java-Fehler (`JAVA_BUGS`); die Reihenfolge der Antworten auf einen Broadcast ist ein Wettlauf von Javas Threads (je Sekunde als Menge verglichen); ein Wächter verwirft Aufnahmen, in denen Java sein Aufwecken verpasst hat; dazu neun Einzelfälle (Strg+C vor dem Start, fremde Echo-Antworten, gerundeter Verlust, Broadcast bei anderer Maske, zufälliger Identifier und sein Weiterzählen, gleich lange Routen) | +| `test/terminalJava.test.ts`, `test/scenarios/terminal-net.scenario.json`, `test/scenarios/terminal-java-*.java.json` | — | neu (F3.4b): zwölf Abläufe der Netzbefehle gegen Java-Filius (`TerminalRun`) auf einem LAN mit DNS-Server, Router und Rechner dahinter: `ping` im LAN, über den Router, ins Leere, hinter dem Router unerreichbar, ohne Route am Router, Broadcast, eigene Adresse, Fehler, Strg+C; `host` und `nslookup`, auch ohne erreichbaren DNS-Server; `arp`; `netstat` mit TCP-Verbindung und DNS-Server; je Karte die Frames samt Javas Tabellen, je Rechner Texte und Laufmarken mit Zeit; benannte Java-Fehler (`JAVA_BUGS`); die Reihenfolge der Antworten auf einen Broadcast ist ein Wettlauf von Javas Threads (je Sekunde als Menge verglichen); seit F3.4c neun Abläufe mit `traceroute` (LAN, über den Router, unerreichbar, ohne Route, ins Leere, eigene Adresse, Fehler, Strg+C) und `tcpdump` auf zwei Rechnern; ein Wächter verwirft Aufnahmen, in denen Java sein Aufwecken verpasst hat; dazu zehn Einzelfälle (traceroute über 20 Sprünge, Strg+C vor dem Start, fremde Echo-Antworten, gerundeter Verlust, Broadcast bei anderer Maske, zufälliger Identifier und sein Weiterzählen, gleich lange Routen) | | `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) | | `test/wlanJava.test.ts`, `test/scenarios/wlan-lan.scenario.json`, `test/scenarios/wlan-java-*.java.json` | — | neu: vier Pings gegen Java-Filius (`WlanRun`): über Funkkabel, über ein Kabel und an ein Notebook mit der SSID des Switches, aber ohne Kabel (ARP scheitert in Java wie im Kern); Frames, Abstände, Ergebnis und Dauer | diff --git a/packages/core/src/runtime/apps/terminal.ts b/packages/core/src/runtime/apps/terminal.ts index ad01cc6..d89f6f9 100644 --- a/packages/core/src/runtime/apps/terminal.ts +++ b/packages/core/src/runtime/apps/terminal.ts @@ -2,7 +2,7 @@ // handling of GUIApplicationTerminalWindow): a line's first word is the // command, the others its parameters; the program tells its window texts, // in the project's language, as Java writes them, and marks a command that -// runs on (ping, host, nslookup) busy and done. The files are the node's +// runs on (ping, host, nslookup, traceroute, tcpdump) busy and done. The files are the node's // (the snapshot's file system, the same the project keeps); the network // commands ask the engine (ARP table, sockets, DNS, ICMP echo). // @@ -13,7 +13,12 @@ // - arp and netstat list their rows in the order learned or made (Java: a // HashMap's order); netstat lists a UDP server's listening socket only // (Java also a socket for each address and port it ever answered, never -// closed). +// closed); +// - traceroute tells its summary before the end mark (Java after it, where +// its window shows no more text), and a host reached at the 20th hop is +// reached (Java: not reached); +// - tcpdump tells each frame at once (Java looks every 100 ms). +// arpsend is not built: the command is unknown here. // // Departures from Java on the files (terminal.test.ts names each): // - a text file's size is its length in characters (Java decodes the text as @@ -37,9 +42,10 @@ import type { Id } from '../../ids.js'; import type { VirtualFileContent, VirtualFileSystem } from '../../model/virtualFileSystem.js'; import { entryName, parentPath } from '../../model/virtualFileSystem.js'; import { javaIpCheck } from '../../util/javaIp.js'; -import { isBroadcastFrom, type NetworkRuntimeEngine, type SocketRecord } from '../engine.js'; +import { captureCommentText, captureRows, ICMP_TYPE_CODE, type CaptureCommentWords } from '../captureRows.js'; +import { isBroadcastFrom, type IcmpObservation, type NetworkRuntimeEngine, type SocketRecord } from '../engine.js'; import { javaTrim } from '../http.js'; -import { pause, type Steps } from '../threads.js'; +import { pause, waitUntil, type Steps } from '../threads.js'; import { javaBase64 } from '../../util/javaBase64.js'; import { CommandThread, ProgramLog } from './program.js'; import type { PageLanguage } from './routerPages.js'; @@ -122,11 +128,39 @@ const COMMANDS = new Set([ 'pwd', 'rm', 'route', + 'tcpdump', 'test', 'touch', + 'traceroute', 'type', ]); +/** Terminal.traceroute: at most this many hops. */ +const TRACEROUTE_MAXIMUM_HOPS = 20; + +/** Terminal.traceroute: the first probe's number less one (42 * 23). */ +const TRACEROUTE_FIRST_SEQUENCE_NUMBER = 42 * 23; + +/** Lauscher's words for the capture's comments (rp_lauscher_msg12–14), and its numbers: the locale's grouping. */ +const CAPTURE_WORDS: Record = { + de: { protocol: 'Protokoll', searchForMac: 'Suche nach MAC f\u00fcr', macIs: 'MAC ist' }, + en: { protocol: 'Protocol', searchForMac: 'Search for MAC', macIs: 'MAC is' }, +}; +const CAPTURE_GROUPING: Record = { de: '.', en: ',' }; + +/** Lauscher.formatTimestamp: the time of day, HH:mm:ss.SSS. */ +function timeOfDay(milliseconds: number): string { + const time = new Date(milliseconds); + const two = (value: number) => String(value).padStart(2, '0'); + return `${two(time.getHours())}:${two(time.getMinutes())}:${two(time.getSeconds())}.${String(time.getMilliseconds()).padStart(3, '0')}`; +} + +/** String.format with %s only: each in turn takes the next value. */ +function formatted(template: string, ...values: readonly (string | number)[]): string { + let index = 0; + return template.replace(/%s/g, () => String(values[index++])); +} + /** Information.getPingRepeat: the echoes a ping sends. */ const PING_REPEAT = 4; @@ -200,6 +234,7 @@ export class Terminal { /** The window's Ctrl+C (Terminal.setInterrupt). */ interrupt(): void { this.interrupted = true; + this.engine.resumeThreads(); } private tell(text: string): void { @@ -236,6 +271,8 @@ export class Terminal { host: (each) => this.host(each), nslookup: (each) => this.nslookup(each), ping: (each) => this.ping(each), + tcpdump: () => this.tcpdump(), + traceroute: (each) => this.traceroute(each), }; if (Object.hasOwn(network, command)) { yield* network[command]!(parameters); @@ -586,4 +623,103 @@ export class Terminal { } this.tell(text); } + + /** + * Terminal.traceroute: echo requests with TTL 1, 2, … (three tries a hop), + * each waiting for the first ICMP message back; a hop answers with time + * exceeded, the host with its echo reply, a router that cannot go on with + * unreachable. The summary comes before the end mark (Java's after it, + * where its window no longer shows text). + */ + private *traceroute(parameters: readonly string[]): Steps { + if (parameters.length !== 1) return this.usage('traceroute'); + const target = parameters[0]!; + let address = javaIpCheck(target) ?? undefined; + if (address === undefined) { + const resolution = yield* this.engine.resolveDnsAddressSteps(this.nodeId, target); + if (resolution.type === 'timedOut') return this.tell(this.text('sw_terminal_trace_msg2')); + address = resolution.address; + } + if (address === undefined) return this.tell(this.text('sw_terminal_trace_msg3')); + + this.busy(true); + this.tell( + address === target + ? `${formatted(this.text('sw_terminal_trace_msg4'), target, TRACEROUTE_MAXIMUM_HOPS)}\n` + : `${formatted(this.text('sw_terminal_trace_msg5'), target, address, TRACEROUTE_MAXIMUM_HOPS)}\n`, + ); + const identifier = this.nextIdentifier(); + let sequenceNumber = TRACEROUTE_FIRST_SEQUENCE_NUMBER; + let failures = 0; + let response: IcmpObservation | undefined; + let hops = 1; + // An answer to the probe: its echo reply, or an error that carries it (Java asks the error for identifier and + // number 0 too, which every error has, RFC 792). + const answers = (observation: IcmpObservation | undefined) => { + const message = observation?.message; + if (message === undefined) return false; + if (message.sequenceNumber === sequenceNumber && message.identifier === identifier) return true; + const carried = message.embeddedOriginalPacket?.payload; + return carried?.kind === 'icmp' && carried.message.sequenceNumber === sequenceNumber && carried.message.identifier === identifier; + }; + for (; hops <= TRACEROUTE_MAXIMUM_HOPS && !this.interrupted; hops += 1) { + this.tell(` ${hops} `); + for (let attempt = 0; attempt < 3 && !this.interrupted; attempt += 1) { + sequenceNumber += 1; + response = yield* this.engine.icmpEchoSteps(this.nodeId, address, { identifier, sequenceNumber, timeToLive: hops }); + if (answers(response)) { + failures = 0; + break; + } + failures += 1; + this.tell('* '); + } + if (failures === 0) { + this.tell(response!.packet.senderIPAddress); + if (response!.message.kind !== 'timeExceeded') break; + } else if (failures > 5) { + break; + } + this.tell('\n'); + } + + const [type, code] = response === undefined ? [undefined, undefined] : ICMP_TYPE_CODE[response.message.kind]; + let summary: string; + if (hops > TRACEROUTE_MAXIMUM_HOPS) summary = formatted(this.text('sw_terminal_trace_msg6'), target, TRACEROUTE_MAXIMUM_HOPS); + else if (this.interrupted) summary = this.text('sw_terminal_trace_msg7'); + else if (type === 3) + summary = formatted(this.text(code === 0 ? 'sw_terminal_trace_msg8' : code === 1 ? 'sw_terminal_trace_msg9' : 'sw_terminal_trace_msg10'), response!.packet.senderIPAddress); + else if (failures === 0) summary = hops === 1 ? formatted(this.text('sw_terminal_trace_msg11'), target) : formatted(this.text('sw_terminal_trace_msg12'), target, hops); + else summary = this.text('sw_terminal_trace_msg13'); + this.tell(`\n\n${summary}`); + this.busy(false); + } + + /** + * Terminal.tcpdump: each frame the node's first card logs from now on, as + * the capture's highest row (time, protocol, source > destination, + * comment), until Ctrl+C. Each frame at once (Java looks every 100 ms). + */ + private *tcpdump(): Steps { + this.busy(true); + this.tell(this.text('sw_terminal_msg55')); + const card = this.engine.networkInterfaces(this.nodeId)[0]; + const frames = () => (card === undefined ? [] : this.engine.capture.frames(card.portId)); + const start = this.engine.state.currentTimeMilliseconds; + let shown = frames().findLast((frame) => frame.timeMilliseconds < start)?.number ?? 0; + const grouping = CAPTURE_GROUPING[this.language]; + const number = (value: number) => String(value).replace(/\B(?=(\d{3})+(?!\d))/g, grouping); + while (!this.interrupted) { + yield* waitUntil(() => this.interrupted || (frames().at(-1)?.number ?? 0) > shown || this.engine.state.phase !== 'running'); + if (this.engine.state.phase !== 'running') return; + for (const frame of frames().filter((each) => each.number > shown)) { + const row = captureRows([frame], { withAddresses: true }).at(-1)!; + const time = timeOfDay(this.engine.wallTime(frame.timeMilliseconds)); + const text = `${time} ${row.protocol} ${row.source} > ${row.destination} ${captureCommentText(row.comment, CAPTURE_WORDS[this.language], number)}`; + this.tell(`\n ${javaTrim(text).replaceAll('\n', ' ')}`); + shown = frame.number; + } + } + this.busy(false); + } } diff --git a/packages/core/src/runtime/engine.ts b/packages/core/src/runtime/engine.ts index 19ecad8..6a39318 100644 --- a/packages/core/src/runtime/engine.ts +++ b/packages/core/src/runtime/engine.ts @@ -4203,7 +4203,6 @@ export class NetworkRuntimeEngine { this.sendEthernetFrame(nodeId, networkInterface.portId, frame); } - private earliestDeadline(filter: (kind: ScheduledEventKind) => boolean): number | undefined { let earliest: number | undefined; for (const event of this.stateValue.pendingEvents) { @@ -4714,6 +4713,11 @@ export class NetworkRuntimeEngine { return result; } + /** The time of day (wallClock) when the simulation was at `milliseconds`, counted back from now. */ + wallTime(milliseconds: number): number { + return this.wallClock() - (this.stateValue.currentTimeMilliseconds - milliseconds); + } + /** The first ICMP identifier of a command line (Terminal.setIdentifier: new Random().nextInt(43) * 23). */ drawIcmpIdentifier(): number { return this.icmpIdentifierRandom.nextInt(43) * 23; diff --git a/packages/core/test/scenarios/terminal-java-tcpdump.java.json b/packages/core/test/scenarios/terminal-java-tcpdump.java.json new file mode 100644 index 0000000..9f22533 --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-tcpdump.java.json @@ -0,0 +1,2574 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 1003, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + }, + { + "time": 1240, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.31", + "targetIp": "192.168.0.20" + }, + { + "time": 1244, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 1 + }, + { + "time": 1469, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 1 + }, + { + "time": 2003, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 2 + }, + { + "time": 2226, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 2 + }, + { + "time": 3003, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 3 + }, + { + "time": 3226, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 3 + }, + { + "time": 4003, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 4 + }, + { + "time": 4226, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 4 + }, + { + "time": 5506, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 5728, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.20" + }, + { + "time": 5730, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 49379, + "destinationPort": 53, + "payload": "ID=30470 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + }, + { + "time": 5958, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 49379, + "payload": "ID=30470 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A 3600 192.168.0.30\n" + }, + { + "time": 5959, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 56898, + "destinationPort": 53, + "payload": "ID=44276 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. MX IN\n" + }, + { + "time": 6183, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 56898, + "payload": "ID=44276 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + }, + { + "time": 6507, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "protocol": 6, + "sourcePort": 61489, + "destinationPort": 55555, + "payload": null, + "tcpFlags": "S", + "sequence": 4000000, + "acknowledgement": 0 + }, + { + "time": 6730, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 55555, + "destinationPort": 61489, + "payload": null, + "tcpFlags": "SA", + "sequence": 2000000, + "acknowledgement": 4000001 + }, + { + "time": 6731, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "protocol": 6, + "sourcePort": 61489, + "destinationPort": 55555, + "payload": null, + "tcpFlags": "A", + "sequence": 4000001, + "acknowledgement": 2000001 + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 1126, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + }, + { + "time": 5617, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 5617, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.20" + }, + { + "time": 5842, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 49379, + "destinationPort": 53, + "payload": "ID=30470 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + }, + { + "time": 5846, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 49379, + "payload": "ID=30470 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A 3600 192.168.0.30\n" + }, + { + "time": 6070, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 56898, + "destinationPort": 53, + "payload": "ID=44276 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. MX IN\n" + }, + { + "time": 6072, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 56898, + "payload": "ID=44276 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 1126, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + }, + { + "time": 5617, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 1126, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + }, + { + "time": 1129, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.31", + "targetIp": "192.168.0.20" + }, + { + "time": 1358, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 1 + }, + { + "time": 1358, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 1 + }, + { + "time": 2115, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 2 + }, + { + "time": 2115, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 2 + }, + { + "time": 3115, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 3 + }, + { + "time": 3115, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 3 + }, + { + "time": 4115, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 4 + }, + { + "time": 4115, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 4 + }, + { + "time": 5617, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 6619, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "protocol": 6, + "sourcePort": 61489, + "destinationPort": 55555, + "payload": null, + "tcpFlags": "S", + "sequence": 4000000, + "acknowledgement": 0 + }, + { + "time": 6619, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 55555, + "destinationPort": 61489, + "payload": null, + "tcpFlags": "SA", + "sequence": 2000000, + "acknowledgement": 4000001 + }, + { + "time": 6842, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "protocol": 6, + "sourcePort": 61489, + "destinationPort": 55555, + "payload": null, + "tcpFlags": "A", + "sequence": 4000001, + "acknowledgement": 2000001 + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 1126, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + }, + { + "time": 5617, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + } + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "6", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "8", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "10", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "11", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "12", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "12", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "13", + "192.168.0.20:49379", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "13", + "192.168.0.20:49379", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=30470 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "14", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "14", + "192.168.0.10:53", + "192.168.0.20:49379", + "UDP", + "Transport", + "" + ], + [ + "14", + "192.168.0.10:53", + "192.168.0.20:49379", + "DNS", + "Anwendung", + "ID=30470 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A 3600 192.168.0.30\n" + ], + [ + "15", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "15", + "192.168.0.20:56898", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "15", + "192.168.0.20:56898", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=44276 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. MX IN\n" + ], + [ + "16", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "16", + "192.168.0.10:53", + "192.168.0.20:56898", + "UDP", + "Transport", + "" + ], + [ + "16", + "192.168.0.10:53", + "192.168.0.20:56898", + "DNS", + "Anwendung", + "ID=44276 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ], + [ + "17", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.20:61489", + "192.168.0.31:55555", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "18", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.31", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.31:55555", + "192.168.0.20:61489", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 4.000.001" + ], + [ + "19", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:61489", + "192.168.0.31:55555", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 2.000.001" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "3", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "4", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "192.168.0.20:49379", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "4", + "192.168.0.20:49379", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=30470 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "5", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "5", + "192.168.0.10:53", + "192.168.0.20:49379", + "UDP", + "Transport", + "" + ], + [ + "5", + "192.168.0.10:53", + "192.168.0.20:49379", + "DNS", + "Anwendung", + "ID=30470 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A 3600 192.168.0.30\n" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "6", + "192.168.0.20:56898", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "6", + "192.168.0.20:56898", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=44276 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. MX IN\n" + ], + [ + "7", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "7", + "192.168.0.10:53", + "192.168.0.20:56898", + "UDP", + "Transport", + "" + ], + [ + "7", + "192.168.0.10:53", + "192.168.0.20:56898", + "DNS", + "Anwendung", + "ID=44276 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "6", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "8", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "10", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "11", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "12", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:61489", + "192.168.0.31:55555", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "13", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.31", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.31:55555", + "192.168.0.20:61489", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 4.000.001" + ], + [ + "14", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.20:61489", + "192.168.0.31:55555", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 2.000.001" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "6", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "8", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "10", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "11", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "12", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "12", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "13", + "49379", + "53", + "UDP", + "Transport", + "" + ], + [ + "13", + null, + null, + "DNS", + "Anwendung", + "ID=30470 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "14", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "14", + "53", + "49379", + "UDP", + "Transport", + "" + ], + [ + "14", + null, + null, + "DNS", + "Anwendung", + "ID=30470 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A 3600 192.168.0.30\n" + ], + [ + "15", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "15", + "56898", + "53", + "UDP", + "Transport", + "" + ], + [ + "15", + null, + null, + "DNS", + "Anwendung", + "ID=44276 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. MX IN\n" + ], + [ + "16", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "16", + "53", + "56898", + "UDP", + "Transport", + "" + ], + [ + "16", + null, + null, + "DNS", + "Anwendung", + "ID=44276 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ], + [ + "17", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "61489", + "55555", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "18", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.31", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "55555", + "61489", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 4.000.001" + ], + [ + "19", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "61489", + "55555", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 2.000.001" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "3", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "4", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "49379", + "53", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "DNS", + "Anwendung", + "ID=30470 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "5", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "5", + "53", + "49379", + "UDP", + "Transport", + "" + ], + [ + "5", + null, + null, + "DNS", + "Anwendung", + "ID=30470 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A 3600 192.168.0.30\n" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "6", + "56898", + "53", + "UDP", + "Transport", + "" + ], + [ + "6", + null, + null, + "DNS", + "Anwendung", + "ID=44276 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. MX IN\n" + ], + [ + "7", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "7", + "53", + "56898", + "UDP", + "Transport", + "" + ], + [ + "7", + null, + null, + "DNS", + "Anwendung", + "ID=44276 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "6", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "8", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "10", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + "11", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "12", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "61489", + "55555", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000" + ], + [ + "13", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.31", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "55555", + "61489", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 4.000.001" + ], + [ + "14", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.20", + "192.168.0.31", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "61489", + "55555", + "TCP", + "Transport", + "SEQ: 4.000.001, ACK: 2.000.001" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000404", + "tcpdump" + ], + [ + 600, + "00000000-0000-0000-0000-000000000402", + "tcpdump" + ], + [ + 1000, + "00000000-0000-0000-0000-000000000401", + "ping 192.168.0.31" + ], + [ + 3000, + "00000000-0000-0000-0000-000000000404", + "arp" + ], + [ + 5500, + "00000000-0000-0000-0000-000000000401", + "host www.filius.de" + ], + [ + 6500, + "00000000-0000-0000-0000-000000000401", + "connect" + ], + [ + 8000, + "00000000-0000-0000-0000-000000000404", + "^C" + ], + [ + 8100, + "00000000-0000-0000-0000-000000000402", + "^C" + ] + ], + "events": [ + [ + 500, + "00000000-0000-0000-0000-000000000404", + "call", + "tcpdump" + ], + [ + 501, + "00000000-0000-0000-0000-000000000404", + "busy", + "true" + ], + [ + 501, + "00000000-0000-0000-0000-000000000404", + "text", + "Beenden mit Strg+C" + ], + [ + 600, + "00000000-0000-0000-0000-000000000402", + "call", + "tcpdump" + ], + [ + 600, + "00000000-0000-0000-0000-000000000402", + "busy", + "true" + ], + [ + 600, + "00000000-0000-0000-0000-000000000402", + "text", + "Beenden mit Strg+C" + ], + [ + 1000, + "00000000-0000-0000-0000-000000000401", + "call", + "ping 192.168.0.31" + ], + [ + 1001, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 1001, + "00000000-0000-0000-0000-000000000401", + "text", + "PING 192.168.0.31 (192.168.0.31)" + ], + [ + 1201, + "00000000-0000-0000-0000-000000000402", + "text", + "\n 10:37:06.217 ARP 192.168.0.20 > 192.168.0.31 Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + 1205, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:06.217 ARP 192.168.0.20 > 192.168.0.31 Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + 1205, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:06.220 ARP 192.168.0.31 > 192.168.0.20 MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + 1407, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:06.449 ICMP 192.168.0.20 > 192.168.0.31 ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + 1407, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:06.449 ICMP 192.168.0.31 > 192.168.0.20 ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 1" + ], + [ + 1471, + "00000000-0000-0000-0000-000000000401", + "text", + "\nFrom 192.168.0.31: icmp_seq=1 ttl=64 time=468ms" + ], + [ + 2207, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:07.206 ICMP 192.168.0.20 > 192.168.0.31 ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + 2207, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:07.206 ICMP 192.168.0.31 > 192.168.0.20 ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 2" + ], + [ + 2226, + "00000000-0000-0000-0000-000000000401", + "text", + "\nFrom 192.168.0.31: icmp_seq=2 ttl=64 time=223ms" + ], + [ + 3000, + "00000000-0000-0000-0000-000000000404", + "call", + "arp" + ], + [ + 3208, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:08.206 ICMP 192.168.0.20 > 192.168.0.31 ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + 3208, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:08.206 ICMP 192.168.0.31 > 192.168.0.20 ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 3" + ], + [ + 3226, + "00000000-0000-0000-0000-000000000401", + "text", + "\nFrom 192.168.0.31: icmp_seq=3 ttl=64 time=223ms" + ], + [ + 4209, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:09.206 ICMP 192.168.0.20 > 192.168.0.31 ICMP Echo Request (ping), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + 4209, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:09.206 ICMP 192.168.0.31 > 192.168.0.20 ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 4" + ], + [ + 4226, + "00000000-0000-0000-0000-000000000401", + "text", + "\nFrom 192.168.0.31: icmp_seq=4 ttl=64 time=223ms" + ], + [ + 5005, + "00000000-0000-0000-0000-000000000401", + "text", + "\n--- 192.168.0.31 Paketstatistik ---\n4 Paket(e) gesendet, 4 Paket(e) empfangen, 0% Paketverlust\n" + ], + [ + 5005, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 5500, + "00000000-0000-0000-0000-000000000401", + "call", + "host www.filius.de" + ], + [ + 5501, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 5706, + "00000000-0000-0000-0000-000000000402", + "text", + "\n 10:37:10.708 ARP 192.168.0.20 > 192.168.0.10 Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + 5706, + "00000000-0000-0000-0000-000000000402", + "text", + "\n 10:37:10.708 ARP 192.168.0.10 > 192.168.0.20 MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + 5711, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:10.708 ARP 192.168.0.20 > 192.168.0.10 Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + 5917, + "00000000-0000-0000-0000-000000000402", + "text", + "\n 10:37:10.933 DNS 192.168.0.20:49379 > 192.168.0.10:53 ID=30470 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 www.filius.de. A IN" + ], + [ + 5917, + "00000000-0000-0000-0000-000000000402", + "text", + "\n 10:37:10.937 DNS 192.168.0.10:53 > 192.168.0.20:49379 ID=30470 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 www.filius.de. A 3600 192.168.0.30" + ], + [ + 5958, + "00000000-0000-0000-0000-000000000401", + "text", + "www.filius.de. hat die IP-Adresse 192.168.0.30\n" + ], + [ + 6117, + "00000000-0000-0000-0000-000000000402", + "text", + "\n 10:37:11.161 DNS 192.168.0.20:56898 > 192.168.0.10:53 ID=44276 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 www.filius.de. MX IN" + ], + [ + 6117, + "00000000-0000-0000-0000-000000000402", + "text", + "\n 10:37:11.163 DNS 192.168.0.10:53 > 192.168.0.20:56898 ID=44276 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0" + ], + [ + 6183, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 6500, + "00000000-0000-0000-0000-000000000401", + "call", + "connect 192.168.0.31:55555" + ], + [ + 6712, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:11.710 TCP 192.168.0.20:61489 > 192.168.0.31:55555 SYN, SEQ: 4.000.000" + ], + [ + 6712, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:11.710 TCP 192.168.0.31:55555 > 192.168.0.20:61489 SYN, SEQ: 2.000.000, ACK: 4.000.001" + ], + [ + 6913, + "00000000-0000-0000-0000-000000000404", + "text", + "\n 10:37:11.933 TCP 192.168.0.20:61489 > 192.168.0.31:55555 SEQ: 4.000.001, ACK: 2.000.001" + ], + [ + 8000, + "00000000-0000-0000-0000-000000000404", + "call", + "^C" + ], + [ + 8014, + "00000000-0000-0000-0000-000000000404", + "busy", + "false" + ], + [ + 8014, + "00000000-0000-0000-0000-000000000404", + "text", + "| Internetadresse | Physische Adresse |\n----------------------------------------\n| 192.168.0.20 | 02:00:00:00:04:11 |\n| 255.255.255.255 | FF:FF:FF:FF:FF:FF |\n----------------------------------------\n" + ], + [ + 8100, + "00000000-0000-0000-0000-000000000402", + "call", + "^C" + ], + [ + 8119, + "00000000-0000-0000-0000-000000000402", + "busy", + "false" + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceErrors.java.json b/packages/core/test/scenarios/terminal-java-traceErrors.java.json new file mode 100644 index 0000000..c6935d3 --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceErrors.java.json @@ -0,0 +1,1496 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 912, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 1146, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.20" + }, + { + "time": 1148, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 54421, + "destinationPort": 53, + "payload": "ID=59572 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \ngibtsnicht.filius.de. A IN\n" + }, + { + "time": 1379, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 54421, + "payload": "ID=59572 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + }, + { + "time": 3280, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + }, + { + "time": 6030, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 1033, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 1034, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.20" + }, + { + "time": 1261, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 54421, + "destinationPort": 53, + "payload": "ID=59572 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \ngibtsnicht.filius.de. A IN\n" + }, + { + "time": 1268, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 54421, + "payload": "ID=59572 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + }, + { + "time": 3280, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + }, + { + "time": 6030, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 1033, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 3280, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + }, + { + "time": 6030, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 1033, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 3280, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + }, + { + "time": 6030, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 1033, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 3169, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + }, + { + "time": 5919, + "source": "02:00:00:00:04:51", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.53" + } + ], + "00000000-0000-0000-0000-000000000405#1": [ + { + "time": 3057, + "source": "02:00:00:00:04:16", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.2", + "targetIp": "10.0.0.1" + }, + { + "time": 3057, + "source": "02:00:00:00:04:52", + "destination": "02:00:00:00:04:16", + "arp": 2, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.2" + }, + { + "time": 3168, + "source": "02:00:00:00:04:16", + "destination": "02:00:00:00:04:52", + "sourceIp": "10.0.0.2", + "destinationIp": "192.168.0.53", + "protocol": 17, + "sourcePort": 65325, + "destinationPort": 53, + "payload": "ID=6485 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + }, + { + "time": 8672, + "source": "02:00:00:00:04:52", + "destination": "02:00:00:00:04:16", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "sequence": 0 + } + ], + "00000000-0000-0000-0000-000000000406": [ + { + "time": 3001, + "source": "02:00:00:00:04:16", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.2", + "targetIp": "10.0.0.1" + }, + { + "time": 3113, + "source": "02:00:00:00:04:52", + "destination": "02:00:00:00:04:16", + "arp": 2, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.2" + }, + { + "time": 3113, + "source": "02:00:00:00:04:16", + "destination": "02:00:00:00:04:52", + "sourceIp": "10.0.0.2", + "destinationIp": "192.168.0.53", + "protocol": 17, + "sourcePort": 65325, + "destinationPort": 53, + "payload": "ID=6485 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + }, + { + "time": 8729, + "source": "02:00:00:00:04:52", + "destination": "02:00:00:00:04:16", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "10.0.0.1", + "destinationIp": "10.0.0.2", + "sequence": 0 + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "192.168.0.20:54421", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "3", + "192.168.0.20:54421", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=59572 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \ngibtsnicht.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:54421", + "UDP", + "Transport", + "" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:54421", + "DNS", + "Anwendung", + "ID=59572 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ], + [ + "5", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "6", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "192.168.0.20:54421", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "3", + "192.168.0.20:54421", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=59572 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \ngibtsnicht.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:54421", + "UDP", + "Transport", + "" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:54421", + "DNS", + "Anwendung", + "ID=59572 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ], + [ + "5", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "6", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "3", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "3", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "3", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:16", + "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:04:16|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:52 [op=REPLY, sender=02:00:00:00:04:52|10.0.0.1, target=02:00:00:00:04:16|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "192.168.0.53", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "10.0.0.2:65325", + "192.168.0.53:53", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.0.2:65325", + "192.168.0.53:53", + "DNS", + "Anwendung", + "ID=6485 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3, ttl=63, protocol=17, dest=192.168.0.53, src=10.0.0.2]" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:16", + "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:04:16|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:52 [op=REPLY, sender=02:00:00:00:04:52|10.0.0.1, target=02:00:00:00:04:16|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "192.168.0.53", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "10.0.0.2:65325", + "192.168.0.53:53", + "UDP", + "Transport", + "" + ], + [ + "3", + "10.0.0.2:65325", + "192.168.0.53:53", + "DNS", + "Anwendung", + "ID=6485 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3, ttl=63, protocol=17, dest=192.168.0.53, src=10.0.0.2]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "54421", + "53", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "DNS", + "Anwendung", + "ID=59572 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \ngibtsnicht.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "53", + "54421", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "DNS", + "Anwendung", + "ID=59572 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ], + [ + "5", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "6", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "54421", + "53", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "DNS", + "Anwendung", + "ID=59572 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \ngibtsnicht.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "53", + "54421", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "DNS", + "Anwendung", + "ID=59572 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \n" + ], + [ + "5", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "6", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "3", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "3", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ], + [ + "3", + "02:00:00:00:04:51", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.53", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.53 [op=REQUEST, sender=02:00:00:00:04:51|192.168.0.1, target=FF:FF:FF:FF:FF:FF|192.168.0.53]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:16", + "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:04:16|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:52 [op=REPLY, sender=02:00:00:00:04:52|10.0.0.1, target=02:00:00:00:04:16|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "192.168.0.53", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "65325", + "53", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "DNS", + "Anwendung", + "ID=6485 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3, ttl=63, protocol=17, dest=192.168.0.53, src=10.0.0.2]" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:16", + "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:04:16|10.0.0.2, target=FF:FF:FF:FF:FF:FF|10.0.0.1]" + ], + [ + "2", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:52 [op=REPLY, sender=02:00:00:00:04:52|10.0.0.1, target=02:00:00:00:04:16|10.0.0.2]" + ], + [ + "3", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "10.0.0.2", + "192.168.0.53", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "65325", + "53", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "DNS", + "Anwendung", + "ID=6485 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nwww.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.1", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3, ttl=63, protocol=17, dest=192.168.0.53, src=10.0.0.2]" + ] + ] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute" + ], + [ + 700, + "00000000-0000-0000-0000-000000000401", + "traceroute a b" + ], + [ + 900, + "00000000-0000-0000-0000-000000000401", + "traceroute gibtsnicht.filius.de" + ], + [ + 3000, + "00000000-0000-0000-0000-000000000406", + "traceroute www.filius.de" + ] + ], + "events": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "text", + "traceroute - analyse hops of connecting path\nUsage: traceroute \n the remote address as IP address or host name\n" + ], + [ + 700, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute a b" + ], + [ + 700, + "00000000-0000-0000-0000-000000000401", + "text", + "traceroute - analyse hops of connecting path\nUsage: traceroute \n the remote address as IP address or host name\n" + ], + [ + 900, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute gibtsnicht.filius.de" + ], + [ + 1380, + "00000000-0000-0000-0000-000000000401", + "text", + "Fehler: Domainname konnte nicht aufgelöst werden." + ], + [ + 3000, + "00000000-0000-0000-0000-000000000406", + "call", + "traceroute www.filius.de" + ], + [ + 16751, + "00000000-0000-0000-0000-000000000406", + "text", + "Fehler: Verbindung zum DNS-Server nicht möglich." + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceInterrupt.java.json b/packages/core/test/scenarios/terminal-java-traceInterrupt.java.json new file mode 100644 index 0000000..8f95e67 --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceInterrupt.java.json @@ -0,0 +1,1162 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 506, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 740, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 743, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 967 + }, + { + "time": 968, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 969, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 968 + }, + { + "time": 3719, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 969 + }, + { + "time": 6693, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 626, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 626, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 626, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 627, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 628, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 856, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 967 + }, + { + "time": 857, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 1080, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 968 + }, + { + "time": 3831, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 969 + }, + { + "time": 6582, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + } + ], + "00000000-0000-0000-0000-000000000405#1": [ + { + "time": 1080, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 3830, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 6582, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 9332, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + } + ], + "00000000-0000-0000-0000-000000000406": [ + { + "time": 1136, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 3886, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 6637, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 9388, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 92, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 92, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 92, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 92, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 92, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=92; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute 10.0.0.99" + ], + [ + 4000, + "00000000-0000-0000-0000-000000000401", + "^C" + ] + ], + "events": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute 10.0.0.99" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach 10.0.0.99 wird bestimmt (max. 20 Stationen).\n" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 969, + "00000000-0000-0000-0000-000000000401", + "text", + "192.168.0.1" + ], + [ + 969, + "00000000-0000-0000-0000-000000000401", + "text", + "\n" + ], + [ + 969, + "00000000-0000-0000-0000-000000000401", + "text", + " 2 " + ], + [ + 3719, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 4000, + "00000000-0000-0000-0000-000000000401", + "call", + "^C" + ], + [ + 6469, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 6469, + "00000000-0000-0000-0000-000000000401", + "text", + "\n" + ], + [ + 6469, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 6469, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\nAnalyse abgebrochen!" + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceLan.java.json b/packages/core/test/scenarios/terminal-java-traceLan.java.json new file mode 100644 index 0000000..c65b479 --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceLan.java.json @@ -0,0 +1,543 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 506, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + }, + { + "time": 743, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.31", + "targetIp": "192.168.0.20" + }, + { + "time": 746, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 967 + }, + { + "time": 973, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 967 + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 629, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 629, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 629, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + }, + { + "time": 631, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.31", + "targetIp": "192.168.0.20" + }, + { + "time": 860, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:14", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.31", + "sequence": 967 + }, + { + "time": 860, + "source": "02:00:00:00:04:14", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.31", + "destinationIp": "192.168.0.20", + "sequence": 967 + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 629, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.31" + } + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 782, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 782, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 782, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 782, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 782, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 782, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ], + [ + "2", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.31", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:14 [op=REPLY, sender=02:00:00:00:04:14|192.168.0.31, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:14", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.31", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 782, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:14", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.31", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 782, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.31", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.31 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.31]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute 192.168.0.31" + ] + ], + "events": [ + [ + 501, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute 192.168.0.31" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach 192.168.0.31 wird bestimmt (max. 20 Stationen).\n" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 973, + "00000000-0000-0000-0000-000000000401", + "text", + "192.168.0.31" + ], + [ + 973, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 973, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\n192.168.0.31 wurde nach einem Sprung (hop) erreicht." + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceNoRoute.java.json b/packages/core/test/scenarios/terminal-java-traceNoRoute.java.json new file mode 100644 index 0000000..67c56f0 --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceNoRoute.java.json @@ -0,0 +1,729 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 506, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 742, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 746, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "172.16.0.1", + "sequence": 967 + }, + { + "time": 971, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 971, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "172.16.0.1", + "sequence": 968 + }, + { + "time": 1194, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 630, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 859, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "172.16.0.1", + "sequence": 967 + }, + { + "time": 860, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 1082, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "172.16.0.1", + "sequence": 968 + }, + { + "time": 1083, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + } + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 184, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 184, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Network Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=null; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 184, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 184, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Network Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=null; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 184, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 184, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Network Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=null; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 184, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "172.16.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 184, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Network Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=null; target=172.16.0.1; icmpType=8; icmpCode=0; identifier=184; seqNr=968]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute 172.16.0.1" + ] + ], + "events": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute 172.16.0.1" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach 172.16.0.1 wird bestimmt (max. 20 Stationen).\n" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 971, + "00000000-0000-0000-0000-000000000401", + "text", + "192.168.0.1" + ], + [ + 971, + "00000000-0000-0000-0000-000000000401", + "text", + "\n" + ], + [ + 971, + "00000000-0000-0000-0000-000000000401", + "text", + " 2 " + ], + [ + 1194, + "00000000-0000-0000-0000-000000000401", + "text", + "192.168.0.1" + ], + [ + 1194, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 1194, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\nFehler: 192.168.0.1 antwortet \"ICMP Network Unreachable\"" + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceNobody.java.json b/packages/core/test/scenarios/terminal-java-traceNobody.java.json new file mode 100644 index 0000000..a52a50c --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceNobody.java.json @@ -0,0 +1,495 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 507, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + }, + { + "time": 3257, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + }, + { + "time": 3369, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + }, + { + "time": 3369, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + }, + { + "time": 3369, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 628, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + }, + { + "time": 3369, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.99" + } + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.99 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute 192.168.0.99" + ] + ], + "events": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute 192.168.0.99" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach 192.168.0.99 wird bestimmt (max. 20 Stationen).\n" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 6012, + "00000000-0000-0000-0000-000000000401", + "text", + "127.0.0.1" + ], + [ + 6012, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 6012, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\nFehler: 127.0.0.1 antwortet \"ICMP Host Unreachable\"" + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceRouted.java.json b/packages/core/test/scenarios/terminal-java-traceRouted.java.json new file mode 100644 index 0000000..bacff9f --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceRouted.java.json @@ -0,0 +1,1858 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 511, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 749, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.20" + }, + { + "time": 752, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 62524, + "destinationPort": 53, + "payload": "ID=55574 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A IN\n" + }, + { + "time": 981, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 62524, + "payload": "ID=55574 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A 3600 10.0.0.2\n" + }, + { + "time": 982, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 1205, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 1207, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.2", + "sequence": 967 + }, + { + "time": 1431, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 1431, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.2", + "sequence": 968 + }, + { + "time": 1877, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "10.0.0.2", + "destinationIp": "192.168.0.20", + "sequence": 968 + }, + { + "time": 3001, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.1", + "sequence": 967 + }, + { + "time": 3223, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 967 + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 636, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 638, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.10", + "targetIp": "192.168.0.20" + }, + { + "time": 865, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:12", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.10", + "protocol": 17, + "sourcePort": 62524, + "destinationPort": 53, + "payload": "ID=55574 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A IN\n" + }, + { + "time": 870, + "source": "02:00:00:00:04:12", + "destination": "02:00:00:00:04:11", + "sourceIp": "192.168.0.10", + "destinationIp": "192.168.0.20", + "protocol": 17, + "sourcePort": 53, + "destinationPort": 62524, + "payload": "ID=55574 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A 3600 10.0.0.2\n" + }, + { + "time": 1093, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 636, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 1093, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 637, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 1093, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 636, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.10" + }, + { + "time": 1093, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 1093, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 1319, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.2", + "sequence": 967 + }, + { + "time": 1319, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 1543, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.2", + "sequence": 968 + }, + { + "time": 1766, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "10.0.0.2", + "destinationIp": "192.168.0.20", + "sequence": 968 + }, + { + "time": 3112, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.1", + "sequence": 967 + }, + { + "time": 3112, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 967 + } + ], + "00000000-0000-0000-0000-000000000405#1": [ + { + "time": 1543, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.2" + }, + { + "time": 1654, + "source": "02:00:00:00:04:16", + "destination": "02:00:00:00:04:52", + "arp": 2, + "senderIp": "10.0.0.2", + "targetIp": "10.0.0.1" + }, + { + "time": 1654, + "source": "02:00:00:00:04:52", + "destination": "02:00:00:00:04:16", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.2", + "sequence": 968 + }, + { + "time": 1765, + "source": "02:00:00:00:04:16", + "destination": "02:00:00:00:04:52", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "10.0.0.2", + "destinationIp": "192.168.0.20", + "sequence": 968 + } + ], + "00000000-0000-0000-0000-000000000406": [ + { + "time": 1598, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.2" + }, + { + "time": 1599, + "source": "02:00:00:00:04:16", + "destination": "02:00:00:00:04:52", + "arp": 2, + "senderIp": "10.0.0.2", + "targetIp": "10.0.0.1" + }, + { + "time": 1710, + "source": "02:00:00:00:04:52", + "destination": "02:00:00:00:04:16", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.2", + "sequence": 968 + }, + { + "time": 1710, + "source": "02:00:00:00:04:16", + "destination": "02:00:00:00:04:52", + "icmp": 0, + "icmpCode": 0, + "sourceIp": "10.0.0.2", + "destinationIp": "192.168.0.20", + "sequence": 968 + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "192.168.0.20:62524", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "3", + "192.168.0.20:62524", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=55574 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:62524", + "UDP", + "Transport", + "" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:62524", + "DNS", + "Anwendung", + "ID=55574 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A 3600 10.0.0.2\n" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "6", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 967" + ], + [ + "8", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.2; icmpType=8; icmpCode=0; identifier=483; seqNr=967]" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 483, Seq.-No.: 968" + ], + [ + "10", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 63, Identifier: 483, Seq.-No.: 968" + ], + [ + "11", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "10.0.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 484, Seq.-No.: 967" + ], + [ + "12", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 484, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "192.168.0.20:62524", + "192.168.0.10:53", + "UDP", + "Transport", + "" + ], + [ + "3", + "192.168.0.20:62524", + "192.168.0.10:53", + "DNS", + "Anwendung", + "ID=55574 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:62524", + "UDP", + "Transport", + "" + ], + [ + "4", + "192.168.0.10:53", + "192.168.0.20:62524", + "DNS", + "Anwendung", + "ID=55574 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A 3600 10.0.0.2\n" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "3", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "4", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 967" + ], + [ + "5", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.2; icmpType=8; icmpCode=0; identifier=483; seqNr=967]" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 483, Seq.-No.: 968" + ], + [ + "7", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 63, Identifier: 483, Seq.-No.: 968" + ], + [ + "8", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "10.0.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 484, Seq.-No.: 967" + ], + [ + "9", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 484, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.2 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.2]" + ], + [ + "2", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:16 [op=REPLY, sender=02:00:00:00:04:16|10.0.0.2, target=02:00:00:00:04:52|10.0.0.1]" + ], + [ + "3", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 968" + ], + [ + "4", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 968" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.2 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.2]" + ], + [ + "2", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:16 [op=REPLY, sender=02:00:00:00:04:16|10.0.0.2, target=02:00:00:00:04:52|10.0.0.1]" + ], + [ + "3", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 968" + ], + [ + "4", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 968" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "62524", + "53", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "DNS", + "Anwendung", + "ID=55574 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "53", + "62524", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "DNS", + "Anwendung", + "ID=55574 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A 3600 10.0.0.2\n" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "6", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 967" + ], + [ + "8", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.2; icmpType=8; icmpCode=0; identifier=483; seqNr=967]" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 483, Seq.-No.: 968" + ], + [ + "10", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 63, Identifier: 483, Seq.-No.: 968" + ], + [ + "11", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "10.0.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 484, Seq.-No.: 967" + ], + [ + "12", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 484, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.10", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:12 [op=REPLY, sender=02:00:00:00:04:12|192.168.0.10, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:12", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.10", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "3", + "62524", + "53", + "UDP", + "Transport", + "" + ], + [ + "3", + null, + null, + "DNS", + "Anwendung", + "ID=55574 QR=0 RCODE=0 QDCOUNT=1 ANCOUNT=0 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A IN\n" + ], + [ + "4", + "02:00:00:00:04:12", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.10", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 17, TTL: 64" + ], + [ + "4", + "53", + "62524", + "UDP", + "Transport", + "" + ], + [ + "4", + null, + null, + "DNS", + "Anwendung", + "ID=55574 QR=1 RCODE=0 QDCOUNT=0 ANCOUNT=1 NSCOUNT=0 ARCOUNT=0 \nfern.filius.de. A 3600 10.0.0.2\n" + ], + [ + "5", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.10", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.10 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.10]" + ], + [ + "2", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "3", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "4", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 967" + ], + [ + "5", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.2; icmpType=8; icmpCode=0; identifier=483; seqNr=967]" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 483, Seq.-No.: 968" + ], + [ + "7", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 63, Identifier: 483, Seq.-No.: 968" + ], + [ + "8", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "10.0.0.1", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 484, Seq.-No.: 967" + ], + [ + "9", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 484, Seq.-No.: 967" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.2 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.2]" + ], + [ + "2", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:16 [op=REPLY, sender=02:00:00:00:04:16|10.0.0.2, target=02:00:00:00:04:52|10.0.0.1]" + ], + [ + "3", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 968" + ], + [ + "4", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 968" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.2", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.2 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.2]" + ], + [ + "2", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.2", + "10.0.0.1", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:16 [op=REPLY, sender=02:00:00:00:04:16|10.0.0.2, target=02:00:00:00:04:52|10.0.0.1]" + ], + [ + "3", + "02:00:00:00:04:52", + "02:00:00:00:04:16", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.2", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 483, Seq.-No.: 968" + ], + [ + "4", + "02:00:00:00:04:16", + "02:00:00:00:04:52", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "10.0.0.2", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Echo Reply (pong), TTL: 64, Identifier: 483, Seq.-No.: 968" + ] + ] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute fern.filius.de" + ], + [ + 3000, + "00000000-0000-0000-0000-000000000401", + "traceroute 10.0.0.1" + ] + ], + "events": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute fern.filius.de" + ], + [ + 982, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 982, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach fern.filius.de (10.0.0.2) wird bestimmt (max. 20 Stationen).\n" + ], + [ + 982, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 1431, + "00000000-0000-0000-0000-000000000401", + "text", + "192.168.0.1" + ], + [ + 1431, + "00000000-0000-0000-0000-000000000401", + "text", + "\n" + ], + [ + 1431, + "00000000-0000-0000-0000-000000000401", + "text", + " 2 " + ], + [ + 1877, + "00000000-0000-0000-0000-000000000401", + "text", + "10.0.0.2" + ], + [ + 1877, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 1877, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\nfern.filius.de wurde nach 2 Sprüngen (hops) erreicht." + ], + [ + 3000, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute 10.0.0.1" + ], + [ + 3000, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 3001, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach 10.0.0.1 wird bestimmt (max. 20 Stationen).\n" + ], + [ + 3001, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 3223, + "00000000-0000-0000-0000-000000000401", + "text", + "192.168.0.1" + ], + [ + 3223, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 3224, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\n10.0.0.1 wurde nach einem Sprung (hop) erreicht." + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceSelf.java.json b/packages/core/test/scenarios/terminal-java-traceSelf.java.json new file mode 100644 index 0000000..a0c03f9 --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceSelf.java.json @@ -0,0 +1,127 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [], + "00000000-0000-0000-0000-000000000402": [], + "00000000-0000-0000-0000-000000000403": [], + "00000000-0000-0000-0000-000000000404": [], + "00000000-0000-0000-0000-000000000405": [], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [], + "00000000-0000-0000-0000-000000000402": [], + "00000000-0000-0000-0000-000000000403": [], + "00000000-0000-0000-0000-000000000404": [], + "00000000-0000-0000-0000-000000000405": [], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [], + "00000000-0000-0000-0000-000000000402": [], + "00000000-0000-0000-0000-000000000403": [], + "00000000-0000-0000-0000-000000000404": [], + "00000000-0000-0000-0000-000000000405": [], + "00000000-0000-0000-0000-000000000405#1": [], + "00000000-0000-0000-0000-000000000406": [] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute 192.168.0.20" + ], + [ + 1500, + "00000000-0000-0000-0000-000000000401", + "traceroute localhost" + ] + ], + "events": [ + [ + 501, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute 192.168.0.20" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach 192.168.0.20 wird bestimmt (max. 20 Stationen).\n" + ], + [ + 502, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 507, + "00000000-0000-0000-0000-000000000401", + "text", + "127.0.0.1" + ], + [ + 507, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 507, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\n192.168.0.20 wurde nach einem Sprung (hop) erreicht." + ], + [ + 1500, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute localhost" + ], + [ + 1501, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 1501, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach localhost (127.0.0.1) wird bestimmt (max. 20 Stationen).\n" + ], + [ + 1501, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 1501, + "00000000-0000-0000-0000-000000000401", + "text", + "127.0.0.1" + ], + [ + 1501, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 1502, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\nlocalhost wurde nach einem Sprung (hop) erreicht." + ] + ] +} diff --git a/packages/core/test/scenarios/terminal-java-traceUnreachable.java.json b/packages/core/test/scenarios/terminal-java-traceUnreachable.java.json new file mode 100644 index 0000000..43163d0 --- /dev/null +++ b/packages/core/test/scenarios/terminal-java-traceUnreachable.java.json @@ -0,0 +1,2577 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000401": [ + { + "time": 505, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 740, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 744, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 967 + }, + { + "time": 969, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 969, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 968 + }, + { + "time": 3720, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 969 + }, + { + "time": 6470, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 970 + }, + { + "time": 6693, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 6693, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 971 + }, + { + "time": 9444, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 972 + }, + { + "time": 12194, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 12194, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 973 + }, + { + "time": 17695, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 23196, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 28697, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 34197, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + } + ], + "00000000-0000-0000-0000-000000000402": [ + { + "time": 627, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000403": [ + { + "time": 627, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000404": [ + { + "time": 627, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + } + ], + "00000000-0000-0000-0000-000000000405": [ + { + "time": 627, + "source": "02:00:00:00:04:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.1" + }, + { + "time": 629, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "arp": 2, + "senderIp": "192.168.0.1", + "targetIp": "192.168.0.20" + }, + { + "time": 857, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 967 + }, + { + "time": 858, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 11, + "icmpCode": 0, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 1081, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 968 + }, + { + "time": 3831, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 969 + }, + { + "time": 6581, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 970 + }, + { + "time": 6582, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 6804, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 971 + }, + { + "time": 12083, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 12083, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 972 + }, + { + "time": 17584, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 17584, + "source": "02:00:00:00:04:11", + "destination": "02:00:00:00:04:51", + "icmp": 8, + "icmpCode": 0, + "sourceIp": "192.168.0.20", + "destinationIp": "10.0.0.99", + "sequence": 973 + }, + { + "time": 23085, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 28585, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + }, + { + "time": 34086, + "source": "02:00:00:00:04:51", + "destination": "02:00:00:00:04:11", + "icmp": 3, + "icmpCode": 1, + "sourceIp": "192.168.0.1", + "destinationIp": "192.168.0.20", + "sequence": 0 + } + ], + "00000000-0000-0000-0000-000000000405#1": [ + { + "time": 1081, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 3831, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 6582, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 9332, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 12083, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 14833, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 17584, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 20334, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 23085, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 25835, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 28586, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 31336, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + } + ], + "00000000-0000-0000-0000-000000000406": [ + { + "time": 1137, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 3887, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 6638, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 9388, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 12138, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 14889, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 17639, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 20390, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 23140, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 25891, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 28641, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + }, + { + "time": 31391, + "source": "02:00:00:00:04:52", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "10.0.0.1", + "targetIp": "10.0.0.99" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 46, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 970" + ], + [ + "8", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=968]" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 971" + ], + [ + "10", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 972" + ], + [ + "11", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=4; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=969]" + ], + [ + "12", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 973" + ], + [ + "13", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=5; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=970]" + ], + [ + "14", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=7; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=971]" + ], + [ + "15", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=8; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=972]" + ], + [ + "16", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=10; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=973]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 46, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 970" + ], + [ + "8", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=968]" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 971" + ], + [ + "10", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=4; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=969]" + ], + [ + "11", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 972" + ], + [ + "12", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=5; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=970]" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 973" + ], + [ + "14", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=7; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=971]" + ], + [ + "15", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=8; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=972]" + ], + [ + "16", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=10; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=973]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "5", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "6", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "7", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "7", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "8", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "8", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "9", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "9", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "10", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "10", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "11", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "12", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "12", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "5", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "6", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "7", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "7", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "8", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "8", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "9", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "9", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "10", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "10", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "11", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "12", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "12", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000401": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 46, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 970" + ], + [ + "8", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=968]" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 971" + ], + [ + "10", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 972" + ], + [ + "11", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=4; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=969]" + ], + [ + "12", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 973" + ], + [ + "13", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=5; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=970]" + ], + [ + "14", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=7; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=971]" + ], + [ + "15", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=8; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=972]" + ], + [ + "16", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=10; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=973]" + ] + ], + "00000000-0000-0000-0000-000000000402": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000403": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000404": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ] + ], + "00000000-0000-0000-0000-000000000405": [ + [ + "1", + "02:00:00:00:04:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.1", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.1 [op=REQUEST, sender=02:00:00:00:04:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.1]" + ], + [ + "2", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.1", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:04:51 [op=REPLY, sender=02:00:00:00:04:51|192.168.0.1, target=02:00:00:00:04:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 1, Identifier: 46, Seq.-No.: 967" + ], + [ + "4", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Time Exeeded (poof), TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=1; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=967]" + ], + [ + "5", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 968" + ], + [ + "6", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 969" + ], + [ + "7", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 2, Identifier: 46, Seq.-No.: 970" + ], + [ + "8", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=3; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=968]" + ], + [ + "9", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 971" + ], + [ + "10", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=4; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=969]" + ], + [ + "11", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 972" + ], + [ + "12", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=5; ttl=1; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=970]" + ], + [ + "13", + "02:00:00:00:04:11", + "02:00:00:00:04:51", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.20", + "10.0.0.99", + "ICMP", + "Vermittlung", + "ICMP Echo Request (ping), TTL: 3, Identifier: 46, Seq.-No.: 973" + ], + [ + "14", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=7; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=971]" + ], + [ + "15", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=8; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=972]" + ], + [ + "16", + "02:00:00:00:04:51", + "02:00:00:00:04:11", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.1", + "192.168.0.20", + "ICMP", + "Vermittlung", + "ICMP Host Unreachable, TTL: 64, Identifier: 0, Seq.-No.: 0, Payload: [id=10; ttl=2; protocol=1; sender=192.168.0.20; target=10.0.0.99; icmpType=8; icmpCode=0; identifier=46; seqNr=973]" + ] + ], + "00000000-0000-0000-0000-000000000405#1": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "5", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "6", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "7", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "7", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "8", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "8", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "9", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "9", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "10", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "10", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "11", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "12", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "12", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ], + "00000000-0000-0000-0000-000000000406": [ + [ + "1", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "2", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "3", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "3", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "4", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "4", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "5", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "5", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "6", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "6", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "7", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "7", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "8", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "8", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "9", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "9", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "10", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "10", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "11", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "11", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ], + [ + "12", + "02:00:00:00:04:52", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "12", + "10.0.0.1", + "10.0.0.99", + "ARP", + "Vermittlung", + "Suche nach MAC für 10.0.0.99 [op=REQUEST, sender=02:00:00:00:04:52|10.0.0.1, target=FF:FF:FF:FF:FF:FF|10.0.0.99]" + ] + ] + }, + "acts": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "traceroute 10.0.0.99" + ] + ], + "events": [ + [ + 500, + "00000000-0000-0000-0000-000000000401", + "call", + "traceroute 10.0.0.99" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "busy", + "true" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "text", + "Verbindung nach 10.0.0.99 wird bestimmt (max. 20 Stationen).\n" + ], + [ + 501, + "00000000-0000-0000-0000-000000000401", + "text", + " 1 " + ], + [ + 969, + "00000000-0000-0000-0000-000000000401", + "text", + "192.168.0.1" + ], + [ + 969, + "00000000-0000-0000-0000-000000000401", + "text", + "\n" + ], + [ + 969, + "00000000-0000-0000-0000-000000000401", + "text", + " 2 " + ], + [ + 3720, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 6470, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 6693, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 6693, + "00000000-0000-0000-0000-000000000401", + "text", + "\n" + ], + [ + 6693, + "00000000-0000-0000-0000-000000000401", + "text", + " 3 " + ], + [ + 9444, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 12194, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 12194, + "00000000-0000-0000-0000-000000000401", + "text", + "* " + ], + [ + 12194, + "00000000-0000-0000-0000-000000000401", + "busy", + "false" + ], + [ + 12194, + "00000000-0000-0000-0000-000000000401", + "text", + "\n\nFehler: 192.168.0.1 antwortet \"ICMP Host Unreachable\"" + ] + ] +} diff --git a/packages/core/test/terminalJava.test.ts b/packages/core/test/terminalJava.test.ts index 2125fc4..e82b14b 100644 --- a/packages/core/test/terminalJava.test.ts +++ b/packages/core/test/terminalJava.test.ts @@ -13,6 +13,7 @@ import { fileURLToPath } from 'node:url'; import { describe, expect, it } from 'vitest'; import { NetworkRuntimeEngine, withSnapshot } from '../src/index.js'; import { expectSameCaptures, GAP_TOLERANCE_MILLISECONDS, watchedEngine, withClientPortText, type JavaFrame, type JavaTables, type SeenFrame } from './javaRun.js'; +import { POLL_MILLISECONDS } from './programLines.js'; import { snapshotOf, type Scenario } from './scenario.js'; const scenarioDirectory = join(dirname(fileURLToPath(import.meta.url)), 'scenarios'); @@ -33,7 +34,29 @@ interface JavaRun extends JavaTables { events: [number, string, string, string][]; } -const STORIES = ['pingLan', 'pingRouted', 'pingNobody', 'pingUnreachable', 'pingBroadcast', 'pingSelf', 'pingErrors', 'interrupt', 'dns', 'dnsTimeout', 'arp', 'netstat'] as const; +const STORIES = [ + 'pingLan', + 'pingRouted', + 'pingNobody', + 'pingUnreachable', + 'pingBroadcast', + 'pingSelf', + 'pingErrors', + 'interrupt', + 'dns', + 'dnsTimeout', + 'arp', + 'netstat', + 'traceLan', + 'traceRouted', + 'traceUnreachable', + 'traceNoRoute', + 'traceNobody', + 'traceSelf', + 'traceErrors', + 'traceInterrupt', + 'tcpdump', +] as const; type Lines = Record; @@ -68,7 +91,12 @@ function lineText(text: string): string { const protocol = (row: string) => protocols.indexOf(/^\| (TCP|UDP) /.exec(row)?.[1] ?? ''); rows.sort((lhs, rhs) => protocol(lhs) - protocol(rhs) || (lhs < rhs ? -1 : lhs > rhs ? 1 : 0)); const sorted = table === null ? text : `${table[1]}${rows.join('\n')}\n${table[3] ?? ''}`; - return withClientPortText(sorted).replace(/time=\d+ms/, 'time=…ms'); + // tcpdump: a frame's time of day, a ping's identifier, a DNS query's ID. + return withClientPortText(sorted) + .replace(/time=\d+ms/, 'time=…ms') + .replace(/^\n {2}\d{2}:\d{2}:\d{2}\.\d{3} /, '\n