diff --git a/CHANGES.md b/CHANGES.md index 4b622de..227446b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,22 +13,24 @@ 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.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.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 | +| `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) | | `src/runtime/apps/web.ts` | Java `filius.software.www` (`WebServer`, `WebServerMitarbeiter`, `WebBrowser`), die Adresszeile aus `GUIApplicationWebBrowserWindow.erzeugeURL` | neu nach Java (F3.2a): Webserver (Dateien unter `/webserver`, `index.html` für `/`, virtuelle Hosts aus `/www.conf/vhosts`, fünf Zeilen, ohne Rücksicht auf Groß- und Kleinschreibung, Inhaltsart nach dem Dateinamen, Bilder und Binärdateien in Javas Base64) und Browser (immer Port 80, Seite, dann ihre Bilder nacheinander über dieselbe Verbindung, dann schließen; Link ohne Host geht an den letzten). An Java-Filius gemessen. Abweichend von Java: nichts außerhalb von `/webserver` (Java löst `/../` auf und liefert jede Datei des Rechners), 400/501 statt eines stummen Abbruchs bei unlesbaren Anfragen, eine Anfrage ohne Version gilt als HTTP/1.1, der Browser zeigt „Server nicht erreichbar“, wenn keine Antwort kommt (Java nichts). Seit F3.2c wie Java: Eine Methode, die nicht genau `GET` oder `POST` heißt (`get`), wird gelesen und mit 501 beantwortet (vorher die Seite) | | `src/runtime/apps/routerPages.ts` | Java `VermittlungsrechnerBetriebssystem`, `GatewayFirmware`, `FirewallWebLog`, `VermittlungWeb`, `FirewallRule.toString`, Vorlagen `tmpl/vermittlung_index`, `gateway_index`, `routing` (de, en) | neu nach Java (F3.2b): die Seiten der Router und Heimrouter in der Sprache des Projekts — Index, `routes` (Weiterleitungs- oder RIP-Tabelle mit Javas Farben, Gültigkeit in ganzen Sekunden) und `log` (Firewall-Protokoll); die Vorlagen per Skript aus Javas Ressourcen übernommen (Zeilen wie Javas `readLine` mit `\n`). Abweichend von Java: `` statt Javas `` auf der deutschen Protokollseite | | `src/runtime/apps/firewallSettings.ts` | Java `FirewallWebKonfig`, Vorlage `tmpl/firewall_konfig_webseite` (de, en), `EingabenUeberpruefung` (`musterPort`, `isValidSubnetmask`) | neu nach Java (F3.2c): die Seite `konfig` der Router und Heimrouter — allgemeine Einstellungen, Standardaktion, Regeln verschieben, löschen, hinzufügen; Fehlerliste und wieder gefülltes Formular, wenn eine Regel nicht passt; Vorlagen per Skript aus Javas Ressourcen. An Java-Filius gemessen (`KonfigCases`, `RouterWebRun`). Abweichend von Java: ein Feld wird erst gegen die anderen geprüft, wenn alle gelesen sind (Java prüft die IP gegen die noch ungelesene Maske und umgekehrt und nimmt so keine Regel mit Adresse an); ein Fehler steht nur auf der Antwort auf das gescheiterte Hinzufügen (Java zeigt ihn auf jeder späteren Seite); bei mehreren Knöpfen kein Fehler ohne Hinzufügen (Java schreibt die nackte Liste); Text aus dem Formular wird maskiert (Java schreibt ihn roh, ein „$“ ließ die Seite scheitern); die Daten werden zerlegt, bevor sie dekodiert werden (Java dekodiert zuerst, ein getipptes „&“ zerriss das Formular), ein Feld ohne gültige URL-Kodierung gilt, wie es kam (Javas Dekodierer wirft, keine Seite kommt); Regel 0 nach unten tut nichts (Java wirft) | | `src/runtime/http.ts` | Java `HTTPNachricht`, Spring `UriUtils.encodePath`/`decode`, `java.net.URLDecoder` | neu nach Java (F3.2a): Anfragen und Antworten in Javas Textform, Javas Statustexte, Pfade kodiert wie `UriUtils`; seit F3.2c `javaUrlDecode` für Formulardaten wie `URLDecoder.decode` (UTF-8, `+` als Leerzeichen, scheitert, wo Java wirft) | | `src/util/javaBase64.ts` | Java `filius.rahmenprogramm.Base64` (iHarder) | aus `packages/fls` (`exportProject.ts`) in den Kern gezogen (F3.2a), dazu der Leser, der Leerraum überspringt | +| `src/runtime/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`. Noch nicht: Weiterleitung an fremde Domains (F3.3b), die Kontodatei `/mailserver/konten.txt` zur Laufzeit | | `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 | | `src/runtime/packets.ts` | Engine, Paketmodelle | übertragen; `Data` → `Uint8Array` | | `src/runtime/random.ts` | Engine, `TopologyJavaCompatibleRandom` | übertragen; BigInt für die 48-Bit-Arithmetik; dazu `nextDouble` (Javas `Math.random`, an OpenJDK 21 gemessen) | | `src/runtime/routeTable.ts` | `State/TopologyJavaRouteTable.swift` | übertragen ohne Tabellengeometrie (gehört in den Editor) | -| `src/runtime/snapshot.ts` | Engine, `TopologyNetworkRuntimeTopologySnapshot` | übertragen, bisher mit den Feldern der übertragenen Schichten, seit der Abnahme F2 mit der IP-Weiterleitung, wo sie vom Standard der Art abweicht, seit F2.3 mit den DHCP-Einstellungen von Clients und Servern, seit F2.4a mit den eingeschalteten DNS-Servern, seit F3.1 mit den installierten Echo-Servern (Port, ein oder aus) und einfachen Clients, seit F3.2a mit den Webservern, Browsern und den Dateisystemen der Knoten, seit F3.2b mit der Sprache der Seiten, die Geräte selbst schreiben; ohne Swifts WLAN-Einstellungen der Rechner (`hostWirelessConfigurationsByNodeID`), die zur Laufzeit nichts bewirken (F2.7) | +| `src/runtime/snapshot.ts` | Engine, `TopologyNetworkRuntimeTopologySnapshot` | übertragen, bisher mit den Feldern der übertragenen Schichten, seit der Abnahme F2 mit der IP-Weiterleitung, wo sie vom Standard der Art abweicht, seit F2.3 mit den DHCP-Einstellungen von Clients und Servern, seit F2.4a mit den eingeschalteten DNS-Servern, seit F3.1 mit den installierten Echo-Servern (Port, ein oder aus) und einfachen Clients, seit F3.2a mit den Webservern, Browsern und den Dateisystemen der Knoten, seit F3.2b mit der Sprache der Seiten, die Geräte selbst schreiben, seit F3.3a mit den E-Mail-Servern (Domain, Konten mit Postfächern, ein oder aus); ohne Swifts WLAN-Einstellungen der Rechner (`hostWirelessConfigurationsByNodeID`), die zur Laufzeit nichts bewirken (F2.7) | | `src/runtime/speed.ts` | Engine, `TopologyNetworkRuntimeSpeed` | übertragen; dazu Javas RTT (`Verbindung.holeRTT`: 50 Kabel), die Swift nicht kennt | | `src/runtime/trace.ts` | Engine, Paketspur-Modell | übertragen | | `src/runtime/captureRows.ts` | Java `Lauscher.datenVorbereiten`, `classifyApplicationLayerProtocol`, die `toString` von `ArpPaket`, `IpPaket`, `IcmpPaket` | neu nach Java (F2.8b): die Tabelle des Mitschnitts, je Frame eine Zeile je Schicht (Ethernet; ARP, ICMP oder IP; TCP oder UDP; die Daten, wenn Javas `trim` etwas übrig lässt), in beiden Ansichten Javas (Ende als Adresse:Port samt Datenzeile, oder nur Ports und die Datenzeile ohne Enden); die Bemerkung bleibt strukturiert, `captureCommentText` sagt sie mit gegebenen Wörtern und Zahlenformat wie Java. An Javas eigenen Tabellen gemessen. Abweichend von Java: „ICMP Time Exceeded“ (Java: „Exeeded“) | @@ -50,6 +52,8 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `test/routerPages.test.ts` | — | neu (F3.2b): Farben und Hops der Routen-Seite, RIP bei 16 Hops und Sekunden, Index in beiden Sprachen, Regeltexte, UDP im Protokoll und das Protokoll über einen Neustart, Server beim Start und `swiftRouters`, öffentliche Adresse bei kürzerem Weg, TCP in Zeichen; seit F3.2c `konfig` über das Netz: Änderung in den Schnappschuss, eine Seite ohne Daten ändert nichts, Englisch, Heimrouter | | `test/firewallSettings.test.ts`, `test/firewall-settings.cases.txt`, `test/firewall-settings.{de,en}.java.json` | — | neu (F3.2c): 25 Fälle der Seite `konfig` gegen Java-Filius (`KonfigCases`), je Schritt Seite und Firewall, Deutsch und Englisch, darunter die Formulardaten, wie Javas Browserfenster (Swing) sie schickt; zehn benannte Java-Fehler (`JAVA_BUGS`), die erwartete Seite jeweils aus einem Java-Lauf mit demselben Zustand; dazu `javaUrlDecode` | | `test/web.test.ts` | — | neu (F3.2a): HTTP-Form, Pfadkodierung, Base64, Adresszeile, Bildersuche; am Server 400/501 (seit F3.2c auch für `get` und `Post`), Durchgriff, Ordner, Inhaltsarten, Binärdateien, virtuelle Hosts (fünf Zeilen, Schalter ohne Datei); am Browser Seite und Bilder, Link ohne Host, nur HTML sucht Bilder, keine Adresse, keine Antwort | +| `test/emailServer.test.ts`, `test/email-server.cases.txt`, `test/email-server.{de,en}.java.json`, `test/mailAccounts.ts` | — | neu (F3.3a): 26 Fälle der SMTP- und POP3-Gespräche gegen Java-Filius (`MailCases`), je Nachricht Antworten, Fensterzeilen, Schließen und Konten, Deutsch und Englisch; 18 Fälle mit benannten Java-Fehlern (`JAVA_BUGS`); dazu Adressen, Mailtext und Größe, und im Kern: Ein- und Ausschalten, Postfächer im Schnappschuss und über einen Neustart, Datum der Benachrichtigung je Sprache | +| `test/emailJava.test.ts`, `test/scenarios/mail-lan.scenario.json`, `test/scenarios/email-java-*.java.json` | — | neu (F3.3a): vier Abläufe mit dem E-Mail-Server gegen Java-Filius (`EmailRun`): SMTP, SMTP mit Fehlern und Benachrichtigung, POP3 zweimal angemeldet, POP3-Anmeldefehler; je Karte Frames, Zeiten, Tabellen, die Fensterzeilen von Server und Client und die Konten am Ende (das Datum der Benachrichtigung als Platzhalter) | | `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 | @@ -66,7 +70,7 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `src/archive.ts` | ebenda, Archiv-Teil von Import und Export | übertragen, ohne die XML-Ebene | | `src/javabeans.ts`, `src/javaDefaults.json` | — | neu: XMLEncoder-Leser nach den Regeln von `java.beans.XMLDecoder` (Swift liest elementweise und verliert geteilte Werte); Getter-Standardwerte und statische Konstanten mit `tools/java-oracle` gemessen; merkt sich den Java-Typ jedes Primitivs an Settern, Konstruktor- und Aufrufargumenten und welche Eigenschaften ein eigener Getter angelegt hat (für `beanCapture.ts`) | | `src/importProject.ts` | `Persistence/TopologyProjectStore.swift` (Knoten, Ports, Kabel, IP-Konfiguration, Switch/WLAN, Routen, RIP, Firewall, DHCP, Portweiterleitung, Modem, Dateisysteme, Programme, Doku-Elemente des Imports) | übertragen, Eingabe ist Javas Sicht: Name und Port-Anzahl wie Java, abgelehnte Adresse → Swift-Standard, Router-Standardgateway wie Java (Swift verliert es), jede Router-Firewall eingetragen, Konfigurationstexte wie in Swift getrimmt (`swiftTrim`), Rechner ohne Dateisystem leer wie in Java (Swift: Demo-Dateien), alle Programme bleiben (Swift verwirft sechs), Webserver-Dateien bleiben in `/webserver` (Swift: `/www`), keine versteckten Zustandsdateien im Dateisystem, DNS-Einträge so, wie Javas Server sie aus `/dns/hosts` beantwortet, WLAN eines Rechners eingeschaltet nach Javas Funk-Merkmal der Karte (auch ohne SSID; Swift: jede SSID); der Webserver behält Javas Schalter für virtuelle Hosts (Swift: aus); gegen Swifts importiertes Modell auf 13 Dateien geprüft; seit der Abnahme F2 die IP-Weiterleitung eines Knotens, wo sie vom Standard seiner Art abweicht (`ipForwardingByNodeId`; Java `ipForwardingEnabled`, übersehen bis das Firewall-Beispiel lief) | -| `test/importProject.test.ts` | — | neu: Swifts importiertes Modell (13 Dateien, begründete Abweichungen; im Dateisystem ausgenommen nur Swifts versteckte Zustandsdateien), Vollständigkeit aller 23, Pings im Kern (über einen Router; über drei Router mit manuellen Routen und Router-Gateways; seit F2.7 über Funkkabel); seit der Abnahme F2 IP-Weiterleitung und eingeschaltete DNS-Server im Schnappschuss; seit F3.2c eine Firewall, über `konfig` im Lauf geändert, gespeichert und wieder geöffnet (`internetwork_komplett.fls`) | +| `test/importProject.test.ts` | — | neu: Swifts importiertes Modell (13 Dateien, begründete Abweichungen; im Dateisystem ausgenommen nur Swifts versteckte Zustandsdateien), Vollständigkeit aller 23, Pings im Kern (über einen Router; über drei Router mit manuellen Routen und Router-Gateways; seit F2.7 über Funkkabel); seit der Abnahme F2 IP-Weiterleitung und eingeschaltete DNS-Server im Schnappschuss; seit F3.2c eine Firewall, über `konfig` im Lauf geändert, gespeichert und wieder geöffnet (`internetwork_komplett.fls`); seit F3.3a eine Mail, im Lauf per SMTP angenommen, gespeichert und wieder geöffnet (`email_komplett.fls`) | | `src/systemSoftware.ts` | Java `SwitchFirmware`, `Betriebssystem`, `VermittlungsrechnerBetriebssystem`, `GatewayFirmware`, `Weiterleitungstabelle`, `Firewall`, `FirewallRule`, `DHCPServer`, `ModemFirmware`, `Dateisystem`, `Datei` | neu nach Java: SSID, Lernzeit, RIP, manuelle Routen, Router-Firewall (an allen Stellen, an denen die Datei sie erreicht), DHCP (ein kaputter statischer Eintrag fällt allein weg, Java verliert alle folgenden), statische NAT, Modem, Dateisystem (bei Router und Heimrouter das, was die Datei zu den Vorlagen des Konstruktors hinzufügt, oder eine eigene Wurzel, die sie ersetzt), installierte Programme von Rechner und Notebook (eigene Anwendungen eines Projekts als erfasste Bean, `beanCapture.ts`); `Character.isWhitespace` am JDK gemessen; gegen Java geprüft; seit der Abnahme F2 `ipForwardingEnabled` jedes Knotens mit IP-Stapel, mit Javas Standard der Klasse (Router und Heimrouter an) | | `src/javaIp.ts` | Java `IP.inetAton`/`ipCheck` | neu nach Java; an 46 Fällen mit Java gemessen; seit F2.5a in `packages/core/src/util/javaIp.ts` (der Kern liest damit RIP-Nachrichten) | | `src/dnsHosts.ts` | Java `DNSServer.leseRecordListe`, `ResourceRecord`, `Dateisystem.holeDatei`; Swift `State/TopologyDNSResolver.swift` (`TopologyDNSHostsFileCodec`) als Vergleich | neu nach Java: Felder nur an einzelnen Leerzeichen, keine Kommentare, ungültige TTL → 3600, Doppelte bleiben; ins Modell kommt nur, was Java beantwortet (Typ A/MX/NS, Name nicht leer); Javas Fehler nicht übernommen: Label mit Ziffer vorn erlaubt, kein Backslash, letztes Label nicht rein numerisch (RFC 1123/3696), Typ in jeder Schreibung (RFC 4343), negative TTL ungültig (RFC 2181); an 76 Fällen mit Java und Swift gemessen | @@ -78,7 +82,7 @@ Swift-Pfade relativ zu `filius-ipad/ios/FiliusPad/TopologyEditor/` (Stand | `src/beanCapture.ts` | — | neu: eine decodierte Bean zurück in die Form des Schreibers, mit Javas Zahlentypen; der Verweis auf das Betriebssystem des Knotens als Marke; was das Format nicht sagen kann (Unaufgelöstes, `Field`, Fabrikmethode, ein anderswo per Getter erreichtes Objekt), wird abgelehnt, nicht geraten; Rundlauf-Tests in `test/beanCapture.test.ts` | | `src/javaBeansWriter.ts` | — | neu: Schreiber für das `XMLDecoder`-Format, Gegenstück zu `javabeans.ts`; ausdrücklich typisierte Eingabe, geteilte Objekte über `id`/`idref`, was XML nicht fassen kann (und CR) als ``; von Java selbst geprüft (`BeansDump`) | | `test/javaBeansWriter.test.ts`, `test/beans/` | — | neu: 11 Dateien des Schreibers, von Javas `XMLDecoder` gelesen und beschrieben; Erwartungen von Hand | -| `src/projectSnapshot.ts` | Swift `TopologyNetworkRuntimeTopologySnapshot(editorState:)` | neu (Abnahme F2): das importierte Projekt als Schnappschuss des Kerns; nur die Kabel verbinden (Swifts Verbindung über die SSID nicht übernommen), nur eingeschaltete DNS-Server laufen; seit F3.1 jeder installierte Echo-Server (ein oder aus, er lässt sich zur Laufzeit schalten) und einfache Client; seit F3.2a jeder Webserver und Browser und die Dateisysteme; seit F3.2c der Rückweg `projectWithSimulationChanges`: die Firewalls aus dem Schnappschuss des Laufs ins Projekt, wie Java sie beim Speichern hat | +| `src/projectSnapshot.ts` | Swift `TopologyNetworkRuntimeTopologySnapshot(editorState:)` | neu (Abnahme F2): das importierte Projekt als Schnappschuss des Kerns; nur die Kabel verbinden (Swifts Verbindung über die SSID nicht übernommen), nur eingeschaltete DNS-Server laufen; seit F3.1 jeder installierte Echo-Server (ein oder aus, er lässt sich zur Laufzeit schalten) und einfache Client; seit F3.2a jeder Webserver und Browser und die Dateisysteme; seit F3.2c der Rückweg `projectWithSimulationChanges`: die Firewalls aus dem Schnappschuss des Laufs ins Projekt, wie Java sie beim Speichern hat; seit F3.3a die installierten E-Mail-Server (ein oder aus) und auf dem Rückweg ihre Postfächer | | `test/examplesJava.test.ts`, `test/examples/*.java.json` | — | neu (Abnahme F2): fünf Beispiele von Filius (`internetwork_komplett`, `einfaches_rechnernetz_komplett`, `dns_server`, `nat_with_mapped_port`, `Internet_Komplett_…_DE`) mit dem eigenen Leser eingelesen und im Kern gespielt, gegen Java-Filius (`ExampleRun`): je Karte Frames, Zeiten und Tabellenzeilen, die Aufrufe, die Adressen am Ende; gleichzeitig startende DHCP-Clients je Client; zwei benannte Java-Fehler (`JAVA_BUGS`: Ping ohne Gateway wirft eine `NullPointerException`; NAT-Eintrag nur für die erste Gegenstelle) | | `src/topologyWriter.ts` | Java `SzenarioVerwaltung.netzwerkSpeichern`, Konstruktoren von `NetzwerkInterface`, `Port`, `GUIKabelItem` und der Systemsoftware | neu nach Java: `konfiguration.xml` aus Javas Sicht — Geräte, Schnittstellen (vom Konstruktor angelegte über Getter, weitere per `add`), Ports über Getter-Verweise, Kabel samt Zeichen-Enden (`kabelpanel`), Doku-Elemente; Systemsoftware über ihre Setter: SSID, Lernzeit, RIP, manuelle Routen, DHCP-Client und -Server, statische NAT, Modem, Router-Firewall (über das `konfig`-Plug-in des Webservers, wie XMLEncoder sie erreicht); eigene Anwendungen eines Projekts, wie die Datei sie hatte; Dateisysteme (an die Wurzel des Konstruktors angehängt wie bei XMLEncoder, beim Router hinter dessen Vorlagen); installierte Programme nach den Dateien (Webserver, Tauschbörse und E-Mail-Server legen ihre Ordner nur an, wo sie fehlen; der DNS-Server liest `/dns/hosts` beim Installieren), je unter ihrem Schlüssel mit der Systemsoftware wie `installApp`, samt Einstellungen und persönlicher Firewall; E-Mail: Domain und Bean-Konten des Servers samt Postfächern, Ordner und Adressbuch des Clients (sein Konto steht in `/konten.txt`, einer Datei); Javas Fehler nicht übernommen: ein Empfänger, den eine ältere Datei als Zeichenkette hält, wird als der `AddressEntry` geschrieben, den Javas `AddressEntry(String)` daraus macht (Java legt die Zeichenkette ungeprüft in die typisierte Liste, sein E-Mail-Fenster scheitert daran), ein `null`-Empfänger fällt weg; Kopf „Filius version: 2.14.0 (mdg-filius)“; seit der Abnahme F2 `ipForwardingEnabled`, wo es vom Standard der Klasse abweicht | | `test/topologyWriter.test.ts`, `test/written.java.json` | — | neu: alle 23 Korpus-Dateien gelesen und neu geschrieben, von Java geladen — Topologie, Systemsoftware, Dateisysteme und Programme samt E-Mail wie beim Original (bis auf die benannte Abweichung bei Empfängern als Zeichenkette, nur in `man-in-the-middle.fls`) (Java gegen Java); dazu eine künstliche Topologie mit dem, was der Korpus nicht hat (u. a. eingeschaltete Router-Firewall mit Regeln jedes Protokolls, alle Firewall-Schalter abseits der Vorgabe, Modem mit eigenem Port und Ziel, verschachtelter Dateibaum mit umbenannter Wurzel, namenlosem Ordner, Datei ohne Typ und Inhalt mit CR/CRLF und Zeichen jenseits der BMP, Heimrouter mit eigener Wurzel, jedes Filius-Programm mit Einstellungen abseits der Vorgabe samt persönlicher Firewall, von Java angelegte Ordner `/peer2peer` und `/mailserver`, E-Mail-Server und -Client mit Konto, Postfach, drei Ordnern, Adressbuch und Empfängern aller Formen) | diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 5976c74..463f47e 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -24,6 +24,8 @@ export * from './runtime/apps/echo.js'; export * from './runtime/apps/web.js'; export * from './runtime/apps/routerPages.js'; export * from './runtime/apps/firewallSettings.js'; +export * from './runtime/apps/emailServer.js'; +export * from './runtime/email.js'; export * from './runtime/http.js'; export * from './util/equal.js'; export * from './util/javaBase64.js'; diff --git a/packages/core/src/runtime/apps/emailServer.ts b/packages/core/src/runtime/apps/emailServer.ts new file mode 100644 index 0000000..1fb0bed --- /dev/null +++ b/packages/core/src/runtime/apps/emailServer.ts @@ -0,0 +1,551 @@ +// FILIUS' e-mail server (filius.software.email: EmailServer, SMTPServer, +// SMTPMitarbeiter, POP3Server, POP3Mitarbeiter): accounts of one domain, +// SMTP on port 25 takes mails and stores those for its accounts, POP3 on +// port 110 hands an account its mails. Switched on and off together. The +// window shows each connection's messages both ways and each mail stored. +// +// Departures from Java (emailServer.test.ts names each): +// SMTP +// - after a mail, the envelope is new: the next command counts, and the +// next mail goes only to its own recipients with only its own text (Java +// answers the next command 503 and keeps sender, recipients and text); +// - a command the state does not take gets 503 (Java answers nothing); +// HELO again begins anew; +// - during DATA everything is the mail's text, also "quit" (Java ends); +// - a domain is the server's in any case (Java compares exactly and sends +// such a mail on); +// - a recipient without "@" is unknown, and an empty sender gets no notice +// (Java's worker throws, and the connection ends); a notice to a mail +// without From goes to the envelope's sender (Java writes "To: null"). +// POP3 +// - a message can be retrieved again (Java: only once); +// - LIST without messages, and LIST, RETR, DELE for a message that is not +// there: "-ERR no such message" (Java lists an error, sends an empty mail +// or an empty answer); LIST with a number lists that message (Java lists +// all); a deleted message keeps the other messages' numbers (Java's LIST +// counts them anew, RETR does not); +// - a command before log-in gets "-ERR unknown command", QUIT "+OK", an +// unknown command "-ERR unknown command" (Java answers empty or nothing); +// - a missing or wrong argument is an error (Java's worker throws, and the +// connection ends). + +import type { Id } from '../../ids.js'; +import type { EmailMessage, EmailServerAccount } from '../config.js'; +import { addressEntry, addressList, addressText, formatMail, javaSplit, mailSize, parseMail, type Mail } from '../email.js'; +import type { NetworkRuntimeEngine } from '../engine.js'; +import { javaTrim } from '../http.js'; +import type { Steps } from '../threads.js'; +import { ProgramLog } from './program.js'; +import type { PageLanguage } from './routerPages.js'; +import type { EmailServerSnapshot } from '../snapshot.js'; +import { TcpServerProgram } from './server.js'; + +export const SMTP_PORT = 25; +export const POP3_PORT = 110; + +/** A line of the e-mail server's window. */ +export type EmailServerLogEntry = + /** EmailServer.LINE_SEPARATOR: a connection began. */ + | { readonly kind: 'connectionOpened' } + /** "
< " and the message. */ + | { readonly kind: 'received'; readonly address: string; readonly text: string } + /** "
> " and the answer. */ + | { readonly kind: 'sent'; readonly address: string; readonly text: string } + /** sw_smtpmitarbeiter_msg14: the answer could not be sent. */ + | { readonly kind: 'sendFailed'; readonly address: string } + /** sw_smtpmitarbeiter_msg12, msg13: a mail stored in the account's mailbox. */ + | { readonly kind: 'stored'; readonly username: string }; + +/** A message in a mailbox, as POP3 sees it. */ +export interface MailboxEntry { + mail: Mail; + isNew: boolean; + isMarkedForDeletion: boolean; +} + +export interface MailAccount { + readonly username: string; + readonly password: string; + readonly firstName: string; + readonly lastName: string; + mailbox: MailboxEntry[]; +} + +/** sw_smtpmitarbeiter_msg1 to msg11, the SMTP answers. */ +const SMTP_TEXTS: Record> = { + de: { + welcome: '220 Willkommen bei', + bye: '221 Server beendet Verbindung.', + ok: '250 OK', + senderOk: '250 Sender OK', + syntax: '501 Syntax-Fehler - Parameter oder Argument falsch.', + recipientOk: '250 Recipient OK', + data: '354 End data with .', + order: '503 Falsche Reihenfolge der Kommandos.', + queued: '250 Mail queued for delivery', + }, + en: { + welcome: '220 Welcome to', + bye: '221 Server closed connection.', + ok: '250 OK', + senderOk: '250 Sender OK', + syntax: '501 Syntax error - Parameter or argument wrong.', + recipientOk: '250 Recipient OK', + data: '354 End data with .', + order: '503 Wrong order of commands.', + queued: '250 Mail queued for delivery', + }, +}; + +/** DateFormat.getInstance: short date and time in the project's language. */ +function shortDateTime(milliseconds: number, language: PageLanguage): string { + const date = new Date(milliseconds); + const two = (value: number) => String(value).padStart(2, '0'); + const day = two(date.getDate()); + const month = two(date.getMonth() + 1); + const time = `${two(date.getHours())}:${two(date.getMinutes())}`; + return language === 'de' ? `${day}.${month}.${two(date.getFullYear() % 100)}, ${time}` : `${day}/${month}/${date.getFullYear()}, ${time}`; +} + +/** The connection a session talks over. */ +export interface MailConnection { + readonly address: string; + /** Sends and waits for the acknowledgement; false when it failed. */ + send(text: string): Steps; +} + +/** What the server's sessions share: its domain, accounts and window. */ +export class MailServerState { + constructor( + readonly domain: string, + readonly accounts: MailAccount[], + readonly language: PageLanguage, + readonly log: (entry: EmailServerLogEntry) => void, + /** After each change of a mailbox (EmailServer.kontenSpeichern). */ + readonly changed: () => void, + /** The server's first address (primaryIPAdresse) and the wall clock, for a notice. */ + private readonly ipAddress: () => string, + private readonly now: () => number, + ) {} + + /** EmailServer.sucheKonto: by name in any case. */ + account(username: string): MailAccount | undefined { + const lower = username.toLowerCase(); + return this.accounts.find((each) => each.username.toLowerCase() === lower); + } + + /** EmailServer.pruefeAufSelbeDomain, in any case; an address without "@" has no domain. */ + isOwnDomain(address: string): boolean { + const at = address.indexOf('@'); + return at >= 0 && address.slice(at + 1).toLowerCase() === this.domain.toLowerCase(); + } + + /** SMTPMitarbeiter.verarbeiteEmail: each of the domain's recipients gets the mail as Java reads it anew. */ + deliver(mail: Mail, sender: string, recipients: readonly string[]): void { + const unknown: string[] = []; + for (const recipient of recipients) { + const account = this.isOwnDomain(recipient) ? this.account(javaSplit(recipient, '@')[0] ?? '') : undefined; + if (account !== undefined) { + account.mailbox.push({ mail: parseMail(formatMail(mail)), isNew: true, isMarkedForDeletion: false }); + this.log({ kind: 'stored', username: account.username }); + } else if (this.isOwnDomain(recipient) || !recipient.includes('@')) { + unknown.push(recipient); + } + // Other domains: sent on with the e-mail program (F3.3b). + } + this.changed(); + if (unknown.length > 0) this.notifyUnknown(mail, sender, unknown); + } + + /** EmailServer.sendUnknownReceiverResponse: a notice to a sender of the domain; none for an empty sender. */ + private notifyUnknown(mail: Mail, sender: string, unknown: readonly string[]): void { + const address = addressEntry(sender).mailAddress; + // An empty sender (<>) has no address of the domain. + if (address === null || !this.isOwnDomain(address)) return; + const account = this.account(javaSplit(address, '@')[0] ?? ''); + if (account === undefined) return; + const text = + 'The mail could not be delivered either because user or mail domain is unknown.\n' + + 'Message could not be delivered to the following recipients:\n' + + unknown.map((each) => `\t${each}\n`).join('') + + `\nDate: ${shortDateTime(this.now(), this.language)}\n` + + `Mail-Server: ${this.ipAddress()}\n` + + '\n______________________________________________________________________\n' + + formatMail(mail); + const notice: Mail = { + sender: addressEntry(`noreply@${this.domain}`), + to: [mail.sender ?? { name: null, mailAddress: address }], + cc: [], + bcc: [], + subject: 'Non Delivery Notification', + text, + dateReceived: '', + }; + account.mailbox.push({ mail: notice, isNew: true, isMarkedForDeletion: false }); + this.log({ kind: 'stored', username: account.username }); + this.changed(); + } +} + +type SmtpState = 'start' | 'envelope' | 'data'; + +/** SMTPMitarbeiter: one connection's SMTP dialogue. */ +export class SmtpSession { + private state: SmtpState = 'start'; + private sender: string | undefined; + private recipients: string[] = []; + private source = ''; + closed = false; + + constructor( + private readonly server: MailServerState, + private readonly connection: MailConnection, + ) {} + + private get texts() { + return SMTP_TEXTS[this.server.language]; + } + + /** Sends, then writes the line (Java's senden). */ + private *reply(text: string): Steps { + const sent = yield* this.connection.send(text); + this.server.log(sent ? { kind: 'sent', address: this.connection.address, text } : { kind: 'sendFailed', address: this.connection.address }); + } + + /** The constructor's greeting. */ + *begin(): Steps { + this.server.log({ kind: 'connectionOpened' }); + yield* this.reply(`${this.texts.welcome} ${this.server.domain}`); + } + + private resetEnvelope(): void { + this.sender = undefined; + this.recipients = []; + this.source = ''; + } + + /** SMTPMitarbeiter.verarbeiteNachricht. */ + *receive(message: string): Steps { + this.server.log({ kind: 'received', address: this.connection.address, text: message }); + if (this.state === 'data') { + const lines = javaSplit(message, '\n'); + if (lines.length > 0 && javaTrim(lines[lines.length - 1]!) === '.') { + const mail = parseMail(this.source + message.slice(0, message.lastIndexOf('.'))); + yield* this.reply(this.texts.queued); + const sender = this.sender ?? ''; + const recipients = this.recipients; + this.state = 'envelope'; + this.resetEnvelope(); + this.server.deliver(mail, sender, recipients); + } else { + this.source += message; + } + return; + } + if (javaTrim(message).toLowerCase() === 'quit') { + yield* this.reply(this.texts.bye); + this.closed = true; + return; + } + const space = message.indexOf(' '); + const word = javaTrim(space > 0 ? message.slice(0, space) : message).toLowerCase(); + if (word === 'helo' || word === 'ehlo') { + yield* this.reply(`250 Hello ${space > 0 ? javaTrim(message.slice(space)) : ''}`); + this.state = 'envelope'; + this.resetEnvelope(); + return; + } + if (word === 'noop') { + yield* this.reply(this.texts.ok); + return; + } + if (this.state === 'envelope') { + const colon = message.indexOf(':'); + const command = javaTrim(colon > 0 ? message.slice(0, colon) : message).toLowerCase(); + const start = message.indexOf('<'); + const end = message.indexOf('>'); + const address = start > 0 && end > start ? javaTrim(message.slice(start + 1, end)) : undefined; + if (command === 'mail from') { + if (address !== undefined) this.sender = address; + yield* this.reply(address !== undefined ? this.texts.senderOk : this.texts.syntax); + return; + } + if (command === 'rcpt to') { + if (address !== undefined) this.recipients.push(address); + yield* this.reply(address !== undefined ? this.texts.recipientOk : this.texts.syntax); + return; + } + if (command === 'data' && this.sender !== undefined && this.recipients.length > 0) { + yield* this.reply(this.texts.data); + this.state = 'data'; + return; + } + } + yield* this.reply(this.texts.order); + } +} + +/** POP3Mitarbeiter: one connection's POP3 dialogue; messages numbered from 0, as Java numbers them. */ +export class Pop3Session { + private username: string | undefined; + private userKnown = false; + private account: MailAccount | undefined; + closed = false; + + constructor( + private readonly server: MailServerState, + private readonly connection: MailConnection, + ) {} + + /** Writes the line, then sends (Java's sendeAntwort). */ + private *reply(text: string): Steps { + this.server.log({ kind: 'sent', address: this.connection.address, text }); + yield* this.connection.send(text); + } + + *begin(): Steps { + this.server.log({ kind: 'connectionOpened' }); + yield* this.reply('+OK POP3 server ready'); + } + + /** The message with a number, if there and not deleted. */ + private entry(argument: string | undefined): MailboxEntry | undefined { + if (argument === undefined || !/^[+-]?[0-9]+$/.test(argument)) return undefined; + const entry = this.account?.mailbox[Number.parseInt(argument, 10)]; + return entry === undefined || entry.isMarkedForDeletion ? undefined : entry; + } + + private status(): string { + const kept = this.account!.mailbox.filter((each) => !each.isMarkedForDeletion); + return `+OK ${kept.length} ${kept.reduce((sum, each) => sum + mailSize(each.mail), 0)}`; + } + + /** POP3Mitarbeiter.verarbeiteNachricht. */ + *receive(message: string): Steps { + this.server.log({ kind: 'received', address: this.connection.address, text: message }); + const words = javaSplit(message, ' '); + const command = (words[0] ?? '').toLowerCase(); + const argument = words[1]; + const loggedIn = this.account !== undefined; + const noSuchMessage = '-ERR no such message'; + switch (command) { + case 'user': + if (loggedIn) { + yield* this.reply('-ERR Please enter USER'); + } else if (argument !== undefined && this.server.account(argument) !== undefined) { + this.userKnown = true; + this.username = argument; + yield* this.reply('+OK enter password'); + } else { + // Java takes the name once a user was known, so that PASS fails. + if (this.userKnown) this.username = argument ?? ''; + yield* this.reply('-ERR user or password wrong'); + } + return; + case 'pass': { + if (loggedIn || !this.userKnown) { + yield* this.reply('-ERR Please enter PASS'); + return; + } + const account = this.server.account(this.username!); + if (argument !== undefined && account !== undefined && account.password === argument) { + this.account = account; + yield* this.reply('+OK Mailbox locked and ready'); + } else { + yield* this.reply('-ERR user or password wrong'); + } + return; + } + case 'quit': + if (loggedIn) { + this.account!.mailbox = this.account!.mailbox.filter((each) => !each.isMarkedForDeletion); + this.server.changed(); + } + yield* this.reply('+OK'); + this.closed = true; + return; + case 'noop': + yield* this.reply(loggedIn ? '+OK' : '-ERR unknown command'); + return; + } + if (!loggedIn || !['stat', 'list', 'retr', 'dele', 'rset'].includes(command)) { + yield* this.reply('-ERR unknown command'); + return; + } + const mailbox = this.account!.mailbox; + switch (command) { + case 'stat': + yield* this.reply(this.status()); + return; + case 'list': + if (argument === undefined) { + const lines = mailbox.flatMap((each, index) => (each.isMarkedForDeletion ? [] : [`${index} ${mailSize(each.mail)}\n`])); + yield* this.reply(`${this.status()}\n${lines.join('')}`); + } else { + const entry = this.entry(argument); + yield* this.reply(entry === undefined ? noSuchMessage : `+OK ${Number.parseInt(argument, 10)} ${mailSize(entry.mail)}`); + } + return; + case 'retr': { + const entry = this.entry(argument); + if (entry === undefined) { + yield* this.reply(noSuchMessage); + } else { + entry.isNew = false; + this.server.changed(); + yield* this.reply(`+OK message follows \n${formatMail(entry.mail)}`); + } + return; + } + case 'dele': { + const index = argument !== undefined && /^[+-]?[0-9]+$/.test(argument) ? Number.parseInt(argument, 10) : -1; + const entry = mailbox[index]; + if (entry === undefined) { + yield* this.reply(noSuchMessage); + } else { + entry.isMarkedForDeletion = true; + this.server.changed(); + yield* this.reply('+OK message marked for delete'); + } + return; + } + case 'rset': + for (const each of mailbox) each.isMarkedForDeletion = false; + this.server.changed(); + yield* this.reply('+OK'); + return; + } + } +} + +/** A message of the model as Java has it after loading the server's file: new, not deleted. */ +export function mailboxEntry(message: EmailMessage): MailboxEntry { + const reread = (entries: EmailMessage['to']) => addressList(entries.map((entry) => addressText(entry) ?? '').join(',')); + return { + mail: { + sender: addressEntry(addressText(message.from) ?? ''), + to: reread(message.to), + cc: reread(message.cc), + bcc: reread(message.bcc), + subject: message.subject, + text: message.body, + dateReceived: message.receivedAtMilliseconds === undefined ? '' : String(message.receivedAtMilliseconds), + }, + isNew: true, + isMarkedForDeletion: false, + }; +} + +/** A mailbox's message back in the model, numbered by the caller. */ +export function emailMessage(entry: MailboxEntry, id: number): EmailMessage { + const { mail } = entry; + const received = /^[0-9]+$/.test(mail.dateReceived) ? Number(mail.dateReceived) : undefined; + return { + id, + from: mail.sender ?? { name: null, mailAddress: null }, + to: mail.to, + cc: mail.cc, + bcc: mail.bcc, + subject: mail.subject ?? '', + body: mail.text, + ...(received === undefined ? {} : { receivedAtMilliseconds: received }), + isNew: entry.isNew, + isMarkedForDeletion: entry.isMarkedForDeletion, + isSent: false, + }; +} + +const encode = (text: string) => new TextEncoder().encode(text); + +/** SMTPServer, POP3Server: a server whose connections each hold a session. */ +class MailProtocolServer extends TcpServerProgram { + constructor( + engine: NetworkRuntimeEngine, + nodeId: Id, + port: number, + isActive: boolean, + private readonly open: (connection: MailConnection) => SmtpSession | Pop3Session, + ) { + super(engine, nodeId, { port, isActive }); + } + + /** Never asked: each connection holds a session (converse). */ + protected answer(): string { + return ''; + } + + protected override *converse(socketId: Id, address: string): Steps { + const engine = this.engine; + const session = this.open({ + address, + *send(text: string): Steps { + return (yield* engine.sendTcpSteps(socketId, encode(text))) === 'sent'; + }, + }); + yield* session.begin(); + while (!session.closed) { + const received = yield* engine.receiveTcpSteps(socketId); + if (received.type !== 'message') return; + yield* session.receive(new TextDecoder().decode(received.payload)); + } + } +} + +/** EmailServer: its SMTP and POP3 servers, switched on and off together. */ +export class EmailServer { + readonly log: ProgramLog; + readonly state: MailServerState; + private readonly smtp: MailProtocolServer; + private readonly pop3: MailProtocolServer; + + constructor( + engine: NetworkRuntimeEngine, + nodeId: Id, + configuration: EmailServerSnapshot, + changed: (accounts: readonly EmailServerAccount[]) => void, + ipAddress: () => string, + now: () => number, + ) { + this.log = new ProgramLog(engine); + const accounts: MailAccount[] = configuration.accounts.map((account) => ({ + username: account.username, + password: account.password, + firstName: account.firstName, + lastName: account.lastName, + mailbox: account.mailbox.map(mailboxEntry), + })); + this.state = new MailServerState( + configuration.domain, + accounts, + engine.state.topologySnapshot.language, + (entry) => this.log.write(entry), + () => changed(this.accounts()), + ipAddress, + now, + ); + // POP3 first, as EmailServer.starten (its socket draws the first initial sequence number). + this.pop3 = new MailProtocolServer(engine, nodeId, POP3_PORT, configuration.isActive, (connection) => new Pop3Session(this.state, connection)); + this.smtp = new MailProtocolServer(engine, nodeId, SMTP_PORT, configuration.isActive, (connection) => new SmtpSession(this.state, connection)); + } + + get isActive(): boolean { + return this.smtp.isActive; + } + + setActive(active: boolean): void { + this.pop3.setActive(active); + this.smtp.setActive(active); + } + + /** The accounts as the model keeps them. */ + accounts(): EmailServerAccount[] { + let id = 1; + return this.state.accounts.map((account) => ({ + username: account.username, + password: account.password, + firstName: account.firstName, + lastName: account.lastName, + mailbox: account.mailbox.map((entry) => emailMessage(entry, id++)), + })); + } +} diff --git a/packages/core/src/runtime/apps/server.ts b/packages/core/src/runtime/apps/server.ts index 664965d..338185d 100644 --- a/packages/core/src/runtime/apps/server.ts +++ b/packages/core/src/runtime/apps/server.ts @@ -121,16 +121,21 @@ export abstract class TcpServerProgram { protected abstract answer(message: string): string; /** ServerMitarbeiter.run: each message answered (verarbeiteNachricht, sendeNachricht), until the connection ends. */ - private *serve(socketId: Id, address: string, port: number): Steps { + protected *converse(socketId: Id, _address: string): Steps { for (;;) { const received = yield* this.engine.receiveTcpSteps(socketId); - if (received.type !== 'message') break; + if (received.type !== 'message') return; const text = decode(received.payload); this.log.write({ kind: 'received', text }); const answer = this.answer(text); const result = yield* this.engine.sendTcpSteps(socketId, encode(answer)); this.log.write(result === 'sent' ? { kind: 'sent', text: answer } : { kind: 'sendFailed', failure: result }); } + } + + /** A connection's thread: the dialogue, then the connection closed. */ + private *serve(socketId: Id, address: string, port: number): Steps { + yield* this.converse(socketId, address); this.engine.requestTcpClose(socketId); this.connections.delete(socketId); this.log.write({ kind: 'connectionClosed', address, port }); diff --git a/packages/core/src/runtime/email.ts b/packages/core/src/runtime/email.ts new file mode 100644 index 0000000..4dc63b7 --- /dev/null +++ b/packages/core/src/runtime/email.ts @@ -0,0 +1,117 @@ +// E-mail as FILIUS writes and reads it (filius.software.email: Email, +// AddressEntry, EmailUtils): the text a client sends after DATA and a +// server sends after RETR — header lines From, To, Cc, Subject (and Date +// Received), an empty line, the text — and the addresses in it, "Name +//
", "
", an address or a name alone. +// +// Better than Java: the header ends at its empty line. A field Java does not +// know (X-Mailer) is passed over (Java ends the header there, drops the line +// and reads the fields after it as text); a line that is no field begins the +// text (Java drops it). + +import type { EmailAddress } from './config.js'; +import { javaTrim } from './http.js'; + +/** An e-mail as Java's Email holds it while the programs run. */ +export interface Mail { + /** Null when the text had no From field. */ + readonly sender: EmailAddress | null; + readonly to: readonly EmailAddress[]; + readonly cc: readonly EmailAddress[]; + readonly bcc: readonly EmailAddress[]; + /** Null when the text had no Subject field. */ + readonly subject: string | null; + /** Each line ended by "\n", as Java reads it. */ + readonly text: string; + /** Java's free text; "" when none (Java never sets it). */ + readonly dateReceived: string; +} + +export const EMPTY_MAIL: Mail = { sender: null, to: [], cc: [], bcc: [], subject: null, text: '', dateReceived: '' }; + +/** Java's String.split on a character: trailing empty pieces dropped ("" stays one piece). */ +export function javaSplit(text: string, separator: string): string[] { + const pieces = text.split(separator); + while (pieces.length > 1 && pieces[pieces.length - 1] === '') pieces.pop(); + return pieces.length === 1 && pieces[0] === '' && text !== '' ? [] : pieces; +} + +/** AddressEntry(String): "Name
", "
", an address (with "@"), or a name. */ +export function addressEntry(text: string): EmailAddress { + const trimmed = javaTrim(text); + const start = trimmed.indexOf('<'); + const end = trimmed.indexOf('>'); + if (start >= 0 && end > start) { + return { name: start > 0 ? javaTrim(trimmed.slice(0, start)) : null, mailAddress: javaTrim(trimmed.slice(start + 1, end)) }; + } + if (!trimmed.includes('<') && !trimmed.includes('>') && trimmed.includes('@')) return { name: null, mailAddress: trimmed }; + return { name: trimmed, mailAddress: null }; +} + +/** AddressEntry.toString; Java's null as "null", where Java's strings show it. */ +export function addressText(entry: EmailAddress): string | null { + if (entry.name === null) return entry.mailAddress === null ? null : `<${entry.mailAddress}>`; + return entry.mailAddress === null ? entry.name : `${entry.name} <${entry.mailAddress}>`; +} + +const shown = (entry: EmailAddress) => addressText(entry) ?? 'null'; + +/** EmailUtils.stringToAddressEntryList: the addresses of a comma list, without empty ones. */ +export function addressList(text: string): EmailAddress[] { + return javaSplit(text, ',') + .filter((each) => javaTrim(each) !== '') + .map(addressEntry); +} + +/** Email(String): the header fields Java knows, then the text, each line ended by "\n". */ +export function parseMail(source: string): Mail { + let sender: EmailAddress | null = null; + let to: EmailAddress[] = []; + let cc: EmailAddress[] = []; + let bcc: EmailAddress[] = []; + let subject: string | null = null; + let text = ''; + let header = true; + const list = (data: string) => javaSplit(data, ',').map(addressEntry); + for (const line of javaSplit(source, '\n')) { + if (!header) { + text += `${line}\n`; + continue; + } + const colon = line.indexOf(':'); + if (colon <= 0) { + header = false; + if (javaTrim(line) !== '') text += `${line}\n`; + continue; + } + const name = javaTrim(line.slice(0, colon)).toLowerCase(); + const data = javaTrim(line.slice(colon + 1)); + if (name === 'from') sender = addressEntry(data); + else if (name === 'to') to = list(data); + else if (name === 'cc') cc = list(data); + else if (name === 'bcc') bcc = list(data); + else if (name === 'subject') subject = data; + } + return { sender, to, cc, bcc, subject, text, dateReceived: '' }; +} + +/** Email.toString: the header lines Java writes (no Bcc), an empty line, the text trimmed. */ +export function formatMail(mail: Mail): string { + let result = ''; + if (mail.sender !== null) result += `From: ${shown(mail.sender)}\n`; + if (mail.to.length > 0) result += `To: ${mail.to.map(shown).join(', ')}\n`; + if (mail.cc.length > 0) result += `Cc: ${mail.cc.map(shown).join(', ')}\n`; + if (mail.subject !== null) result += `Subject: ${javaTrim(mail.subject)}\n`; + if (mail.dateReceived !== '') result += `Date Received: ${mail.dateReceived}\n`; + return `${result}\n${javaTrim(mail.text)}`; +} + +/** + * The size POP3Mitarbeiter gives a message (STAT, LIST): the length of its + * text, sender, subject, recipients (as Java prints a list) and date, in + * Java's characters. + */ +export function mailSize(mail: Mail): number { + const sender = mail.sender === null ? 'null' : shown(mail.sender); + return (mail.text + sender + (mail.subject ?? 'null') + `[${mail.to.map(shown).join(', ')}]` + mail.dateReceived).length; +} diff --git a/packages/core/src/runtime/engine.ts b/packages/core/src/runtime/engine.ts index cb377e3..e866127 100644 --- a/packages/core/src/runtime/engine.ts +++ b/packages/core/src/runtime/engine.ts @@ -60,6 +60,7 @@ import { forwardsIPv4ByDefault, isPcClassEndpoint, stableGeneratedMacAddress } f import type { DeviceConfiguration, DhcpServerConfiguration, + EmailServerAccount, FirewallConfiguration, GatewayPortForwardingRow, FirewallRule, @@ -115,6 +116,7 @@ import { RuntimeSpeed } from './speed.js'; import { ApplicationThreads, waitUntil, type Steps, type Wait } from './threads.js'; import { EchoServer, SimpleClient } from './apps/echo.js'; import { WebBrowser, WebServer, type WebServerPage } from './apps/web.js'; +import { EmailServer } from './apps/emailServer.js'; import { firewallLogPage, forwardingTablePage, ripTablePage, routerIndexPage } from './apps/routerPages.js'; import { applyFirewallSettings, firewallSettingsPage } from './apps/firewallSettings.js'; import { VirtualFileSystem } from '../model/virtualFileSystem.js'; @@ -910,6 +912,9 @@ export class NetworkRuntimeEngine { private readonly simpleClientsByNodeId = new Map(); private readonly webServersByNodeId = new Map(); private readonly webBrowsersByNodeId = new Map(); + private readonly emailServersByNodeId = new Map(); + /** The time of day a program writes into a mail (Java's new Date()). */ + private readonly wallClock: () => number; /** Each node's firewall log; it outlives a stop and a new start, as Java's log page does. */ private readonly firewallLogsByNodeId = new Map(); /** Accepted connections a program has taken (acceptTcpSteps). */ @@ -929,6 +934,9 @@ export class NetworkRuntimeEngine { * web administration answers without a socket), likewise. * * `captureRetention`: how many frames each card's packet capture keeps. + * + * `wallClock`: the time of day in milliseconds, which a program writes + * into a mail (the e-mail server's notice); the host's clock by default. */ constructor( seed: bigint | number = DEFAULT_SEED, @@ -939,8 +947,10 @@ export class NetworkRuntimeEngine { readonly swiftSends?: boolean; readonly swiftRouters?: boolean; readonly captureRetention?: CaptureRetentionPolicy; + readonly wallClock?: () => number; } = {}, ) { + this.wallClock = options.wallClock ?? Date.now; this.packetCapture = new PacketCapture(options.captureRetention ?? PRODUCTION_CAPTURE_RETENTION); this.cablesCarryOneFrameAtATime = options.swiftCables !== true; this.swiftArp = options.swiftArp === true; @@ -1032,6 +1042,7 @@ export class NetworkRuntimeEngine { this.simpleClientsByNodeId.clear(); this.webServersByNodeId.clear(); this.webBrowsersByNodeId.clear(); + this.emailServersByNodeId.clear(); this.arpLookups = []; this.protocolThreads.clear(); this.dnsQueriesBySocketId.clear(); @@ -1117,6 +1128,20 @@ export class NetworkRuntimeEngine { return this.webBrowsersByNodeId.get(nodeId); } + /** The node's e-mail server while the simulation runs, if it has one installed. */ + emailServer(nodeId: Id): EmailServer | undefined { + return this.emailServersByNodeId.get(nodeId); + } + + /** An e-mail server's accounts as a run changed them, into the snapshot (and so into the project saved from it). */ + private setEmailServerAccounts(nodeId: Id, accounts: readonly EmailServerAccount[]): void { + const servers = new Map(this.stateValue.topologySnapshot.emailServersByNodeId); + const server = servers.get(nodeId); + if (server === undefined) return; + servers.set(nodeId, { ...server, accounts }); + this.stateValue.topologySnapshot = withSnapshot(this.stateValue.topologySnapshot, { emailServersByNodeId: servers }); + } + /** * Each node's programs start with the simulation (Betriebssystem.starten), * from the snapshot; what they show starts empty. @@ -1127,6 +1152,7 @@ export class NetworkRuntimeEngine { this.simpleClientsByNodeId.clear(); this.webServersByNodeId.clear(); this.webBrowsersByNodeId.clear(); + this.emailServersByNodeId.clear(); for (const node of snapshot.nodes) { const echoServer = snapshot.echoServersByNodeId.get(node.id); if (echoServer !== undefined) this.echoServersByNodeId.set(node.id, new EchoServer(this, node.id, echoServer)); @@ -1137,6 +1163,21 @@ export class NetworkRuntimeEngine { this.webServersByNodeId.set(node.id, new WebServer(this, node.id, webServer, snapshot.fileSystemsByNodeId.get(node.id))); } if (snapshot.webBrowserNodeIds.has(node.id)) this.webBrowsersByNodeId.set(node.id, new WebBrowser(this, node.id)); + const emailServer = snapshot.emailServersByNodeId.get(node.id); + if (emailServer !== undefined) { + const nodeId = node.id; + this.emailServersByNodeId.set( + nodeId, + new EmailServer( + this, + nodeId, + emailServer, + (accounts) => this.setEmailServerAccounts(nodeId, accounts), + () => this.networkInterfaces(nodeId)[0]?.ipAddress ?? 'null', + this.wallClock, + ), + ); + } if ((node.kind === 'router' || node.kind === 'gateway') && !this.swiftRouters) this.startRouterWebServer(node.id, node.kind); } } diff --git a/packages/core/src/runtime/snapshot.ts b/packages/core/src/runtime/snapshot.ts index 6732c40..e66865e 100644 --- a/packages/core/src/runtime/snapshot.ts +++ b/packages/core/src/runtime/snapshot.ts @@ -21,6 +21,7 @@ import type { SimpleClientConfiguration, SwitchConfiguration, WebServerConfiguration, + EmailServerAccount, } from './config.js'; import type { VirtualFileSystem } from '../model/virtualFileSystem.js'; import type { PageLanguage } from './apps/routerPages.js'; @@ -30,6 +31,17 @@ export interface WebServerSnapshot extends WebServerConfiguration { readonly isActive: boolean; } +/** + * An installed e-mail server (EmailServer): its domain, its accounts with + * their mailboxes, and whether it is switched on. Java's server keeps its + * accounts in /mailserver/konten.txt; the model's are what Java loads from it. + */ +export interface EmailServerSnapshot { + readonly domain: string; + readonly accounts: readonly EmailServerAccount[]; + readonly isActive: boolean; +} + /** An installed echo server: its port, and whether it is switched on (Java: ServerBaustein.aktiv). */ export interface EchoServerSnapshot extends EchoServerConfiguration { readonly isActive: boolean; @@ -88,6 +100,8 @@ export interface TopologySnapshot { readonly webServersByNodeId: ReadonlyMap; /** The nodes with the web browser installed (WebBrowser). */ readonly webBrowserNodeIds: ReadonlySet; + /** The installed e-mail servers, by node; a run's deliveries change their mailboxes here. */ + readonly emailServersByNodeId: ReadonlyMap; /** Each node's files, which its programs read (a web server its pages). */ readonly fileSystemsByNodeId: ReadonlyMap; /** The language of the pages the devices write themselves (a router's), as Java's in the locale it runs in. */ @@ -112,6 +126,7 @@ export interface TopologySnapshotInput { simpleClientsByNodeId?: ReadonlyMap; webServersByNodeId?: ReadonlyMap; webBrowserNodeIds?: ReadonlySet; + emailServersByNodeId?: ReadonlyMap; fileSystemsByNodeId?: ReadonlyMap; language?: PageLanguage; } @@ -135,6 +150,7 @@ export function topologySnapshot(input: TopologySnapshotInput): TopologySnapshot simpleClientsByNodeId: input.simpleClientsByNodeId ?? new Map(), webServersByNodeId: input.webServersByNodeId ?? new Map(), webBrowserNodeIds: input.webBrowserNodeIds ?? new Set(), + emailServersByNodeId: input.emailServersByNodeId ?? new Map(), fileSystemsByNodeId: input.fileSystemsByNodeId ?? new Map(), language: input.language ?? 'de', }; diff --git a/packages/core/test/email-server.cases.txt b/packages/core/test/email-server.cases.txt new file mode 100644 index 0000000..fb7011b --- /dev/null +++ b/packages/core/test/email-server.cases.txt @@ -0,0 +1,185 @@ +# Cases for tools/java-oracle's MailCases: FILIUS' SMTP and POP3 workers fed +# with a client's messages, one per line. Read by emailServer.test.ts. +case smtpPlain smtp +HELO 192.168.0.20 +MAIL FROM: +RCPT TO: +DATA +From: Bob Beispiel \u000aTo: \u000aSubject: Gru\u00df\u000a\u000aHallo Anna,\u000awie geht's?\u000d\u000a.\u000d\u000a +QUIT +case smtpTwice smtp +EHLO client +MAIL FROM: +RCPT TO: +DATA +From: \u000aTo: \u000aSubject: Eins\u000a\u000aerster Teil\u000a +zweiter Teil\u000a.\u000a +MAIL FROM: +MAIL FROM: +RCPT TO: +DATA +From: \u000aTo: \u000aSubject: Zwei\u000a\u000aan Bob\u000a.\u000a +QUIT +case smtpStart smtp +DATA +MAIL FROM: +noop +helo + Quit +case smtpHelo smtp +EHLO viele Leerzeichen +NOOP +HELO wieder +case smtpEnvelope smtp +HELO x +MAIL FROM:bob +MAIL FROM: +mail from : +RCPT TO:anna +rcpt to: +RCPT TO: +HELO noch einmal +DATA +Subject: Kopf\u000a\u000aText\u000a.\u000a +case smtpDomainCase smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +Subject: Gross\u000a\u000aText\u000a.\u000a +case smtpHeaders smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +FROM: Bob \u000ato: a@b.de, Carla ,\u000aCc: \u000aBcc: geheim@filius.de\u000aSubject: Zeit: 10 Uhr\u000a\u000aText mit: Doppelpunkt\u000a\u000aAbsatz\u000a.\u000a +case smtpOddHeaders smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +To: x>y@z.de\u000aCc: ,\u000aSubject : mit Leerzeichen\u000a\u000aText\u000a.\u000a +case smtpColonFirst smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +Subject: vorn\u000a: leer\u000a\u000aText\u000a.\u000a +case smtpUnknownHeader smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +From: \u000aX-Mailer: Filius\u000aSubject: Betreff\u000a\u000aText\u000a.\u000a +case smtpNoHeader smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +Hallo\u000aWelt\u000a.\u000a +case smtpDataPieces smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +Subject: Teile\u000a\u000aeins +zwei\u000a + . +case smtpQuitInData smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +Subject: Abbruch\u000a\u000avorher\u000a +quit +case smtpUnknownRecipient smtp +HELO x +MAIL FROM: +RCPT TO: +RCPT TO: +RCPT TO: +DATA +From: Bob Beispiel \u000aTo: \u000aSubject: Wer?\u000a\u000aIst da jemand?\u000a.\u000a +case smtpEmptySender smtp +HELO x +MAIL FROM:<> +RCPT TO: +DATA +Subject: Leer\u000a\u000aText\u000a.\u000a +case smtpWithoutAt smtp +HELO x +MAIL FROM: +RCPT TO: +DATA +Subject: Ohne\u000a\u000aText\u000a.\u000a +case pop3Plain pop3 +USER anna +PASS geheim +STAT +LIST +RETR 0 +RETR 1 +DELE 0 +STAT +RSET +DELE 0 +QUIT +case pop3Again pop3 +USER anna +PASS geheim +RETR 1 +RETR 1 +case pop3Numbers pop3 +USER anna +PASS geheim +DELE 0 +LIST +RETR 0 +RETR 1 +QUIT +case pop3EmptyList pop3 +USER bob +PASS passwort +STAT +LIST +QUIT +case pop3Before pop3 +STAT +LIST +RETR 0 +DELE 0 +RSET +NOOP +QUIT +case pop3Users pop3 +USER niemand +PASS x +user ANNA +PASS falsch +PASS geheim +USER bob +PASS passwort +NOOP +case pop3UserSwitch pop3 +USER anna +USER niemand +PASS geheim +USER anna +PASS GEHEIM +PASS geheim +case pop3BadArguments pop3 +USER anna +PASS geheim +RETR 7 +DELE 7 +RETR -1 +LIST 0 +STAT extra +NOOP +RETR x +case pop3NoArgument pop3 +USER +case pop3TwoSpaces pop3 +USER anna +PASS geheim +RETR 0 diff --git a/packages/core/test/email-server.de.java.json b/packages/core/test/email-server.de.java.json new file mode 100644 index 0000000..dc7a059 --- /dev/null +++ b/packages/core/test/email-server.de.java.json @@ -0,0 +1,6283 @@ +[ + { + "name": "smtpPlain", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO 192.168.0.20", + "sent": [ + "250 Hello 192.168.0.20" + ], + "lines": [ + "192.168.0.20< HELO 192.168.0.20", + "192.168.0.20> 250 Hello 192.168.0.20" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\r\n.\r\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\r\n.\r\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "221 Server beendet Verbindung." + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> 221 Server beendet Verbindung." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpTwice", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "EHLO client", + "sent": [ + "250 Hello client" + ], + "lines": [ + "192.168.0.20< EHLO client", + "192.168.0.20> 250 Hello client" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: \nTo: \nSubject: Eins\n\nerster Teil\n", + "sent": [], + "lines": [ + "192.168.0.20< From: \nTo: \nSubject: Eins\n\nerster Teil\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "zweiter Teil\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< zweiter Teil\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "503 Falsche Reihenfolge der Kommandos." + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 503 Falsche Reihenfolge der Kommandos." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: \nTo: \nSubject: Zwei\n\nan Bob\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: \nTo: \nSubject: Zwei\n\nan Bob\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert.", + "E-Mail für bob im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ], + [ + "bob", + [ + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "221 Server beendet Verbindung." + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> 221 Server beendet Verbindung." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ], + [ + "bob", + [ + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ] + ] + } + ] + }, + { + "name": "smtpStart", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [], + "lines": [ + "192.168.0.20< DATA" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [], + "lines": [ + "192.168.0.20< MAIL FROM:" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "noop", + "sent": [ + "250 OK" + ], + "lines": [ + "192.168.0.20< noop", + "192.168.0.20> 250 OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "helo", + "sent": [ + "250 Hello " + ], + "lines": [ + "192.168.0.20< helo", + "192.168.0.20> 250 Hello " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": " Quit ", + "sent": [ + "221 Server beendet Verbindung." + ], + "lines": [ + "192.168.0.20< Quit ", + "192.168.0.20> 221 Server beendet Verbindung." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpHelo", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "EHLO viele Leerzeichen ", + "sent": [ + "250 Hello viele Leerzeichen" + ], + "lines": [ + "192.168.0.20< EHLO viele Leerzeichen ", + "192.168.0.20> 250 Hello viele Leerzeichen" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "250 OK" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> 250 OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO wieder", + "sent": [], + "lines": [ + "192.168.0.20< HELO wieder" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpEnvelope", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:bob", + "sent": [ + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + "lines": [ + "192.168.0.20< MAIL FROM:bob", + "192.168.0.20> 501 Syntax-Fehler - Parameter oder Argument falsch." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [], + "lines": [ + "192.168.0.20< MAIL FROM:" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "mail from : ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< mail from : ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:anna", + "sent": [ + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + "lines": [ + "192.168.0.20< RCPT TO:anna", + "192.168.0.20> 501 Syntax-Fehler - Parameter oder Argument falsch." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "rcpt to: ", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< rcpt to: ", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO: ", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO: ", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO noch einmal", + "sent": [], + "lines": [ + "192.168.0.20< HELO noch einmal" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Kopf\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Kopf\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert.", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "Subject: Kopf\n\nText", + true, + false + ], + [ + "Subject: Kopf\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpDomainCase", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Gross\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Gross\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpHeaders", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "FROM: Bob \nto: a@b.de, Carla ,\nCc: \nBcc: geheim@filius.de\nSubject: Zeit: 10 Uhr\n\nText mit: Doppelpunkt\n\nAbsatz\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< FROM: Bob \nto: a@b.de, Carla ,\nCc: \nBcc: geheim@filius.de\nSubject: Zeit: 10 Uhr\n\nText mit: Doppelpunkt\n\nAbsatz\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob \nTo: , Carla \nCc: \nSubject: Zeit: 10 Uhr\n\nText mit: Doppelpunkt\n\nAbsatz", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpOddHeaders", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "To: x>y@z.de\nCc: ,\nSubject : mit Leerzeichen\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< To: x>y@z.de\nCc: ,\nSubject : mit Leerzeichen\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "To: x>y@z.de\nSubject: mit Leerzeichen\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpColonFirst", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: vorn\n: leer\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: vorn\n: leer\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "Subject: vorn\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpUnknownHeader", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: \nX-Mailer: Filius\nSubject: Betreff\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: \nX-Mailer: Filius\nSubject: Betreff\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \n\nSubject: Betreff\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpNoHeader", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Hallo\nWelt\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Hallo\nWelt\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "\nWelt", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpDataPieces", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Teile\n\neins", + "sent": [], + "lines": [ + "192.168.0.20< Subject: Teile\n\neins" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "zwei\n", + "sent": [], + "lines": [ + "192.168.0.20< zwei\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": " . ", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< . ", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "Subject: Teile\n\neinszwei", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpQuitInData", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Abbruch\n\nvorher\n", + "sent": [], + "lines": [ + "192.168.0.20< Subject: Abbruch\n\nvorher\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "quit", + "sent": [ + "221 Server beendet Verbindung." + ], + "lines": [ + "192.168.0.20< quit", + "192.168.0.20> 221 Server beendet Verbindung." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpUnknownRecipient", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-Mail für anna im Postfach gespeichert.", + "E-Mail für bob im Postfach gespeichert." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?", + true, + false + ] + ] + ], + [ + "bob", + [ + [ + "From: \nTo: Bob Beispiel \nSubject: Non Delivery Notification\n\nThe mail could not be delivered either because user or mail domain is unknown.\nMessage could not be delivered to the following recipients:\n\tniemand@filius.de\n\tKeiner@filius.de\n\nDate: 10/1/26, 6:55 PM\nMail-Server: 192.168.0.30\n\n______________________________________________________________________\nFrom: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?", + true, + false + ] + ] + ] + ] + } + ] + }, + { + "name": "smtpEmptySender", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:<>", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:<>", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Leer\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Leer\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery" + ], + "closed": false, + "thrown": "NullPointerException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpWithoutAt", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Willkommen bei filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Ohne\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Ohne\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery" + ], + "closed": false, + "thrown": "ArrayIndexOutOfBoundsException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Plain", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "+OK 2 169" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> +OK 2 169" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "+OK 2 169\n0 80\n1 89\n" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> +OK 2 169\n0 80\n1 89\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [ + "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + "lines": [ + "192.168.0.20< RETR 0", + "192.168.0.20> +OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> +OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "+OK message marked for delete" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> +OK message marked for delete" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "+OK 1 89" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> +OK 1 89" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RSET", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< RSET", + "192.168.0.20> +OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "+OK message marked for delete" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> +OK message marked for delete" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> +OK" + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Again", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> +OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "-ERR no such message" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> -ERR no such message" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Numbers", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "+OK message marked for delete" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> +OK message marked for delete" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "+OK 1 89\n0 89\n" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> +OK 1 89\n0 89\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [ + "-ERR no such message" + ], + "lines": [ + "192.168.0.20< RETR 0", + "192.168.0.20> -ERR no such message" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> +OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> +OK" + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3EmptyList", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER bob", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER bob", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS passwort", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS passwort", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "+OK 0 0" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> +OK 0 0" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "-ERR no such message" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> -ERR no such message" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> +OK" + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Before", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< RETR 0", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RSET", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< RSET", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "-ERR unknown command" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> -ERR unknown command" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> " + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Users", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER niemand", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< USER niemand", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS x", + "sent": [ + "-ERR Please enter PASS" + ], + "lines": [ + "192.168.0.20< PASS x", + "192.168.0.20> -ERR Please enter PASS" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "user ANNA", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< user ANNA", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS falsch", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< PASS falsch", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER bob", + "sent": [ + "-ERR Please enter USER" + ], + "lines": [ + "192.168.0.20< USER bob", + "192.168.0.20> -ERR Please enter USER" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS passwort", + "sent": [ + "-ERR Please enter PASS" + ], + "lines": [ + "192.168.0.20< PASS passwort", + "192.168.0.20> -ERR Please enter PASS" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> +OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3UserSwitch", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER niemand", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< USER niemand", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS GEHEIM", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< PASS GEHEIM", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3BadArguments", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 7", + "sent": [ + "+OK message follows \n\n" + ], + "lines": [ + "192.168.0.20< RETR 7", + "192.168.0.20> +OK message follows \n\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 7", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< DELE 7", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR -1", + "sent": [ + "+OK message follows \n\n" + ], + "lines": [ + "192.168.0.20< RETR -1", + "192.168.0.20> +OK message follows \n\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST 0", + "sent": [ + "+OK 2 169\n0 80\n1 89\n" + ], + "lines": [ + "192.168.0.20< LIST 0", + "192.168.0.20> +OK 2 169\n0 80\n1 89\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT extra", + "sent": [ + "+OK 2 169" + ], + "lines": [ + "192.168.0.20< STAT extra", + "192.168.0.20> +OK 2 169" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> +OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR x", + "sent": [], + "lines": [ + "192.168.0.20< RETR x" + ], + "closed": false, + "thrown": "NumberFormatException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3NoArgument", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER", + "sent": [], + "lines": [ + "192.168.0.20< USER" + ], + "closed": false, + "thrown": "ArrayIndexOutOfBoundsException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3TwoSpaces", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [], + "lines": [ + "192.168.0.20< RETR 0" + ], + "closed": false, + "thrown": "NumberFormatException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + } +] diff --git a/packages/core/test/email-server.en.java.json b/packages/core/test/email-server.en.java.json new file mode 100644 index 0000000..a5951c6 --- /dev/null +++ b/packages/core/test/email-server.en.java.json @@ -0,0 +1,6283 @@ +[ + { + "name": "smtpPlain", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO 192.168.0.20", + "sent": [ + "250 Hello 192.168.0.20" + ], + "lines": [ + "192.168.0.20< HELO 192.168.0.20", + "192.168.0.20> 250 Hello 192.168.0.20" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\r\n.\r\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\r\n.\r\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "221 Server closed connection." + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> 221 Server closed connection." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpTwice", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "EHLO client", + "sent": [ + "250 Hello client" + ], + "lines": [ + "192.168.0.20< EHLO client", + "192.168.0.20> 250 Hello client" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: \nTo: \nSubject: Eins\n\nerster Teil\n", + "sent": [], + "lines": [ + "192.168.0.20< From: \nTo: \nSubject: Eins\n\nerster Teil\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "zweiter Teil\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< zweiter Teil\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "503 Wrong order of commands." + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 503 Wrong order of commands." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM: ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM: ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: \nTo: \nSubject: Zwei\n\nan Bob\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: \nTo: \nSubject: Zwei\n\nan Bob\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox.", + "E-mail for bob saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ], + [ + "bob", + [ + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "221 Server closed connection." + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> 221 Server closed connection." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil", + true, + false + ], + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ], + [ + "bob", + [ + [ + "From: \nTo: \nSubject: Eins\n\nerster Teil\nzweiter Teil\nFrom: \nTo: \nSubject: Zwei\n\nan Bob", + true, + false + ] + ] + ] + ] + } + ] + }, + { + "name": "smtpStart", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [], + "lines": [ + "192.168.0.20< DATA" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [], + "lines": [ + "192.168.0.20< MAIL FROM:" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "noop", + "sent": [ + "250 OK" + ], + "lines": [ + "192.168.0.20< noop", + "192.168.0.20> 250 OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "helo", + "sent": [ + "250 Hello " + ], + "lines": [ + "192.168.0.20< helo", + "192.168.0.20> 250 Hello " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": " Quit ", + "sent": [ + "221 Server closed connection." + ], + "lines": [ + "192.168.0.20< Quit ", + "192.168.0.20> 221 Server closed connection." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpHelo", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "EHLO viele Leerzeichen ", + "sent": [ + "250 Hello viele Leerzeichen" + ], + "lines": [ + "192.168.0.20< EHLO viele Leerzeichen ", + "192.168.0.20> 250 Hello viele Leerzeichen" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "250 OK" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> 250 OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO wieder", + "sent": [], + "lines": [ + "192.168.0.20< HELO wieder" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpEnvelope", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:bob", + "sent": [ + "501 Syntax error - Parameter or argument wrong." + ], + "lines": [ + "192.168.0.20< MAIL FROM:bob", + "192.168.0.20> 501 Syntax error - Parameter or argument wrong." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [], + "lines": [ + "192.168.0.20< MAIL FROM:" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "mail from : ", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< mail from : ", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:anna", + "sent": [ + "501 Syntax error - Parameter or argument wrong." + ], + "lines": [ + "192.168.0.20< RCPT TO:anna", + "192.168.0.20> 501 Syntax error - Parameter or argument wrong." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "rcpt to: ", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< rcpt to: ", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO: ", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO: ", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO noch einmal", + "sent": [], + "lines": [ + "192.168.0.20< HELO noch einmal" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Kopf\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Kopf\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox.", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "Subject: Kopf\n\nText", + true, + false + ], + [ + "Subject: Kopf\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpDomainCase", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Gross\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Gross\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpHeaders", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "FROM: Bob \nto: a@b.de, Carla ,\nCc: \nBcc: geheim@filius.de\nSubject: Zeit: 10 Uhr\n\nText mit: Doppelpunkt\n\nAbsatz\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< FROM: Bob \nto: a@b.de, Carla ,\nCc: \nBcc: geheim@filius.de\nSubject: Zeit: 10 Uhr\n\nText mit: Doppelpunkt\n\nAbsatz\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob \nTo: , Carla \nCc: \nSubject: Zeit: 10 Uhr\n\nText mit: Doppelpunkt\n\nAbsatz", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpOddHeaders", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "To: x>y@z.de\nCc: ,\nSubject : mit Leerzeichen\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< To: x>y@z.de\nCc: ,\nSubject : mit Leerzeichen\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "To: x>y@z.de\nSubject: mit Leerzeichen\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpColonFirst", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: vorn\n: leer\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: vorn\n: leer\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "Subject: vorn\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpUnknownHeader", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: \nX-Mailer: Filius\nSubject: Betreff\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: \nX-Mailer: Filius\nSubject: Betreff\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: \n\nSubject: Betreff\n\nText", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpNoHeader", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Hallo\nWelt\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Hallo\nWelt\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "\nWelt", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpDataPieces", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Teile\n\neins", + "sent": [], + "lines": [ + "192.168.0.20< Subject: Teile\n\neins" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "zwei\n", + "sent": [], + "lines": [ + "192.168.0.20< zwei\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": " . ", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< . ", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "Subject: Teile\n\neinszwei", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpQuitInData", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Abbruch\n\nvorher\n", + "sent": [], + "lines": [ + "192.168.0.20< Subject: Abbruch\n\nvorher\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "quit", + "sent": [ + "221 Server closed connection." + ], + "lines": [ + "192.168.0.20< quit", + "192.168.0.20> 221 Server closed connection." + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpUnknownRecipient", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "From: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< From: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n", + "192.168.0.20> 250 Mail queued for delivery", + "E-mail for anna saved in mailbox.", + "E-mail for bob saved in mailbox." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ], + [ + "From: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?", + true, + false + ] + ] + ], + [ + "bob", + [ + [ + "From: \nTo: Bob Beispiel \nSubject: Non Delivery Notification\n\nThe mail could not be delivered either because user or mail domain is unknown.\nMessage could not be delivered to the following recipients:\n\tniemand@filius.de\n\tKeiner@filius.de\n\nDate: 10/1/26, 6:55 PM\nMail-Server: 192.168.0.30\n\n______________________________________________________________________\nFrom: Bob Beispiel \nTo: \nSubject: Wer?\n\nIst da jemand?", + true, + false + ] + ] + ] + ] + } + ] + }, + { + "name": "smtpEmptySender", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:<>", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:<>", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Leer\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Leer\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery" + ], + "closed": false, + "thrown": "NullPointerException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "smtpWithoutAt", + "protocol": "smtp", + "steps": [ + { + "message": null, + "sent": [ + "220 Welcome to filius.de" + ], + "lines": [ + "----", + "192.168.0.20> 220 Welcome to filius.de" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "HELO x", + "sent": [ + "250 Hello x" + ], + "lines": [ + "192.168.0.20< HELO x", + "192.168.0.20> 250 Hello x" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "MAIL FROM:", + "sent": [ + "250 Sender OK" + ], + "lines": [ + "192.168.0.20< MAIL FROM:", + "192.168.0.20> 250 Sender OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RCPT TO:", + "sent": [ + "250 Recipient OK" + ], + "lines": [ + "192.168.0.20< RCPT TO:", + "192.168.0.20> 250 Recipient OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DATA", + "sent": [ + "354 End data with ." + ], + "lines": [ + "192.168.0.20< DATA", + "192.168.0.20> 354 End data with ." + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "Subject: Ohne\n\nText\n.\n", + "sent": [ + "250 Mail queued for delivery" + ], + "lines": [ + "192.168.0.20< Subject: Ohne\n\nText\n.\n", + "192.168.0.20> 250 Mail queued for delivery" + ], + "closed": false, + "thrown": "ArrayIndexOutOfBoundsException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Plain", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "+OK 2 169" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> +OK 2 169" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "+OK 2 169\n0 80\n1 89\n" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> +OK 2 169\n0 80\n1 89\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [ + "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + "lines": [ + "192.168.0.20< RETR 0", + "192.168.0.20> +OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> +OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "+OK message marked for delete" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> +OK message marked for delete" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "+OK 1 89" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> +OK 1 89" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RSET", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< RSET", + "192.168.0.20> +OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "+OK message marked for delete" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> +OK message marked for delete" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + false, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> +OK" + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Again", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> +OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "-ERR no such message" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> -ERR no such message" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Numbers", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "+OK message marked for delete" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> +OK message marked for delete" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "+OK 1 89\n0 89\n" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> +OK 1 89\n0 89\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [ + "-ERR no such message" + ], + "lines": [ + "192.168.0.20< RETR 0", + "192.168.0.20> -ERR no such message" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 1", + "sent": [ + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "lines": [ + "192.168.0.20< RETR 1", + "192.168.0.20> +OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + true + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> +OK" + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + false, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3EmptyList", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER bob", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER bob", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS passwort", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS passwort", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "+OK 0 0" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> +OK 0 0" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "-ERR no such message" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> -ERR no such message" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> +OK" + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Before", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< STAT", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< LIST", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< RETR 0", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 0", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< DELE 0", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RSET", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< RSET", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "-ERR unknown command" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> -ERR unknown command" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "QUIT", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< QUIT", + "192.168.0.20> " + ], + "closed": true, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3Users", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER niemand", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< USER niemand", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS x", + "sent": [ + "-ERR Please enter PASS" + ], + "lines": [ + "192.168.0.20< PASS x", + "192.168.0.20> -ERR Please enter PASS" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "user ANNA", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< user ANNA", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS falsch", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< PASS falsch", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER bob", + "sent": [ + "-ERR Please enter USER" + ], + "lines": [ + "192.168.0.20< USER bob", + "192.168.0.20> -ERR Please enter USER" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS passwort", + "sent": [ + "-ERR Please enter PASS" + ], + "lines": [ + "192.168.0.20< PASS passwort", + "192.168.0.20> -ERR Please enter PASS" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> +OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3UserSwitch", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER niemand", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< USER niemand", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS GEHEIM", + "sent": [ + "-ERR user or password wrong" + ], + "lines": [ + "192.168.0.20< PASS GEHEIM", + "192.168.0.20> -ERR user or password wrong" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3BadArguments", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 7", + "sent": [ + "+OK message follows \n\n" + ], + "lines": [ + "192.168.0.20< RETR 7", + "192.168.0.20> +OK message follows \n\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "DELE 7", + "sent": [ + "" + ], + "lines": [ + "192.168.0.20< DELE 7", + "192.168.0.20> " + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR -1", + "sent": [ + "+OK message follows \n\n" + ], + "lines": [ + "192.168.0.20< RETR -1", + "192.168.0.20> +OK message follows \n\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "LIST 0", + "sent": [ + "+OK 2 169\n0 80\n1 89\n" + ], + "lines": [ + "192.168.0.20< LIST 0", + "192.168.0.20> +OK 2 169\n0 80\n1 89\n" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "STAT extra", + "sent": [ + "+OK 2 169" + ], + "lines": [ + "192.168.0.20< STAT extra", + "192.168.0.20> +OK 2 169" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "NOOP", + "sent": [ + "+OK" + ], + "lines": [ + "192.168.0.20< NOOP", + "192.168.0.20> +OK" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR x", + "sent": [], + "lines": [ + "192.168.0.20< RETR x" + ], + "closed": false, + "thrown": "NumberFormatException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3NoArgument", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER", + "sent": [], + "lines": [ + "192.168.0.20< USER" + ], + "closed": false, + "thrown": "ArrayIndexOutOfBoundsException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + }, + { + "name": "pop3TwoSpaces", + "protocol": "pop3", + "steps": [ + { + "message": null, + "sent": [ + "+OK POP3 server ready" + ], + "lines": [ + "----", + "192.168.0.20> +OK POP3 server ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "USER anna", + "sent": [ + "+OK enter password" + ], + "lines": [ + "192.168.0.20< USER anna", + "192.168.0.20> +OK enter password" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "PASS geheim", + "sent": [ + "+OK Mailbox locked and ready" + ], + "lines": [ + "192.168.0.20< PASS geheim", + "192.168.0.20> +OK Mailbox locked and ready" + ], + "closed": false, + "thrown": null, + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + }, + { + "message": "RETR 0", + "sent": [], + "lines": [ + "192.168.0.20< RETR 0" + ], + "closed": false, + "thrown": "NumberFormatException", + "accounts": [ + [ + "anna", + [ + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + true, + false + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + true, + false + ] + ] + ], + [ + "bob", + [] + ] + ] + } + ] + } +] diff --git a/packages/core/test/emailJava.test.ts b/packages/core/test/emailJava.test.ts new file mode 100644 index 0000000..6c7043a --- /dev/null +++ b/packages/core/test/emailJava.test.ts @@ -0,0 +1,160 @@ +// The e-mail server as Java FILIUS runs it. tools/java-oracle's EmailRun let +// FILIUS' generic client talk SMTP and POP3 to an e-mail server on +// mail-lan's network and wrote every frame each card saw, Java's tables of +// them, the lines of the server's and the client's windows, and the +// server's accounts at the end (email-java-.java.json). The engine +// plays the same stories with its programs (apps/emailServer.ts, the +// generic client of apps/echo.ts): each card's frames in the same order, +// with the same content and rows, at about the same time; each window's +// lines as Java's, at about the same time; the same accounts at the end. +// Java's errors in these dialogues are measured without a network +// (emailServer.test.ts); these stories keep to what Java does right. + +import { readFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { describe, expect, it } from 'vitest'; +import { formatMail, withSnapshot, type LogLine, type NetworkRuntimeEngine } from '../src/index.js'; +import { expectSameCaptures, GAP_TOLERANCE_MILLISECONDS, watchedEngine, withClientPortText, type JavaFrame, type JavaTables } from './javaRun.js'; +import { MAIL_ACCOUNTS } from './mailAccounts.js'; +import { clientText, emailServerText, isPolled, POLL_MILLISECONDS } from './programLines.js'; +import { snapshotOf, type Scenario } from './scenario.js'; + +const scenarioDirectory = join(dirname(fileURLToPath(import.meta.url)), 'scenarios'); + +const CLIENT = '00000000-0000-0000-0000-000000000201'; +const SERVER = '00000000-0000-0000-0000-000000000203'; + +type Program = 'server' | 'client'; + +interface JavaRun extends JavaTables { + frames: Record; + events: [number, Program, string][]; + /** Each account's name and its messages: Email.toString, new, marked for deletion. */ + accounts: [string, ...[string, string, string][]][]; +} + +type Act = (engine: NetworkRuntimeEngine) => void; + +/** EmailRun's calls at their times: connecting takes 2.5 s, each message 1.5 s, from 500 ms on. */ +function story(...parts: (readonly ['connect', number] | readonly ['send', ...string[]] | readonly ['wait', number])[]): [number, Act][] { + const acts: [number, Act][] = []; + let at = 500; + for (const [kind, ...rest] of parts) { + if (kind === 'connect') { + const port = rest[0] as number; + acts.push([at, (engine) => engine.simpleClient(CLIENT)!.connect('192.168.0.30', port)]); + at += 2_500; + } else if (kind === 'send') { + for (const text of rest as string[]) { + acts.push([at, (engine) => engine.simpleClient(CLIENT)!.send(text)]); + at += 1_500; + } + } else { + at += rest[0] as number; + } + } + return acts; +} + +const STORIES: Record = { + smtp: story( + ['connect', 25], + [ + 'send', + 'HELO 192.168.0.20', + 'MAIL FROM: ', + 'RCPT TO:', + 'DATA', + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\r\n.\r\n", + 'QUIT', + ], + ), + smtpErrors: story( + ['connect', 25], + [ + 'send', + 'NOOP', + 'EHLO', + 'DATA', + 'MAIL FROM: bob@filius.de', + 'RCPT TO:', + 'DATA', + 'MAIL FROM:', + 'RCPT TO: anna', + 'NOOP', + 'DATA', + 'From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n', + 'QUIT', + ], + ), + pop3: story( + ['connect', 110], + ['send', 'USER anna', 'PASS geheim', 'STAT', 'LIST', 'RETR 0', 'RETR 1', 'DELE 0', 'DELE 1', 'QUIT'], + ['wait', 1_000], + ['connect', 110], + ['send', 'USER anna', 'PASS geheim', 'STAT', 'QUIT'], + ), + pop3Errors: story(['connect', 110], ['send', 'NOOP', 'USER niemand', 'PASS x', 'USER anna', 'PASS falsch', 'PASS geheim', 'NOOP', 'USER bob', 'QUIT']), +}; + +/** A notice's date: Java's in its locale and the time it ran. */ +const withoutDate = (text: string) => text.replace(/\nDate: [^\n]*\n/g, '\nDate: \n'); + +type Lines = Record; + +function javaLines(java: JavaRun): Lines { + const lines: Lines = { server: [], client: [] }; + for (const [time, program, text] of java.events) { + // Anwendung.starten and the server's refreshes tell their observers nothing (null), which the windows skip. + if (text === 'null' || text.startsWith('call ')) continue; + lines[program].push([time, withClientPortText(text)]); + } + return lines; +} + +function engineLines(engine: NetworkRuntimeEngine): Lines { + const lines = (log: readonly LogLine[], text: (entry: E) => string): [number, string][] => + log.map((line) => [line.timeMilliseconds, withClientPortText(text(line))]); + return { server: lines(engine.emailServer(SERVER)!.log.all, (entry) => emailServerText(entry)), client: lines(engine.simpleClient(CLIENT)!.log.all, clientText) }; +} + +describe('the e-mail server as Java FILIUS runs it', () => { + const scenario = JSON.parse(readFileSync(join(scenarioDirectory, 'mail-lan.scenario.json'), 'utf8')) as Scenario; + const snapshot = withSnapshot(snapshotOf(scenario), { + emailServersByNodeId: new Map([[SERVER, { domain: 'filius.de', accounts: MAIL_ACCOUNTS, isActive: true }]]), + simpleClientsByNodeId: new Map([[CLIENT, { targetAddress: '', targetPort: 25 }]]), + }); + + for (const [name, acts] of Object.entries(STORIES)) { + it(name, () => { + const java = JSON.parse(readFileSync(join(scenarioDirectory, `email-java-${name}.java.json`), 'utf8')) as JavaRun; + const { engine } = watchedEngine(scenario, snapshot); + for (const [time, act] of acts) { + engine.handle({ type: 'advance', toMilliseconds: time }); + act(engine); + } + engine.handle({ type: 'advance', toMilliseconds: Math.max(...java.events.map(([time]) => time)) + 5_000 }); + + expectSameCaptures(engine, scenario, java.frames, { text: (text) => withoutDate(withClientPortText(text)), tables: java, cell: withoutDate }); + + const expected = javaLines(java); + const actual = engineLines(engine); + for (const program of ['server', 'client'] as const) { + expect(actual[program].map(([, text]) => text), `${program}'s lines`).toEqual(expected[program].map(([, text]) => text)); + for (const [index, [javaTime, text]] of expected[program].entries()) { + const late = javaTime - actual[program][index]![0]; + const most = (isPolled(text) ? POLL_MILLISECONDS : 0) + GAP_TOLERANCE_MILLISECONDS; + expect(late, `${program}'s line ${JSON.stringify(text.slice(0, 60))}`).toBeGreaterThanOrEqual(-GAP_TOLERANCE_MILLISECONDS); + expect(late, `${program}'s line ${JSON.stringify(text.slice(0, 60))}`).toBeLessThanOrEqual(most); + } + } + + const accounts = engine.emailServer(SERVER)!.state.accounts.map((account) => [ + account.username, + ...account.mailbox.map((entry) => [withoutDate(formatMail(entry.mail)), String(entry.isNew), String(entry.isMarkedForDeletion)]), + ]); + expect(accounts).toEqual(java.accounts.map(([username, ...mails]) => [username, ...mails.map(([text, isNew, deleted]) => [withoutDate(text), isNew, deleted])])); + }); + } +}); diff --git a/packages/core/test/emailServer.test.ts b/packages/core/test/emailServer.test.ts new file mode 100644 index 0000000..a4a0114 --- /dev/null +++ b/packages/core/test/emailServer.test.ts @@ -0,0 +1,389 @@ +// The e-mail server's SMTP and POP3 dialogues (apps/emailServer.ts) against +// Java FILIUS' own: tools/java-oracle's MailCases fed Java's workers with the +// messages of email-server.cases.txt (email-server..java.json). After +// each message: what was sent, the window's lines, whether the connection +// was closed, and the accounts must be Java's, in both languages, except +// where Java errs. + +import { readFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { describe, expect, it } from 'vitest'; +import { + addressEntry, + deviceConfiguration, + NetworkRuntimeEngine, + topologySnapshot, + type TopologySnapshotInput, + addressText, + formatMail, + mailboxEntry, + MailServerState, + mailSize, + parseMail, + Pop3Session, + SmtpSession, + type EmailServerLogEntry, + type MailAccount, + type PageLanguage, + type Steps, +} from '../src/index.js'; +import { link, pc, uuid } from './fixtures.js'; +import { MAIL_ACCOUNTS } from './mailAccounts.js'; +import { emailServerText } from './programLines.js'; + +const here = dirname(fileURLToPath(import.meta.url)); + +type JavaAccounts = [string, [string, boolean, boolean][]][]; + +interface JavaStep { + message: string | null; + sent: string[]; + lines: string[]; + closed: boolean; + thrown: string | null; + accounts: JavaAccounts; +} + +interface JavaCase { + name: string; + protocol: 'smtp' | 'pop3'; + steps: JavaStep[]; +} + +const CLIENT = '192.168.0.20'; + +/** Runs a dialogue's steps to their end: nothing waits here, the connection sends at once. */ +function run(steps: Steps): void { + for (let next = steps.next(); next.done !== true; next = steps.next()) throw new Error('a step waited'); +} + +/** The session's own run of a case: each step as MailCases writes Java's. */ +function play(javaCase: JavaCase, language: PageLanguage): JavaStep[] { + const lines: EmailServerLogEntry[] = []; + const accounts: MailAccount[] = MAIL_ACCOUNTS.map((account) => ({ ...account, mailbox: account.mailbox.map(mailboxEntry) })); + const state = new MailServerState( + 'filius.de', + accounts, + language, + (entry) => lines.push(entry), + () => undefined, + () => '192.168.0.30', + () => 0, + ); + const sent: string[] = []; + const connection = { + address: CLIENT, + *send(text: string): Steps { + sent.push(text); + return true; + }, + }; + const session = javaCase.protocol === 'smtp' ? new SmtpSession(state, connection) : new Pop3Session(state, connection); + const step = (text: string | null): JavaStep => { + const result: JavaStep = { + message: text, + sent: [...sent], + lines: lines.map((entry) => emailServerText(entry, language)), + closed: session.closed, + thrown: null, + accounts: accounts.map((account) => [account.username, account.mailbox.map((entry) => [formatMail(entry.mail), entry.isNew, entry.isMarkedForDeletion])]), + }; + sent.length = 0; + lines.length = 0; + return result; + }; + run(session.begin()); + const steps = [step(null)]; + for (const each of javaCase.steps.slice(1)) { + run(session.receive(each.message!)); + steps.push(step(each.message)); + } + return steps; +} + +/** Java's date of a notice, in its locale and time: a placeholder. */ +const withoutDate = (text: string) => text.replace(/\nDate: [^\n]*\n/g, '\nDate: \n'); + +const stored = (username: string, language: PageLanguage) => emailServerText({ kind: 'stored', username }, language); + +/** + * A step as Java means it: the answers given, the window's lines rebuilt + * from them (received, sent, then the mails stored), the accounts as given. + */ +function fixed( + step: JavaStep, + language: PageLanguage, + changes: { sent?: string[]; stored?: string[]; accounts?: JavaAccounts; closed?: boolean }, +): JavaStep { + const sent = changes.sent ?? step.sent; + const storedLines = changes.stored?.map((username) => stored(username, language)) ?? step.lines.filter((line) => !line.startsWith(`${CLIENT}`)); + return { + ...step, + sent, + lines: [`${CLIENT}< ${step.message}`, ...sent.map((text) => `${CLIENT}> ${text}`), ...storedLines], + closed: changes.closed ?? step.closed, + thrown: null, + accounts: changes.accounts ?? step.accounts, + }; +} + +type Fix = (steps: JavaStep[], language: PageLanguage) => JavaStep[]; + +/** Each step from `from` on with the accounts given (a mail Java stores differently changes every later step). */ +const accountsFrom = (steps: JavaStep[], from: number, accounts: JavaAccounts) => steps.map((step, index) => (index >= from ? { ...step, accounts } : step)); + +const order = (language: PageLanguage) => (language === 'de' ? '503 Falsche Reihenfolge der Kommandos.' : '503 Wrong order of commands.'); +const queued = '250 Mail queued for delivery'; +const noSuchMessage = '-ERR no such message'; +const unknownCommand = '-ERR unknown command'; + +function addTo(accounts: JavaAccounts, username: string, ...mails: [string, boolean, boolean][]): JavaAccounts { + return accounts.map(([name, mailbox]) => [name, name === username ? [...mailbox, ...mails] : mailbox]); +} + +/** + * Where Java errs, the case as Java means it (the core's departures, see + * emailServer.ts). + */ +const JAVA_BUGS: Record = { + // After a mail Java answers the next command 503 and keeps sender, + // recipients and text: the second mail went to anna too, with the first's text. + smtpTwice: (steps, language) => { + const start = steps[0]!.accounts; + const first = steps[6]!.accounts.find(([name]) => name === 'anna')![1].at(-1)!; + const second: [string, boolean, boolean] = ['From: \nTo: \nSubject: Zwei\n\nan Bob', true, false]; + const result = steps.map((step, index) => (index === 7 ? fixed(step, language, { sent: ['250 Sender OK'] }) : step)); + result[11] = fixed(steps[11]!, language, { stored: ['bob'] }); + return accountsFrom(result, 11, addTo(addTo(start, 'anna', first), 'bob', second)); + }, + // A command the state does not take: Java answers nothing. + smtpStart: (steps, language) => steps.map((step, index) => (index === 1 || index === 2 ? fixed(step, language, { sent: [order(language)] }) : step)), + // HELO again: Java answers nothing; the core begins anew. + smtpHelo: (steps, language) => steps.map((step, index) => (index === 3 ? fixed(step, language, { sent: ['250 Hello wieder'] }) : step)), + // "MAIL FROM" (two spaces) and HELO again: Java answers nothing. After + // HELO the envelope is new: DATA and the text are out of order, nothing is stored. + smtpEnvelope: (steps, language) => { + const result = steps.map((step, index) => { + if (index === 3) return fixed(step, language, { sent: [order(language)] }); + if (index === 8) return fixed(step, language, { sent: ['250 Hello noch einmal'] }); + if (index === 9 || index === 10) return fixed(step, language, { sent: [order(language)], stored: [] }); + return step; + }); + return accountsFrom(result, 10, steps[0]!.accounts); + }, + // Java compares the domain exactly and sends the mail on; anna@FILIUS.DE is anna's. + smtpDomainCase: (steps, language) => { + const mail: [string, boolean, boolean] = ['Subject: Gross\n\nText', true, false]; + const result = steps.map((step, index) => (index === 5 ? fixed(step, language, { stored: ['anna'] }) : step)); + return accountsFrom(result, 5, addTo(steps[0]!.accounts, 'anna', mail)); + }, + // A field Java does not know ends its header, and Subject became text. + smtpUnknownHeader: (steps) => accountsFrom(steps, 5, addTo(steps[0]!.accounts, 'anna', ['From: \nSubject: Betreff\n\nText', true, false])), + // A line without a field name (": leer") ends Java's header and is dropped; the core's text begins with it. + smtpColonFirst: (steps) => accountsFrom(steps, 5, addTo(steps[0]!.accounts, 'anna', ['Subject: vorn\n\n: leer\n\nText', true, false])), + // Without a header Java drops the first line. + smtpNoHeader: (steps) => accountsFrom(steps, 5, addTo(steps[0]!.accounts, 'anna', ['\nHallo\nWelt', true, false])), + // "quit" during DATA: Java ends the connection; it is the mail's text. + smtpQuitInData: (steps, language) => steps.map((step, index) => (index === 6 ? { ...fixed(step, language, { sent: [], closed: false }), lines: [`${CLIENT}< quit`] } : step)), + // An empty sender: Java's notice throws (NullPointerException); none is sent. + smtpEmptySender: (steps, language) => steps.map((step, index) => (index === 5 ? fixed(step, language, {}) : step)), + // A recipient without "@": Java's delivery throws; the core sends the sender a notice, to the + // envelope's sender, as the mail has no From. + smtpWithoutAt: (steps, language) => { + const notice: [string, boolean, boolean] = [ + 'From: \nTo: \nSubject: Non Delivery Notification\n\n' + + 'The mail could not be delivered either because user or mail domain is unknown.\nMessage could not be delivered to the following recipients:\n\tanna\n\n' + + 'Date: \nMail-Server: 192.168.0.30\n\n______________________________________________________________________\nSubject: Ohne\n\nText', + true, + false, + ]; + const result = steps.map((step, index) => (index === 5 ? fixed(step, language, { sent: [queued], stored: ['bob'] }) : step)); + return accountsFrom(result, 5, addTo(steps[0]!.accounts, 'bob', notice)); + }, + // RETR of a message retrieved before: Java refuses. + pop3Again: (steps, language) => steps.map((step, index) => (index === 4 ? fixed(step, language, { sent: steps[3]!.sent }) : step)), + // After DELE 0, Java's LIST numbers the other message 0; RETR 0 still means the deleted one. + pop3Numbers: (steps, language) => steps.map((step, index) => (index === 4 ? fixed(step, language, { sent: ['+OK 1 89\n1 89\n'] }) : step)), + // LIST without messages: Java's list fails. + pop3EmptyList: (steps, language) => steps.map((step, index) => (index === 4 ? fixed(step, language, { sent: ['+OK 0 0\n'] }) : step)), + // Before log-in Java answers empty. + pop3Before: (steps, language) => + steps.map((step, index) => (index >= 1 && index <= 5 ? fixed(step, language, { sent: [unknownCommand] }) : index === 7 ? fixed(step, language, { sent: ['+OK'] }) : step)), + // A message that is not there: Java sends an empty mail or an empty + // answer; LIST 0 lists all; RETR x throws and ends the connection. + pop3BadArguments: (steps, language) => + steps.map((step, index) => { + if (index === 3 || index === 4 || index === 5 || index === 9) return fixed(step, language, { sent: [noSuchMessage] }); + if (index === 6) return fixed(step, language, { sent: ['+OK 0 80'] }); + return step; + }), + // USER without a name: Java throws and ends the connection. + pop3NoArgument: (steps, language) => steps.map((step, index) => (index === 1 ? fixed(step, language, { sent: ['-ERR user or password wrong'] }) : step)), + // Two spaces before the number: Java throws and ends the connection. + pop3TwoSpaces: (steps, language) => steps.map((step, index) => (index === 3 ? fixed(step, language, { sent: [noSuchMessage] }) : step)), +}; + +function javaCases(language: PageLanguage): JavaCase[] { + return JSON.parse(readFileSync(join(here, `email-server.${language}.java.json`), 'utf8')) as JavaCase[]; +} + +const placeholders = (step: JavaStep): JavaStep => ({ + ...step, + accounts: step.accounts.map(([name, mailbox]) => [name, mailbox.map(([text, isNew, deleted]) => [withoutDate(text), isNew, deleted])]), +}); + +describe("the e-mail server's dialogues as Java FILIUS answers them", () => { + for (const language of ['de', 'en'] as const) { + const cases = javaCases(language); + + it(`corrects Java only where it errs (${language})`, () => { + for (const [name, fix] of Object.entries(JAVA_BUGS)) { + const javaCase = cases.find((each) => each.name === name)!; + expect(JSON.stringify(fix(javaCase.steps, language)), name).not.toBe(JSON.stringify(javaCase.steps)); + } + }); + + for (const javaCase of cases) { + it(`${javaCase.name} (${language})`, () => { + const expected = (JAVA_BUGS[javaCase.name]?.(javaCase.steps, language) ?? javaCase.steps).map(placeholders); + const actual = play(javaCase, language).map(placeholders); + for (const [index, step] of expected.entries()) expect(actual[index], `step ${index}: ${JSON.stringify(step.message)}`).toEqual(step); + }); + } + } +}); + +describe('e-mail as Java writes it', () => { + it('reads addresses as AddressEntry does', () => { + expect(addressEntry(' Anna Muster ')).toEqual({ name: 'Anna Muster', mailAddress: 'anna@filius.de' }); + expect(addressEntry('')).toEqual({ name: null, mailAddress: 'anna@filius.de' }); + expect(addressEntry('anna@filius.de')).toEqual({ name: null, mailAddress: 'anna@filius.de' }); + expect(addressEntry('Anna')).toEqual({ name: 'Anna', mailAddress: null }); + expect(addressEntry('a>bb { + const mail = parseMail('From: A \nTo: x@y.de, Y \nBcc: geheim@b.de\nSubject: Hallo \n\nText\n'); + expect(mail.bcc).toEqual([{ name: null, mailAddress: 'geheim@b.de' }]); + expect(formatMail(mail)).toBe('From: A \nTo: , Y \nSubject: Hallo\n\nText'); + expect(mailSize(mail)).toBe('Text\n'.length + 'A '.length + 'Hallo'.length + '[, Y ]'.length); + expect(mailSize(parseMail('\nx'))).toBe('x\n'.length + 'null'.length * 2 + '[]'.length); + }); +}); + +const SERVER = uuid(0x5001); +const HOST = uuid(0x5002); + +function mailNetwork(): TopologySnapshotInput { + return { + nodes: [pc(SERVER, uuid(0x5011)), pc(HOST, uuid(0x5012))], + links: [link(SERVER, uuid(0x5011), HOST, uuid(0x5012))], + deviceConfigurations: new Map([ + [SERVER, deviceConfiguration('10.0.0.1', '255.255.255.0', '', '')], + [HOST, deviceConfiguration('10.0.0.2', '255.255.255.0', '', '')], + ]), + emailServersByNodeId: new Map([[SERVER, { domain: 'filius.de', accounts: MAIL_ACCOUNTS, isActive: true }]]), + }; +} + +/** Connects to the server's port and sends each message, each after the answer to the one before; the answers, the greeting first. */ +function talk(engine: NetworkRuntimeEngine, port: number, ...messages: string[]): string[] { + const socket = engine.openTcpClientSocket(HOST, '10.0.0.1', port)!; + if (engine.connectTcpWithResult(socket) !== 'connected') return []; + const answers: string[] = []; + const receive = () => { + engine.handle({ type: 'advance', toMilliseconds: engine.state.currentTimeMilliseconds + 2_000 }); + const answer = engine.receiveTcp(socket); + if (answer !== undefined) answers.push(new TextDecoder().decode(answer)); + }; + receive(); + for (const message of messages) { + engine.sendTcp(socket, new TextEncoder().encode(message)); + receive(); + } + return answers; +} + +describe('the e-mail server beyond the cases', () => { + it('writes a failed answer as Java does (sw_smtpmitarbeiter_msg14)', () => { + const lines: EmailServerLogEntry[] = []; + const state = new MailServerState('filius.de', [], 'de', (entry) => lines.push(entry), () => undefined, () => '10.0.0.1', () => 0); + const session = new SmtpSession(state, { + address: '10.0.0.2', + *send(): Steps { + return false; + }, + }); + run(session.begin()); + expect(lines.map((entry) => emailServerText(entry))).toEqual(['----', 'Fehler beim Senden an 10.0.0.2']); + }); + + it("takes a model's message as Java loads it from its file: the date, the subject trimmed when written, no sender as an empty name", () => { + const entry = mailboxEntry({ ...MAIL_ACCOUNTS[0]!.mailbox[0]!, subject: ' Termin ', receivedAtMilliseconds: 1_000, from: { name: null, mailAddress: null } }); + expect(formatMail(entry.mail)).toBe('From: \nTo: \nSubject: Termin\nDate Received: 1000\n\nErste Zeile\nZweite Zeile'); + expect(entry.mail.subject).toBe(' Termin '); + }); +}); + +describe('the e-mail server in the engine', () => { + it('switches SMTP and POP3 on and off together', () => { + const engine = new NetworkRuntimeEngine(14); + engine.handle({ type: 'start', snapshot: topologySnapshot(mailNetwork()), seed: 14, initialTimeMilliseconds: 0 }); + const server = engine.emailServer(SERVER)!; + expect(server.isActive).toBe(true); + server.setActive(false); + engine.handle({ type: 'advance', toMilliseconds: 1_000 }); + expect(server.isActive).toBe(false); + expect(talk(engine, 25)).toEqual([]); + expect(talk(engine, 110)).toEqual([]); + server.setActive(true); + expect(talk(engine, 25, 'QUIT')).toEqual(['220 Willkommen bei filius.de', '221 Server beendet Verbindung.']); + expect(talk(engine, 110, 'QUIT')).toEqual(['+OK POP3 server ready', '+OK']); + }); + + it('keeps its mailboxes in the snapshot: a mail taken, a mail deleted; a new start begins from there', () => { + const engine = new NetworkRuntimeEngine(14); + engine.handle({ type: 'start', snapshot: topologySnapshot({ ...mailNetwork(), language: 'en' }), seed: 14, initialTimeMilliseconds: 0 }); + talk(engine, 25, 'HELO x', 'MAIL FROM:', 'RCPT TO:', 'DATA', 'Bcc: \nSubject: Neu\n\nText\r\n.\r\n', 'QUIT'); + talk(engine, 25, 'HELO x', 'MAIL FROM:', 'RCPT TO:', 'DATA', 'Ohne Kopf\n.\n', 'QUIT'); + const mailbox = (username = 'bob') => engine.state.topologySnapshot.emailServersByNodeId.get(SERVER)!.accounts.find((account) => account.username === username)!.mailbox; + // Stored as Java reads the mail anew: no Bcc, no "\r". + expect(mailbox()).toEqual([expect.objectContaining({ id: 4, bcc: [], subject: 'Neu', body: 'Text\n', isNew: true, isMarkedForDeletion: false })]); + expect(mailbox('anna').at(-1)).toEqual(expect.objectContaining({ from: { name: null, mailAddress: null }, subject: '', body: 'Ohne Kopf\n' })); + expect(talk(engine, 110, 'USER bob', 'PASS passwort', 'RETR 0', 'DELE 0')).toEqual([ + '+OK POP3 server ready', + '+OK enter password', + '+OK Mailbox locked and ready', + '+OK message follows \nSubject: Neu\n\nText', + '+OK message marked for delete', + ]); + expect(mailbox()).toEqual([expect.objectContaining({ isNew: false, isMarkedForDeletion: true })]); + engine.handle({ type: 'stop' }); + engine.handle({ type: 'start', snapshot: engine.state.topologySnapshot, seed: 14, initialTimeMilliseconds: 0 }); + // As Java loads its file: every message new, none deleted; no sender is an empty name ("Text\n", "", "Neu", "[]"). + expect(talk(engine, 110, 'USER bob', 'PASS passwort', 'STAT', 'DELE 0', 'QUIT')).toEqual([ + '+OK POP3 server ready', + '+OK enter password', + '+OK Mailbox locked and ready', + '+OK 1 10', + '+OK message marked for delete', + '+OK', + ]); + expect(mailbox()).toEqual([]); + }); + + it("writes a notice's date in the project's language, at the wall clock's time", () => { + const at = new Date(2026, 9, 1, 18, 5).getTime(); + const notice = (language: PageLanguage) => { + const accounts: MailAccount[] = MAIL_ACCOUNTS.map((account) => ({ ...account, mailbox: [] })); + const state = new MailServerState('filius.de', accounts, language, () => undefined, () => undefined, () => '10.0.0.1', () => at); + state.deliver(parseMail('Subject: x\n\ny\n'), 'anna@filius.de', ['niemand@filius.de']); + return formatMail(accounts[0]!.mailbox[0]!.mail); + }; + expect(notice('de')).toContain('\nDate: 01.10.26, 18:05\nMail-Server: 10.0.0.1\n'); + expect(notice('en')).toContain('\nDate: 01/10/2026, 18:05\n'); + expect(notice('de')).toContain('To: \n'); + }); +}); diff --git a/packages/core/test/mailAccounts.ts b/packages/core/test/mailAccounts.ts new file mode 100644 index 0000000..ff0a860 --- /dev/null +++ b/packages/core/test/mailAccounts.ts @@ -0,0 +1,44 @@ +// The accounts of tools/java-oracle's EmailRun and MailCases (EmailRun.ACCOUNTS, +// Java's /mailserver/konten.txt) as the model holds them: anna with a mail +// from bob and one from carla, bob without mail. + +import type { EmailServerAccount } from '../src/index.js'; + +const message = (fields: Partial): EmailServerAccount['mailbox'][number] => ({ + id: 0, + from: { name: null, mailAddress: null }, + to: [], + cc: [], + bcc: [], + subject: '', + body: '', + isNew: true, + isMarkedForDeletion: false, + isSent: false, + ...fields, +}); + +export const MAIL_ACCOUNTS: readonly EmailServerAccount[] = [ + { + username: 'anna', + password: 'geheim', + firstName: 'Anna', + lastName: 'Muster', + mailbox: [ + message({ id: 1, from: { name: 'Bob Beispiel', mailAddress: 'bob@filius.de' }, to: [{ name: null, mailAddress: 'anna@filius.de' }], subject: 'Hallo Anna', body: 'Erste Zeile\nZweite Zeile' }), + message({ + id: 2, + from: { name: 'Carla', mailAddress: 'carla@andere.de' }, + to: [ + { name: 'Anna Muster', mailAddress: 'anna@filius.de' }, + { name: null, mailAddress: 'bob@filius.de' }, + ], + cc: [{ name: null, mailAddress: 'chef@filius.de' }], + subject: 'Termin', + body: 'Morgen um 10?', + }), + ], + }, + { username: 'bob', password: 'passwort', firstName: 'Bob', lastName: 'Beispiel', mailbox: [] }, +]; + diff --git a/packages/core/test/programLines.ts b/packages/core/test/programLines.ts index 6ca5f11..a6b1310 100644 --- a/packages/core/test/programLines.ts +++ b/packages/core/test/programLines.ts @@ -2,7 +2,7 @@ // message bundle says them: for comparing the core's structured lines with // what the Java oracle recorded (echoJava.test.ts, webJava.test.ts). -import type { EchoServerLogEntry, SendFailure, SimpleClientLogEntry, WebBrowserLogEntry } from '../src/index.js'; +import type { EchoServerLogEntry, EmailServerLogEntry, PageLanguage, SendFailure, SimpleClientLogEntry, WebBrowserLogEntry } from '../src/index.js'; /** Java's client and server look every 100 ms whether they are connected, or switched off; the core at once. */ export const POLL_MILLISECONDS = 100; @@ -88,3 +88,19 @@ export function browserText(entry: WebBrowserLogEntry): string | undefined { } } } + +/** The e-mail server's line as Java's window shows it (sw_smtpmitarbeiter_msg12 to msg14 in both languages). */ +export function emailServerText(entry: EmailServerLogEntry, language: PageLanguage = 'de'): string { + switch (entry.kind) { + case 'connectionOpened': + return '----'; + case 'received': + return `${entry.address}< ${entry.text}`; + case 'sent': + return `${entry.address}> ${entry.text}`; + case 'sendFailed': + return language === 'de' ? `Fehler beim Senden an ${entry.address}` : `Error while sending ${entry.address}`; + case 'stored': + return language === 'de' ? `E-Mail für ${entry.username} im Postfach gespeichert.` : `E-mail for ${entry.username} saved in mailbox.`; + } +} diff --git a/packages/core/test/scenarios/email-java-pop3.java.json b/packages/core/test/scenarios/email-java-pop3.java.json new file mode 100644 index 0000000..6d87aca --- /dev/null +++ b/packages/core/test/scenarios/email-java-pop3.java.json @@ -0,0 +1,10264 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000201": [ + { + "time": 517, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 751, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 753, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 980, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 3000001 + }, + { + "time": 980, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000001 + }, + { + "time": 1237, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK POP3 server ready", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1237, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000022 + }, + { + "time": 3000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "USER anna", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000022, + "acknowledgement": 3000010 + }, + { + "time": 3279, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK enter password", + "tcpFlags": "P", + "sequence": 1000022, + "acknowledgement": 0 + }, + { + "time": 3280, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000010, + "acknowledgement": 1000040 + }, + { + "time": 4500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "PASS geheim", + "tcpFlags": "P", + "sequence": 3000010, + "acknowledgement": 0 + }, + { + "time": 4723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000040, + "acknowledgement": 3000021 + }, + { + "time": 4779, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK Mailbox locked and ready", + "tcpFlags": "P", + "sequence": 1000040, + "acknowledgement": 0 + }, + { + "time": 4779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000021, + "acknowledgement": 1000068 + }, + { + "time": 6001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "STAT", + "tcpFlags": "P", + "sequence": 3000021, + "acknowledgement": 0 + }, + { + "time": 6223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000068, + "acknowledgement": 3000025 + }, + { + "time": 6278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK 2 169", + "tcpFlags": "P", + "sequence": 1000068, + "acknowledgement": 0 + }, + { + "time": 6279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000025, + "acknowledgement": 1000077 + }, + { + "time": 7501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "LIST", + "tcpFlags": "P", + "sequence": 3000025, + "acknowledgement": 0 + }, + { + "time": 7723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000077, + "acknowledgement": 3000029 + }, + { + "time": 7778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK 2 169\n0 80\n1 89\n", + "tcpFlags": "P", + "sequence": 1000077, + "acknowledgement": 0 + }, + { + "time": 7778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000029, + "acknowledgement": 1000097 + }, + { + "time": 9000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "RETR 0", + "tcpFlags": "P", + "sequence": 3000029, + "acknowledgement": 0 + }, + { + "time": 9223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000097, + "acknowledgement": 3000035 + }, + { + "time": 9278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + "tcpFlags": "P", + "sequence": 1000097, + "acknowledgement": 0 + }, + { + "time": 9278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000035, + "acknowledgement": 1000219 + }, + { + "time": 10500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "RETR 1", + "tcpFlags": "P", + "sequence": 3000035, + "acknowledgement": 0 + }, + { + "time": 10722, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000219, + "acknowledgement": 3000041 + }, + { + "time": 10778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + "tcpFlags": "P", + "sequence": 1000219, + "acknowledgement": 0 + }, + { + "time": 10778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000041, + "acknowledgement": 1000371 + }, + { + "time": 12000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "DELE 0", + "tcpFlags": "P", + "sequence": 3000041, + "acknowledgement": 0 + }, + { + "time": 12222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000371, + "acknowledgement": 3000047 + }, + { + "time": 12277, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message marked for delete", + "tcpFlags": "P", + "sequence": 1000371, + "acknowledgement": 0 + }, + { + "time": 12278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000047, + "acknowledgement": 1000400 + }, + { + "time": 13501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "DELE 1", + "tcpFlags": "P", + "sequence": 3000047, + "acknowledgement": 0 + }, + { + "time": 13723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000400, + "acknowledgement": 3000053 + }, + { + "time": 13778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message marked for delete", + "tcpFlags": "P", + "sequence": 1000400, + "acknowledgement": 0 + }, + { + "time": 13778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000053, + "acknowledgement": 1000429 + }, + { + "time": 15000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000053, + "acknowledgement": 0 + }, + { + "time": 15222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000429, + "acknowledgement": 3000057 + }, + { + "time": 15278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 1000429, + "acknowledgement": 0 + }, + { + "time": 15278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000057, + "acknowledgement": 1000432 + }, + { + "time": 15500, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "F", + "sequence": 1000432, + "acknowledgement": 0 + }, + { + "time": 15501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000057, + "acknowledgement": 1000433 + }, + { + "time": 15556, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "F", + "sequence": 3000057, + "acknowledgement": 0 + }, + { + "time": 15778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000433, + "acknowledgement": 3000058 + }, + { + "time": 17501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "S", + "sequence": 5000000, + "acknowledgement": 0 + }, + { + "time": 17723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "SA", + "sequence": 4000000, + "acknowledgement": 5000001 + }, + { + "time": 17723, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000001, + "acknowledgement": 4000001 + }, + { + "time": 17971, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK POP3 server ready", + "tcpFlags": "P", + "sequence": 4000001, + "acknowledgement": 0 + }, + { + "time": 17972, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000001, + "acknowledgement": 4000022 + }, + { + "time": 20000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "USER anna", + "tcpFlags": "P", + "sequence": 5000001, + "acknowledgement": 0 + }, + { + "time": 20222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000022, + "acknowledgement": 5000010 + }, + { + "time": 20277, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK enter password", + "tcpFlags": "P", + "sequence": 4000022, + "acknowledgement": 0 + }, + { + "time": 20277, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000010, + "acknowledgement": 4000040 + }, + { + "time": 21500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "PASS geheim", + "tcpFlags": "P", + "sequence": 5000010, + "acknowledgement": 0 + }, + { + "time": 21722, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000040, + "acknowledgement": 5000021 + }, + { + "time": 21777, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK Mailbox locked and ready", + "tcpFlags": "P", + "sequence": 4000040, + "acknowledgement": 0 + }, + { + "time": 21778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000021, + "acknowledgement": 4000068 + }, + { + "time": 23000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "STAT", + "tcpFlags": "P", + "sequence": 5000021, + "acknowledgement": 0 + }, + { + "time": 23222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000068, + "acknowledgement": 5000025 + }, + { + "time": 23278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK 0 0", + "tcpFlags": "P", + "sequence": 4000068, + "acknowledgement": 0 + }, + { + "time": 23279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000025, + "acknowledgement": 4000075 + }, + { + "time": 24500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 5000025, + "acknowledgement": 0 + }, + { + "time": 24722, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000075, + "acknowledgement": 5000029 + }, + { + "time": 24777, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 4000075, + "acknowledgement": 0 + }, + { + "time": 24777, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000029, + "acknowledgement": 4000078 + }, + { + "time": 24999, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "F", + "sequence": 4000078, + "acknowledgement": 0 + }, + { + "time": 24999, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000029, + "acknowledgement": 4000079 + }, + { + "time": 25055, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "F", + "sequence": 5000029, + "acknowledgement": 0 + }, + { + "time": 25276, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000079, + "acknowledgement": 5000030 + } + ], + "00000000-0000-0000-0000-000000000202": [ + { + "time": 638, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ], + "00000000-0000-0000-0000-000000000203": [ + { + "time": 638, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 639, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 866, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 868, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 3000001 + }, + { + "time": 1091, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000001 + }, + { + "time": 1126, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK POP3 server ready", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1348, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000022 + }, + { + "time": 3112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "USER anna", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000022, + "acknowledgement": 3000010 + }, + { + "time": 3168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK enter password", + "tcpFlags": "P", + "sequence": 1000022, + "acknowledgement": 0 + }, + { + "time": 3391, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000010, + "acknowledgement": 1000040 + }, + { + "time": 4612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "PASS geheim", + "tcpFlags": "P", + "sequence": 3000010, + "acknowledgement": 0 + }, + { + "time": 4612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000040, + "acknowledgement": 3000021 + }, + { + "time": 4667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK Mailbox locked and ready", + "tcpFlags": "P", + "sequence": 1000040, + "acknowledgement": 0 + }, + { + "time": 4890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000021, + "acknowledgement": 1000068 + }, + { + "time": 6112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "STAT", + "tcpFlags": "P", + "sequence": 3000021, + "acknowledgement": 0 + }, + { + "time": 6112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000068, + "acknowledgement": 3000025 + }, + { + "time": 6168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK 2 169", + "tcpFlags": "P", + "sequence": 1000068, + "acknowledgement": 0 + }, + { + "time": 6390, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000025, + "acknowledgement": 1000077 + }, + { + "time": 7612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "LIST", + "tcpFlags": "P", + "sequence": 3000025, + "acknowledgement": 0 + }, + { + "time": 7612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000077, + "acknowledgement": 3000029 + }, + { + "time": 7667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK 2 169\n0 80\n1 89\n", + "tcpFlags": "P", + "sequence": 1000077, + "acknowledgement": 0 + }, + { + "time": 7890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000029, + "acknowledgement": 1000097 + }, + { + "time": 9111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "RETR 0", + "tcpFlags": "P", + "sequence": 3000029, + "acknowledgement": 0 + }, + { + "time": 9112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000097, + "acknowledgement": 3000035 + }, + { + "time": 9167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + "tcpFlags": "P", + "sequence": 1000097, + "acknowledgement": 0 + }, + { + "time": 9389, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000035, + "acknowledgement": 1000219 + }, + { + "time": 10611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "RETR 1", + "tcpFlags": "P", + "sequence": 3000035, + "acknowledgement": 0 + }, + { + "time": 10612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000219, + "acknowledgement": 3000041 + }, + { + "time": 10667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + "tcpFlags": "P", + "sequence": 1000219, + "acknowledgement": 0 + }, + { + "time": 10889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000041, + "acknowledgement": 1000371 + }, + { + "time": 12111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "DELE 0", + "tcpFlags": "P", + "sequence": 3000041, + "acknowledgement": 0 + }, + { + "time": 12111, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000371, + "acknowledgement": 3000047 + }, + { + "time": 12167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message marked for delete", + "tcpFlags": "P", + "sequence": 1000371, + "acknowledgement": 0 + }, + { + "time": 12388, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000047, + "acknowledgement": 1000400 + }, + { + "time": 13612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "DELE 1", + "tcpFlags": "P", + "sequence": 3000047, + "acknowledgement": 0 + }, + { + "time": 13612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000400, + "acknowledgement": 3000053 + }, + { + "time": 13667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK message marked for delete", + "tcpFlags": "P", + "sequence": 1000400, + "acknowledgement": 0 + }, + { + "time": 13889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000053, + "acknowledgement": 1000429 + }, + { + "time": 15111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000053, + "acknowledgement": 0 + }, + { + "time": 15111, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000429, + "acknowledgement": 3000057 + }, + { + "time": 15167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 1000429, + "acknowledgement": 0 + }, + { + "time": 15389, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000057, + "acknowledgement": 1000432 + }, + { + "time": 15390, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "F", + "sequence": 1000432, + "acknowledgement": 0 + }, + { + "time": 15611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000057, + "acknowledgement": 1000433 + }, + { + "time": 15667, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 65526, + "destinationPort": 110, + "payload": null, + "tcpFlags": "F", + "sequence": 3000057, + "acknowledgement": 0 + }, + { + "time": 15667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 65526, + "payload": null, + "tcpFlags": "A", + "sequence": 1000433, + "acknowledgement": 3000058 + }, + { + "time": 17612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "S", + "sequence": 5000000, + "acknowledgement": 0 + }, + { + "time": 17612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "SA", + "sequence": 4000000, + "acknowledgement": 5000001 + }, + { + "time": 17834, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000001, + "acknowledgement": 4000001 + }, + { + "time": 17860, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK POP3 server ready", + "tcpFlags": "P", + "sequence": 4000001, + "acknowledgement": 0 + }, + { + "time": 18082, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000001, + "acknowledgement": 4000022 + }, + { + "time": 20111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "USER anna", + "tcpFlags": "P", + "sequence": 5000001, + "acknowledgement": 0 + }, + { + "time": 20111, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000022, + "acknowledgement": 5000010 + }, + { + "time": 20166, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK enter password", + "tcpFlags": "P", + "sequence": 4000022, + "acknowledgement": 0 + }, + { + "time": 20388, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000010, + "acknowledgement": 4000040 + }, + { + "time": 21611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "PASS geheim", + "tcpFlags": "P", + "sequence": 5000010, + "acknowledgement": 0 + }, + { + "time": 21611, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000040, + "acknowledgement": 5000021 + }, + { + "time": 21667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK Mailbox locked and ready", + "tcpFlags": "P", + "sequence": 4000040, + "acknowledgement": 0 + }, + { + "time": 21888, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000021, + "acknowledgement": 4000068 + }, + { + "time": 23111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "STAT", + "tcpFlags": "P", + "sequence": 5000021, + "acknowledgement": 0 + }, + { + "time": 23112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000068, + "acknowledgement": 5000025 + }, + { + "time": 23167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK 0 0", + "tcpFlags": "P", + "sequence": 4000068, + "acknowledgement": 0 + }, + { + "time": 23390, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000025, + "acknowledgement": 4000075 + }, + { + "time": 24611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 5000025, + "acknowledgement": 0 + }, + { + "time": 24611, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000075, + "acknowledgement": 5000029 + }, + { + "time": 24666, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 4000075, + "acknowledgement": 0 + }, + { + "time": 24888, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000029, + "acknowledgement": 4000078 + }, + { + "time": 24888, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "F", + "sequence": 4000078, + "acknowledgement": 0 + }, + { + "time": 25110, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 5000029, + "acknowledgement": 4000079 + }, + { + "time": 25165, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 63726, + "destinationPort": 110, + "payload": null, + "tcpFlags": "F", + "sequence": 5000029, + "acknowledgement": 0 + }, + { + "time": 25165, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 63726, + "payload": null, + "tcpFlags": "A", + "sequence": 4000079, + "acknowledgement": 5000030 + } + ], + "00000000-0000-0000-0000-000000000204": [ + { + "time": 638, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER anna" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.010" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.010, ACK: 1.000.040" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.010" + ], + [ + "12", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.040, ACK: 3.000.021" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.040" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.021, ACK: 1.000.068" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.021" + ], + [ + "16", + "192.168.0.20:65526", + "192.168.0.30:110", + "", + "Anwendung", + "STAT" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.068, ACK: 3.000.025" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.068" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK 2 169" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.025, ACK: 1.000.077" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.025" + ], + [ + "20", + "192.168.0.20:65526", + "192.168.0.30:110", + "", + "Anwendung", + "LIST" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.077, ACK: 3.000.029" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.077" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK 2 169\n0 80\n1 89\n" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.029, ACK: 1.000.097" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.029" + ], + [ + "24", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "RETR 0" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.097, ACK: 3.000.035" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.097" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.035, ACK: 1.000.219" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.035" + ], + [ + "28", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "RETR 1" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.219, ACK: 3.000.041" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.219" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.041, ACK: 1.000.371" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.041" + ], + [ + "32", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "DELE 0" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.371, ACK: 3.000.047" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.371" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.047, ACK: 1.000.400" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.047" + ], + [ + "36", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "DELE 1" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.400, ACK: 3.000.053" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.400" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.053, ACK: 1.000.429" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.053" + ], + [ + "40", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.429, ACK: 3.000.057" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.429" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.432" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "FIN, SEQ: 1.000.432" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.433" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.057" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.433, ACK: 3.000.058" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SYN, SEQ: 5.000.000" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000, ACK: 5.000.001" + ], + [ + "50", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.001" + ], + [ + "51", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "51", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.022" + ], + [ + "53", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.001" + ], + [ + "53", + "192.168.0.20:63726", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER anna" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.022, ACK: 5.000.010" + ], + [ + "55", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.022" + ], + [ + "55", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "56", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.010, ACK: 4.000.040" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.010" + ], + [ + "57", + "192.168.0.20:63726", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "58", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 5.000.021" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.040" + ], + [ + "59", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "60", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "60", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "60", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.021, ACK: 4.000.068" + ], + [ + "61", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "61", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "61", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.021" + ], + [ + "61", + "192.168.0.20:63726", + "192.168.0.30:110", + "", + "Anwendung", + "STAT" + ], + [ + "62", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "62", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "62", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.068, ACK: 5.000.025" + ], + [ + "63", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "63", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "63", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.068" + ], + [ + "63", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK 0 0" + ], + [ + "64", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "64", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "64", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.025, ACK: 4.000.075" + ], + [ + "65", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "65", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "65", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.025" + ], + [ + "65", + "192.168.0.20:63726", + "192.168.0.30:110", + "POP3", + "Anwendung", + "QUIT" + ], + [ + "66", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "66", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "66", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.075, ACK: 5.000.029" + ], + [ + "67", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "67", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "67", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.075" + ], + [ + "67", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK" + ], + [ + "68", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "68", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "68", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.078" + ], + [ + "69", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "69", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "69", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "FIN, SEQ: 4.000.078" + ], + [ + "70", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "70", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "70", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.079" + ], + [ + "71", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "71", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "71", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "FIN, SEQ: 5.000.029" + ], + [ + "72", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "72", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "72", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.079, ACK: 5.000.030" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER anna" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.010" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.010, ACK: 1.000.040" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.010" + ], + [ + "12", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.040, ACK: 3.000.021" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.040" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.021, ACK: 1.000.068" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.021" + ], + [ + "16", + "192.168.0.20:65526", + "192.168.0.30:110", + "", + "Anwendung", + "STAT" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.068, ACK: 3.000.025" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.068" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK 2 169" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.025, ACK: 1.000.077" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.025" + ], + [ + "20", + "192.168.0.20:65526", + "192.168.0.30:110", + "", + "Anwendung", + "LIST" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.077, ACK: 3.000.029" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.077" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK 2 169\n0 80\n1 89\n" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.029, ACK: 1.000.097" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.029" + ], + [ + "24", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "RETR 0" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.097, ACK: 3.000.035" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.097" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.035, ACK: 1.000.219" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.035" + ], + [ + "28", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "RETR 1" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.219, ACK: 3.000.041" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.219" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.041, ACK: 1.000.371" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.041" + ], + [ + "32", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "DELE 0" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.371, ACK: 3.000.047" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.371" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.047, ACK: 1.000.400" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.047" + ], + [ + "36", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "DELE 1" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.400, ACK: 3.000.053" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.400" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.053, ACK: 1.000.429" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.053" + ], + [ + "40", + "192.168.0.20:65526", + "192.168.0.30:110", + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.429, ACK: 3.000.057" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.429" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:65526", + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.432" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "FIN, SEQ: 1.000.432" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.433" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "192.168.0.20:65526", + "192.168.0.30:110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.057" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "192.168.0.30:110", + "192.168.0.20:65526", + "TCP", + "Transport", + "SEQ: 1.000.433, ACK: 3.000.058" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SYN, SEQ: 5.000.000" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000, ACK: 5.000.001" + ], + [ + "50", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.001" + ], + [ + "51", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "51", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.022" + ], + [ + "53", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.001" + ], + [ + "53", + "192.168.0.20:63726", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER anna" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.022, ACK: 5.000.010" + ], + [ + "55", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.022" + ], + [ + "55", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "56", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.010, ACK: 4.000.040" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.010" + ], + [ + "57", + "192.168.0.20:63726", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "58", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 5.000.021" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.040" + ], + [ + "59", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "60", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "60", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "60", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.021, ACK: 4.000.068" + ], + [ + "61", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "61", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "61", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.021" + ], + [ + "61", + "192.168.0.20:63726", + "192.168.0.30:110", + "", + "Anwendung", + "STAT" + ], + [ + "62", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "62", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "62", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.068, ACK: 5.000.025" + ], + [ + "63", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "63", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "63", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.068" + ], + [ + "63", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK 0 0" + ], + [ + "64", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "64", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "64", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.025, ACK: 4.000.075" + ], + [ + "65", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "65", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "65", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.025" + ], + [ + "65", + "192.168.0.20:63726", + "192.168.0.30:110", + "POP3", + "Anwendung", + "QUIT" + ], + [ + "66", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "66", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "66", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.075, ACK: 5.000.029" + ], + [ + "67", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "67", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "67", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.075" + ], + [ + "67", + "192.168.0.30:110", + "192.168.0.20:63726", + "POP3", + "Anwendung", + "+OK" + ], + [ + "68", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "68", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "68", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.078" + ], + [ + "69", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "69", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "69", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "FIN, SEQ: 4.000.078" + ], + [ + "70", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "70", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "70", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.079" + ], + [ + "71", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "71", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "71", + "192.168.0.20:63726", + "192.168.0.30:110", + "TCP", + "Transport", + "FIN, SEQ: 5.000.029" + ], + [ + "72", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "72", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "72", + "192.168.0.30:110", + "192.168.0.20:63726", + "TCP", + "Transport", + "SEQ: 4.000.079, ACK: 5.000.030" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "65526", + "110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "110", + "65526", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + null, + null, + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "POP3", + "Anwendung", + "USER anna" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.010" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + null, + null, + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.010, ACK: 1.000.040" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.010" + ], + [ + "12", + null, + null, + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.040, ACK: 3.000.021" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.040" + ], + [ + "14", + null, + null, + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.021, ACK: 1.000.068" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.021" + ], + [ + "16", + null, + null, + "", + "Anwendung", + "STAT" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.068, ACK: 3.000.025" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.068" + ], + [ + "18", + null, + null, + "POP3", + "Anwendung", + "+OK 2 169" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.025, ACK: 1.000.077" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.025" + ], + [ + "20", + null, + null, + "", + "Anwendung", + "LIST" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.077, ACK: 3.000.029" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.077" + ], + [ + "22", + null, + null, + "POP3", + "Anwendung", + "+OK 2 169\n0 80\n1 89\n" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.029, ACK: 1.000.097" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.029" + ], + [ + "24", + null, + null, + "POP3", + "Anwendung", + "RETR 0" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.097, ACK: 3.000.035" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.097" + ], + [ + "26", + null, + null, + "POP3", + "Anwendung", + "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.035, ACK: 1.000.219" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.035" + ], + [ + "28", + null, + null, + "POP3", + "Anwendung", + "RETR 1" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.219, ACK: 3.000.041" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.219" + ], + [ + "30", + null, + null, + "POP3", + "Anwendung", + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.041, ACK: 1.000.371" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.041" + ], + [ + "32", + null, + null, + "POP3", + "Anwendung", + "DELE 0" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.371, ACK: 3.000.047" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.371" + ], + [ + "34", + null, + null, + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.047, ACK: 1.000.400" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.047" + ], + [ + "36", + null, + null, + "POP3", + "Anwendung", + "DELE 1" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.400, ACK: 3.000.053" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.400" + ], + [ + "38", + null, + null, + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.053, ACK: 1.000.429" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.053" + ], + [ + "40", + null, + null, + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.429, ACK: 3.000.057" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.429" + ], + [ + "42", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.432" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "110", + "65526", + "TCP", + "Transport", + "FIN, SEQ: 1.000.432" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.433" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "65526", + "110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.057" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.433, ACK: 3.000.058" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "63726", + "110", + "TCP", + "Transport", + "SYN, SEQ: 5.000.000" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "110", + "63726", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000, ACK: 5.000.001" + ], + [ + "50", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.001" + ], + [ + "51", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "51", + null, + null, + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.022" + ], + [ + "53", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.001" + ], + [ + "53", + null, + null, + "POP3", + "Anwendung", + "USER anna" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.022, ACK: 5.000.010" + ], + [ + "55", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.022" + ], + [ + "55", + null, + null, + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "56", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.010, ACK: 4.000.040" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.010" + ], + [ + "57", + null, + null, + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "58", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 5.000.021" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.040" + ], + [ + "59", + null, + null, + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "60", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "60", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "60", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.021, ACK: 4.000.068" + ], + [ + "61", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "61", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "61", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.021" + ], + [ + "61", + null, + null, + "", + "Anwendung", + "STAT" + ], + [ + "62", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "62", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "62", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.068, ACK: 5.000.025" + ], + [ + "63", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "63", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "63", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.068" + ], + [ + "63", + null, + null, + "POP3", + "Anwendung", + "+OK 0 0" + ], + [ + "64", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "64", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "64", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.025, ACK: 4.000.075" + ], + [ + "65", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "65", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "65", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.025" + ], + [ + "65", + null, + null, + "POP3", + "Anwendung", + "QUIT" + ], + [ + "66", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "66", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "66", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.075, ACK: 5.000.029" + ], + [ + "67", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "67", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "67", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.075" + ], + [ + "67", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "68", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "68", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "68", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.078" + ], + [ + "69", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "69", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "69", + "110", + "63726", + "TCP", + "Transport", + "FIN, SEQ: 4.000.078" + ], + [ + "70", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "70", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "70", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.079" + ], + [ + "71", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "71", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "71", + "63726", + "110", + "TCP", + "Transport", + "FIN, SEQ: 5.000.029" + ], + [ + "72", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "72", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "72", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.079, ACK: 5.000.030" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "65526", + "110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "110", + "65526", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + null, + null, + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "POP3", + "Anwendung", + "USER anna" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.010" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + null, + null, + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.010, ACK: 1.000.040" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.010" + ], + [ + "12", + null, + null, + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.040, ACK: 3.000.021" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.040" + ], + [ + "14", + null, + null, + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.021, ACK: 1.000.068" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.021" + ], + [ + "16", + null, + null, + "", + "Anwendung", + "STAT" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.068, ACK: 3.000.025" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.068" + ], + [ + "18", + null, + null, + "POP3", + "Anwendung", + "+OK 2 169" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.025, ACK: 1.000.077" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.025" + ], + [ + "20", + null, + null, + "", + "Anwendung", + "LIST" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.077, ACK: 3.000.029" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.077" + ], + [ + "22", + null, + null, + "POP3", + "Anwendung", + "+OK 2 169\n0 80\n1 89\n" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.029, ACK: 1.000.097" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.029" + ], + [ + "24", + null, + null, + "POP3", + "Anwendung", + "RETR 0" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.097, ACK: 3.000.035" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.097" + ], + [ + "26", + null, + null, + "POP3", + "Anwendung", + "+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.035, ACK: 1.000.219" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.035" + ], + [ + "28", + null, + null, + "POP3", + "Anwendung", + "RETR 1" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.219, ACK: 3.000.041" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.219" + ], + [ + "30", + null, + null, + "POP3", + "Anwendung", + "+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.041, ACK: 1.000.371" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.041" + ], + [ + "32", + null, + null, + "POP3", + "Anwendung", + "DELE 0" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.371, ACK: 3.000.047" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.371" + ], + [ + "34", + null, + null, + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.047, ACK: 1.000.400" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.047" + ], + [ + "36", + null, + null, + "POP3", + "Anwendung", + "DELE 1" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.400, ACK: 3.000.053" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.400" + ], + [ + "38", + null, + null, + "POP3", + "Anwendung", + "+OK message marked for delete" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.053, ACK: 1.000.429" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.053" + ], + [ + "40", + null, + null, + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.429, ACK: 3.000.057" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.429" + ], + [ + "42", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.432" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "110", + "65526", + "TCP", + "Transport", + "FIN, SEQ: 1.000.432" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "65526", + "110", + "TCP", + "Transport", + "SEQ: 3.000.057, ACK: 1.000.433" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "65526", + "110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.057" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "110", + "65526", + "TCP", + "Transport", + "SEQ: 1.000.433, ACK: 3.000.058" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "63726", + "110", + "TCP", + "Transport", + "SYN, SEQ: 5.000.000" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "110", + "63726", + "TCP", + "Transport", + "SYN, SEQ: 4.000.000, ACK: 5.000.001" + ], + [ + "50", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.001" + ], + [ + "51", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.001" + ], + [ + "51", + null, + null, + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.001, ACK: 4.000.022" + ], + [ + "53", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.001" + ], + [ + "53", + null, + null, + "POP3", + "Anwendung", + "USER anna" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.022, ACK: 5.000.010" + ], + [ + "55", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.022" + ], + [ + "55", + null, + null, + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "56", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.010, ACK: 4.000.040" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.010" + ], + [ + "57", + null, + null, + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "58", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.040, ACK: 5.000.021" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.040" + ], + [ + "59", + null, + null, + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "60", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "60", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "60", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.021, ACK: 4.000.068" + ], + [ + "61", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "61", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "61", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.021" + ], + [ + "61", + null, + null, + "", + "Anwendung", + "STAT" + ], + [ + "62", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "62", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "62", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.068, ACK: 5.000.025" + ], + [ + "63", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "63", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "63", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.068" + ], + [ + "63", + null, + null, + "POP3", + "Anwendung", + "+OK 0 0" + ], + [ + "64", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "64", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "64", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.025, ACK: 4.000.075" + ], + [ + "65", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "65", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "65", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.025" + ], + [ + "65", + null, + null, + "POP3", + "Anwendung", + "QUIT" + ], + [ + "66", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "66", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "66", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.075, ACK: 5.000.029" + ], + [ + "67", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "67", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "67", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.075" + ], + [ + "67", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "68", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "68", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "68", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.078" + ], + [ + "69", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "69", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "69", + "110", + "63726", + "TCP", + "Transport", + "FIN, SEQ: 4.000.078" + ], + [ + "70", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "70", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "70", + "63726", + "110", + "TCP", + "Transport", + "SEQ: 5.000.029, ACK: 4.000.079" + ], + [ + "71", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "71", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "71", + "63726", + "110", + "TCP", + "Transport", + "FIN, SEQ: 5.000.029" + ], + [ + "72", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "72", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "72", + "110", + "63726", + "TCP", + "Transport", + "SEQ: 4.000.079, ACK: 5.000.030" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "events": [ + [ + 219, + "client", + "null" + ], + [ + 220, + "server", + "null" + ], + [ + 501, + "client", + "call verbinden 110" + ], + [ + 1004, + "client", + "Verbindung hergestellt" + ], + [ + 1125, + "server", + "----" + ], + [ + 1125, + "server", + "192.168.0.20> +OK POP3 server ready" + ], + [ + 1237, + "client", + ">>+OK POP3 server ready" + ], + [ + 3000, + "client", + "call senden USER anna" + ], + [ + 3112, + "server", + "192.168.0.20< USER anna" + ], + [ + 3116, + "server", + "192.168.0.20> +OK enter password" + ], + [ + 3224, + "client", + "<>+OK enter password" + ], + [ + 4500, + "client", + "call senden PASS geheim" + ], + [ + 4612, + "server", + "192.168.0.20< PASS geheim" + ], + [ + 4612, + "server", + "192.168.0.20> +OK Mailbox locked and ready" + ], + [ + 4723, + "client", + "<>+OK Mailbox locked and ready" + ], + [ + 6000, + "client", + "call senden STAT" + ], + [ + 6112, + "server", + "192.168.0.20< STAT" + ], + [ + 6114, + "server", + "192.168.0.20> +OK 2 169" + ], + [ + 6223, + "client", + "<>+OK 2 169" + ], + [ + 7500, + "client", + "call senden LIST" + ], + [ + 7612, + "server", + "192.168.0.20< LIST" + ], + [ + 7612, + "server", + "192.168.0.20> +OK 2 169\n0 80\n1 89\n" + ], + [ + 7723, + "client", + "<>+OK 2 169\n0 80\n1 89\n" + ], + [ + 9000, + "client", + "call senden RETR 0" + ], + [ + 9112, + "server", + "192.168.0.20< RETR 0" + ], + [ + 9112, + "server", + "192.168.0.20> +OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + [ + 9223, + "client", + "<>+OK message follows \nFrom: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile" + ], + [ + 10500, + "client", + "call senden RETR 1" + ], + [ + 10611, + "server", + "192.168.0.20< RETR 1" + ], + [ + 10612, + "server", + "192.168.0.20> +OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + [ + 10723, + "client", + "<>+OK message follows \nFrom: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?" + ], + [ + 12000, + "client", + "call senden DELE 0" + ], + [ + 12111, + "server", + "192.168.0.20< DELE 0" + ], + [ + 12112, + "server", + "192.168.0.20> +OK message marked for delete" + ], + [ + 12222, + "client", + "<>+OK message marked for delete" + ], + [ + 13500, + "client", + "call senden DELE 1" + ], + [ + 13612, + "server", + "192.168.0.20< DELE 1" + ], + [ + 13612, + "server", + "192.168.0.20> +OK message marked for delete" + ], + [ + 13723, + "client", + "<>+OK message marked for delete" + ], + [ + 15000, + "client", + "call senden QUIT" + ], + [ + 15111, + "server", + "192.168.0.20< QUIT" + ], + [ + 15112, + "server", + "null" + ], + [ + 15112, + "server", + "192.168.0.20> +OK" + ], + [ + 15222, + "client", + "<>+OK" + ], + [ + 15501, + "client", + "Socket zu 192.168.0.30:110 getrennt" + ], + [ + 17500, + "client", + "call verbinden 110" + ], + [ + 17801, + "client", + "Verbindung hergestellt" + ], + [ + 17860, + "server", + "----" + ], + [ + 17860, + "server", + "192.168.0.20> +OK POP3 server ready" + ], + [ + 17971, + "client", + ">>+OK POP3 server ready" + ], + [ + 20000, + "client", + "call senden USER anna" + ], + [ + 20111, + "server", + "192.168.0.20< USER anna" + ], + [ + 20111, + "server", + "192.168.0.20> +OK enter password" + ], + [ + 20222, + "client", + "<>+OK enter password" + ], + [ + 21500, + "client", + "call senden PASS geheim" + ], + [ + 21611, + "server", + "192.168.0.20< PASS geheim" + ], + [ + 21611, + "server", + "192.168.0.20> +OK Mailbox locked and ready" + ], + [ + 21722, + "client", + "<>+OK Mailbox locked and ready" + ], + [ + 23000, + "client", + "call senden STAT" + ], + [ + 23111, + "server", + "192.168.0.20< STAT" + ], + [ + 23112, + "server", + "192.168.0.20> +OK 0 0" + ], + [ + 23223, + "client", + "<>+OK 0 0" + ], + [ + 24500, + "client", + "call senden QUIT" + ], + [ + 24611, + "server", + "192.168.0.20< QUIT" + ], + [ + 24611, + "server", + "null" + ], + [ + 24611, + "server", + "192.168.0.20> +OK" + ], + [ + 24722, + "client", + "<>+OK" + ], + [ + 24999, + "client", + "Socket zu 192.168.0.30:110 getrennt" + ] + ], + "accounts": [ + [ + "anna" + ], + [ + "bob" + ] + ], + "file": "anna;filius.de;geheim;Muster;Anna;\nbob;filius.de;passwort;Beispiel;Bob;\n" +} diff --git a/packages/core/test/scenarios/email-java-pop3Errors.java.json b/packages/core/test/scenarios/email-java-pop3Errors.java.json new file mode 100644 index 0000000..03eb66b --- /dev/null +++ b/packages/core/test/scenarios/email-java-pop3Errors.java.json @@ -0,0 +1,6751 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000201": [ + { + "time": 519, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 753, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 756, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 982, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 3000001 + }, + { + "time": 982, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000001 + }, + { + "time": 1228, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK POP3 server ready", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1229, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000022 + }, + { + "time": 3000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3224, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000022, + "acknowledgement": 3000005 + }, + { + "time": 3279, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR unknown command", + "tcpFlags": "P", + "sequence": 1000022, + "acknowledgement": 0 + }, + { + "time": 3280, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000005, + "acknowledgement": 1000042 + }, + { + "time": 4500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "USER niemand", + "tcpFlags": "P", + "sequence": 3000005, + "acknowledgement": 0 + }, + { + "time": 4723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000042, + "acknowledgement": 3000017 + }, + { + "time": 4778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR user or password wrong", + "tcpFlags": "P", + "sequence": 1000042, + "acknowledgement": 0 + }, + { + "time": 4779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000017, + "acknowledgement": 1000069 + }, + { + "time": 6000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "PASS x", + "tcpFlags": "P", + "sequence": 3000017, + "acknowledgement": 0 + }, + { + "time": 6223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000069, + "acknowledgement": 3000023 + }, + { + "time": 6278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR Please enter PASS", + "tcpFlags": "P", + "sequence": 1000069, + "acknowledgement": 0 + }, + { + "time": 6279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000023, + "acknowledgement": 1000091 + }, + { + "time": 7500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "USER anna", + "tcpFlags": "P", + "sequence": 3000023, + "acknowledgement": 0 + }, + { + "time": 7723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000091, + "acknowledgement": 3000032 + }, + { + "time": 7779, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK enter password", + "tcpFlags": "P", + "sequence": 1000091, + "acknowledgement": 0 + }, + { + "time": 7779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000032, + "acknowledgement": 1000109 + }, + { + "time": 9001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "PASS falsch", + "tcpFlags": "P", + "sequence": 3000032, + "acknowledgement": 0 + }, + { + "time": 9223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000109, + "acknowledgement": 3000043 + }, + { + "time": 9279, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR user or password wrong", + "tcpFlags": "P", + "sequence": 1000109, + "acknowledgement": 0 + }, + { + "time": 9279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000043, + "acknowledgement": 1000136 + }, + { + "time": 10501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "PASS geheim", + "tcpFlags": "P", + "sequence": 3000043, + "acknowledgement": 0 + }, + { + "time": 10723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000136, + "acknowledgement": 3000054 + }, + { + "time": 10778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK Mailbox locked and ready", + "tcpFlags": "P", + "sequence": 1000136, + "acknowledgement": 0 + }, + { + "time": 10779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000054, + "acknowledgement": 1000164 + }, + { + "time": 12001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000054, + "acknowledgement": 0 + }, + { + "time": 12223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000164, + "acknowledgement": 3000058 + }, + { + "time": 12278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 1000164, + "acknowledgement": 0 + }, + { + "time": 12278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000058, + "acknowledgement": 1000167 + }, + { + "time": 13500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "USER bob", + "tcpFlags": "P", + "sequence": 3000058, + "acknowledgement": 0 + }, + { + "time": 13722, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000167, + "acknowledgement": 3000066 + }, + { + "time": 13777, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR Please enter USER", + "tcpFlags": "P", + "sequence": 1000167, + "acknowledgement": 0 + }, + { + "time": 13778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000066, + "acknowledgement": 1000189 + }, + { + "time": 15001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000066, + "acknowledgement": 0 + }, + { + "time": 15223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000189, + "acknowledgement": 3000070 + }, + { + "time": 15278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 1000189, + "acknowledgement": 0 + }, + { + "time": 15278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000070, + "acknowledgement": 1000192 + }, + { + "time": 15501, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "F", + "sequence": 1000192, + "acknowledgement": 0 + }, + { + "time": 15501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000070, + "acknowledgement": 1000193 + }, + { + "time": 15556, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "F", + "sequence": 3000070, + "acknowledgement": 0 + }, + { + "time": 15778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000193, + "acknowledgement": 3000071 + } + ], + "00000000-0000-0000-0000-000000000202": [ + { + "time": 640, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ], + "00000000-0000-0000-0000-000000000203": [ + { + "time": 640, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 642, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 869, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 871, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "SA", + "sequence": 1000000, + "acknowledgement": 3000001 + }, + { + "time": 1094, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000001 + }, + { + "time": 1117, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK POP3 server ready", + "tcpFlags": "P", + "sequence": 1000001, + "acknowledgement": 0 + }, + { + "time": 1340, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 1000022 + }, + { + "time": 3112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000022, + "acknowledgement": 3000005 + }, + { + "time": 3168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR unknown command", + "tcpFlags": "P", + "sequence": 1000022, + "acknowledgement": 0 + }, + { + "time": 3391, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000005, + "acknowledgement": 1000042 + }, + { + "time": 4611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "USER niemand", + "tcpFlags": "P", + "sequence": 3000005, + "acknowledgement": 0 + }, + { + "time": 4612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000042, + "acknowledgement": 3000017 + }, + { + "time": 4667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR user or password wrong", + "tcpFlags": "P", + "sequence": 1000042, + "acknowledgement": 0 + }, + { + "time": 4890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000017, + "acknowledgement": 1000069 + }, + { + "time": 6111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "PASS x", + "tcpFlags": "P", + "sequence": 3000017, + "acknowledgement": 0 + }, + { + "time": 6112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000069, + "acknowledgement": 3000023 + }, + { + "time": 6167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR Please enter PASS", + "tcpFlags": "P", + "sequence": 1000069, + "acknowledgement": 0 + }, + { + "time": 6390, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000023, + "acknowledgement": 1000091 + }, + { + "time": 7612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "USER anna", + "tcpFlags": "P", + "sequence": 3000023, + "acknowledgement": 0 + }, + { + "time": 7612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000091, + "acknowledgement": 3000032 + }, + { + "time": 7668, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK enter password", + "tcpFlags": "P", + "sequence": 1000091, + "acknowledgement": 0 + }, + { + "time": 7890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000032, + "acknowledgement": 1000109 + }, + { + "time": 9112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "PASS falsch", + "tcpFlags": "P", + "sequence": 3000032, + "acknowledgement": 0 + }, + { + "time": 9112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000109, + "acknowledgement": 3000043 + }, + { + "time": 9168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR user or password wrong", + "tcpFlags": "P", + "sequence": 1000109, + "acknowledgement": 0 + }, + { + "time": 9390, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000043, + "acknowledgement": 1000136 + }, + { + "time": 10612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "PASS geheim", + "tcpFlags": "P", + "sequence": 3000043, + "acknowledgement": 0 + }, + { + "time": 10612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000136, + "acknowledgement": 3000054 + }, + { + "time": 10668, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK Mailbox locked and ready", + "tcpFlags": "P", + "sequence": 1000136, + "acknowledgement": 0 + }, + { + "time": 10889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000054, + "acknowledgement": 1000164 + }, + { + "time": 12111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000054, + "acknowledgement": 0 + }, + { + "time": 12112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000164, + "acknowledgement": 3000058 + }, + { + "time": 12167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 1000164, + "acknowledgement": 0 + }, + { + "time": 12389, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000058, + "acknowledgement": 1000167 + }, + { + "time": 13611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "USER bob", + "tcpFlags": "P", + "sequence": 3000058, + "acknowledgement": 0 + }, + { + "time": 13611, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000167, + "acknowledgement": 3000066 + }, + { + "time": 13667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "-ERR Please enter USER", + "tcpFlags": "P", + "sequence": 1000167, + "acknowledgement": 0 + }, + { + "time": 13889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000066, + "acknowledgement": 1000189 + }, + { + "time": 15112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000066, + "acknowledgement": 0 + }, + { + "time": 15112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000189, + "acknowledgement": 3000070 + }, + { + "time": 15167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": "+OK", + "tcpFlags": "P", + "sequence": 1000189, + "acknowledgement": 0 + }, + { + "time": 15389, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000070, + "acknowledgement": 1000192 + }, + { + "time": 15390, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "F", + "sequence": 1000192, + "acknowledgement": 0 + }, + { + "time": 15612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "A", + "sequence": 3000070, + "acknowledgement": 1000193 + }, + { + "time": 15667, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 58845, + "destinationPort": 110, + "payload": null, + "tcpFlags": "F", + "sequence": 3000070, + "acknowledgement": 0 + }, + { + "time": 15667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 110, + "destinationPort": 58845, + "payload": null, + "tcpFlags": "A", + "sequence": 1000193, + "acknowledgement": 3000071 + } + ], + "00000000-0000-0000-0000-000000000204": [ + { + "time": 640, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR unknown command" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 1.000.042" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER niemand" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.042, ACK: 3.000.017" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.042" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.017, ACK: 1.000.069" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.017" + ], + [ + "16", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS x" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.069, ACK: 3.000.023" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.069" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR Please enter PASS" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.023, ACK: 1.000.091" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.023" + ], + [ + "20", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER anna" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.091, ACK: 3.000.032" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.091" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.032, ACK: 1.000.109" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.032" + ], + [ + "24", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS falsch" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.109, ACK: 3.000.043" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.109" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.043, ACK: 1.000.136" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.043" + ], + [ + "28", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.136, ACK: 3.000.054" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.136" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.054, ACK: 1.000.164" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.054" + ], + [ + "32", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "NOOP" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.164, ACK: 3.000.058" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.164" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.058, ACK: 1.000.167" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.058" + ], + [ + "36", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER bob" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.167, ACK: 3.000.066" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.167" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR Please enter USER" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.066, ACK: 1.000.189" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.066" + ], + [ + "40", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.189, ACK: 3.000.070" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.189" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.192" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "FIN, SEQ: 1.000.192" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.193" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.070" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.193, ACK: 3.000.071" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR unknown command" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 1.000.042" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER niemand" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.042, ACK: 3.000.017" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.042" + ], + [ + "14", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.017, ACK: 1.000.069" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.017" + ], + [ + "16", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS x" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.069, ACK: 3.000.023" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.069" + ], + [ + "18", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR Please enter PASS" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.023, ACK: 1.000.091" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.023" + ], + [ + "20", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER anna" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.091, ACK: 3.000.032" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.091" + ], + [ + "22", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.032, ACK: 1.000.109" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.032" + ], + [ + "24", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS falsch" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.109, ACK: 3.000.043" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.109" + ], + [ + "26", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.043, ACK: 1.000.136" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.043" + ], + [ + "28", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.136, ACK: 3.000.054" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.136" + ], + [ + "30", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.054, ACK: 1.000.164" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.054" + ], + [ + "32", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "NOOP" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.164, ACK: 3.000.058" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.164" + ], + [ + "34", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.058, ACK: 1.000.167" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.058" + ], + [ + "36", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "USER bob" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.167, ACK: 3.000.066" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.167" + ], + [ + "38", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "-ERR Please enter USER" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.066, ACK: 1.000.189" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.066" + ], + [ + "40", + "192.168.0.20:58845", + "192.168.0.30:110", + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.189, ACK: 3.000.070" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.189" + ], + [ + "42", + "192.168.0.30:110", + "192.168.0.20:58845", + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.192" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "FIN, SEQ: 1.000.192" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.193" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "192.168.0.20:58845", + "192.168.0.30:110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.070" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "192.168.0.30:110", + "192.168.0.20:58845", + "TCP", + "Transport", + "SEQ: 1.000.193, ACK: 3.000.071" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "58845", + "110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "110", + "58845", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + null, + null, + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "POP3", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + null, + null, + "POP3", + "Anwendung", + "-ERR unknown command" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 1.000.042" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + null, + null, + "POP3", + "Anwendung", + "USER niemand" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.042, ACK: 3.000.017" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.042" + ], + [ + "14", + null, + null, + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.017, ACK: 1.000.069" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.017" + ], + [ + "16", + null, + null, + "POP3", + "Anwendung", + "PASS x" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.069, ACK: 3.000.023" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.069" + ], + [ + "18", + null, + null, + "POP3", + "Anwendung", + "-ERR Please enter PASS" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.023, ACK: 1.000.091" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.023" + ], + [ + "20", + null, + null, + "POP3", + "Anwendung", + "USER anna" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.091, ACK: 3.000.032" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.091" + ], + [ + "22", + null, + null, + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.032, ACK: 1.000.109" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.032" + ], + [ + "24", + null, + null, + "POP3", + "Anwendung", + "PASS falsch" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.109, ACK: 3.000.043" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.109" + ], + [ + "26", + null, + null, + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.043, ACK: 1.000.136" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.043" + ], + [ + "28", + null, + null, + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.136, ACK: 3.000.054" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.136" + ], + [ + "30", + null, + null, + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.054, ACK: 1.000.164" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.054" + ], + [ + "32", + null, + null, + "POP3", + "Anwendung", + "NOOP" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.164, ACK: 3.000.058" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.164" + ], + [ + "34", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.058, ACK: 1.000.167" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.058" + ], + [ + "36", + null, + null, + "POP3", + "Anwendung", + "USER bob" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.167, ACK: 3.000.066" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.167" + ], + [ + "38", + null, + null, + "POP3", + "Anwendung", + "-ERR Please enter USER" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.066, ACK: 1.000.189" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.066" + ], + [ + "40", + null, + null, + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.189, ACK: 3.000.070" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.189" + ], + [ + "42", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.192" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "110", + "58845", + "TCP", + "Transport", + "FIN, SEQ: 1.000.192" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.193" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "58845", + "110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.070" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.193, ACK: 3.000.071" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "58845", + "110", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "110", + "58845", + "TCP", + "Transport", + "SYN, SEQ: 1.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.001" + ], + [ + "6", + null, + null, + "POP3", + "Anwendung", + "+OK POP3 server ready" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 1.000.022" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "POP3", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.022, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.022" + ], + [ + "10", + null, + null, + "POP3", + "Anwendung", + "-ERR unknown command" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 1.000.042" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + null, + null, + "POP3", + "Anwendung", + "USER niemand" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.042, ACK: 3.000.017" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.042" + ], + [ + "14", + null, + null, + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.017, ACK: 1.000.069" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.017" + ], + [ + "16", + null, + null, + "POP3", + "Anwendung", + "PASS x" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.069, ACK: 3.000.023" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.069" + ], + [ + "18", + null, + null, + "POP3", + "Anwendung", + "-ERR Please enter PASS" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.023, ACK: 1.000.091" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.023" + ], + [ + "20", + null, + null, + "POP3", + "Anwendung", + "USER anna" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.091, ACK: 3.000.032" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.091" + ], + [ + "22", + null, + null, + "POP3", + "Anwendung", + "+OK enter password" + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.032, ACK: 1.000.109" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.032" + ], + [ + "24", + null, + null, + "POP3", + "Anwendung", + "PASS falsch" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.109, ACK: 3.000.043" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.109" + ], + [ + "26", + null, + null, + "POP3", + "Anwendung", + "-ERR user or password wrong" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.043, ACK: 1.000.136" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.043" + ], + [ + "28", + null, + null, + "POP3", + "Anwendung", + "PASS geheim" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.136, ACK: 3.000.054" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.136" + ], + [ + "30", + null, + null, + "POP3", + "Anwendung", + "+OK Mailbox locked and ready" + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.054, ACK: 1.000.164" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.054" + ], + [ + "32", + null, + null, + "POP3", + "Anwendung", + "NOOP" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.164, ACK: 3.000.058" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.164" + ], + [ + "34", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.058, ACK: 1.000.167" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.058" + ], + [ + "36", + null, + null, + "POP3", + "Anwendung", + "USER bob" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.167, ACK: 3.000.066" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.167" + ], + [ + "38", + null, + null, + "POP3", + "Anwendung", + "-ERR Please enter USER" + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.066, ACK: 1.000.189" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.066" + ], + [ + "40", + null, + null, + "POP3", + "Anwendung", + "QUIT" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.189, ACK: 3.000.070" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.189" + ], + [ + "42", + null, + null, + "POP3", + "Anwendung", + "+OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.192" + ], + [ + "44", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "110", + "58845", + "TCP", + "Transport", + "FIN, SEQ: 1.000.192" + ], + [ + "45", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "58845", + "110", + "TCP", + "Transport", + "SEQ: 3.000.070, ACK: 1.000.193" + ], + [ + "46", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "58845", + "110", + "TCP", + "Transport", + "FIN, SEQ: 3.000.070" + ], + [ + "47", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "110", + "58845", + "TCP", + "Transport", + "SEQ: 1.000.193, ACK: 3.000.071" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "events": [ + [ + 210, + "client", + "null" + ], + [ + 211, + "server", + "null" + ], + [ + 501, + "client", + "call verbinden 110" + ], + [ + 1005, + "client", + "Verbindung hergestellt" + ], + [ + 1116, + "server", + "----" + ], + [ + 1116, + "server", + "192.168.0.20> +OK POP3 server ready" + ], + [ + 1229, + "client", + ">>+OK POP3 server ready" + ], + [ + 3000, + "client", + "call senden NOOP" + ], + [ + 3113, + "server", + "192.168.0.20< NOOP" + ], + [ + 3113, + "server", + "192.168.0.20> -ERR unknown command" + ], + [ + 3224, + "client", + "<>-ERR unknown command" + ], + [ + 4500, + "client", + "call senden USER niemand" + ], + [ + 4612, + "server", + "192.168.0.20< USER niemand" + ], + [ + 4612, + "server", + "192.168.0.20> -ERR user or password wrong" + ], + [ + 4723, + "client", + "<>-ERR user or password wrong" + ], + [ + 6000, + "client", + "call senden PASS x" + ], + [ + 6112, + "server", + "192.168.0.20< PASS x" + ], + [ + 6112, + "server", + "192.168.0.20> -ERR Please enter PASS" + ], + [ + 6223, + "client", + "<>-ERR Please enter PASS" + ], + [ + 7500, + "client", + "call senden USER anna" + ], + [ + 7612, + "server", + "192.168.0.20< USER anna" + ], + [ + 7617, + "server", + "192.168.0.20> +OK enter password" + ], + [ + 7723, + "client", + "<>+OK enter password" + ], + [ + 9000, + "client", + "call senden PASS falsch" + ], + [ + 9112, + "server", + "192.168.0.20< PASS falsch" + ], + [ + 9113, + "server", + "192.168.0.20> -ERR user or password wrong" + ], + [ + 9223, + "client", + "<>-ERR user or password wrong" + ], + [ + 10500, + "client", + "call senden PASS geheim" + ], + [ + 10612, + "server", + "192.168.0.20< PASS geheim" + ], + [ + 10612, + "server", + "192.168.0.20> +OK Mailbox locked and ready" + ], + [ + 10723, + "client", + "<>+OK Mailbox locked and ready" + ], + [ + 12000, + "client", + "call senden NOOP" + ], + [ + 12112, + "server", + "192.168.0.20< NOOP" + ], + [ + 12112, + "server", + "192.168.0.20> +OK" + ], + [ + 12223, + "client", + "<>+OK" + ], + [ + 13500, + "client", + "call senden USER bob" + ], + [ + 13611, + "server", + "192.168.0.20< USER bob" + ], + [ + 13612, + "server", + "192.168.0.20> -ERR Please enter USER" + ], + [ + 13722, + "client", + "<>-ERR Please enter USER" + ], + [ + 15000, + "client", + "call senden QUIT" + ], + [ + 15112, + "server", + "192.168.0.20< QUIT" + ], + [ + 15112, + "server", + "null" + ], + [ + 15112, + "server", + "192.168.0.20> +OK" + ], + [ + 15223, + "client", + "<>+OK" + ], + [ + 15501, + "client", + "Socket zu 192.168.0.30:110 getrennt" + ] + ], + "accounts": [ + [ + "anna", + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + "true", + "false" + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + "true", + "false" + ] + ], + [ + "bob" + ] + ], + "file": "anna;filius.de;geheim;Muster;Anna;#Bob Beispiel $$$$$Hallo Anna$Erste Zeile|Zweite Zeile#Carla $Anna Muster ,$$$$Termin$Morgen um 10?\nbob;filius.de;passwort;Beispiel;Bob;\n" +} diff --git a/packages/core/test/scenarios/email-java-smtp.java.json b/packages/core/test/scenarios/email-java-smtp.java.json new file mode 100644 index 0000000..ef305b9 --- /dev/null +++ b/packages/core/test/scenarios/email-java-smtp.java.json @@ -0,0 +1,5001 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000201": [ + { + "time": 520, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 756, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 758, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 986, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "SA", + "sequence": 2000000, + "acknowledgement": 3000001 + }, + { + "time": 986, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000001 + }, + { + "time": 1228, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "220 Willkommen bei filius.de", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1229, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000029 + }, + { + "time": 3001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "HELO 192.168.0.20", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000029, + "acknowledgement": 3000018 + }, + { + "time": 3279, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Hello 192.168.0.20", + "tcpFlags": "P", + "sequence": 2000029, + "acknowledgement": 0 + }, + { + "time": 3279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000018, + "acknowledgement": 2000051 + }, + { + "time": 4501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "MAIL FROM: ", + "tcpFlags": "P", + "sequence": 3000018, + "acknowledgement": 0 + }, + { + "time": 4723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000051, + "acknowledgement": 3000044 + }, + { + "time": 4779, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Sender OK", + "tcpFlags": "P", + "sequence": 2000051, + "acknowledgement": 0 + }, + { + "time": 4779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000044, + "acknowledgement": 2000064 + }, + { + "time": 6001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "RCPT TO:", + "tcpFlags": "P", + "sequence": 3000044, + "acknowledgement": 0 + }, + { + "time": 6223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000064, + "acknowledgement": 3000068 + }, + { + "time": 6279, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Recipient OK", + "tcpFlags": "P", + "sequence": 2000064, + "acknowledgement": 0 + }, + { + "time": 6279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000068, + "acknowledgement": 2000080 + }, + { + "time": 7500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000068, + "acknowledgement": 0 + }, + { + "time": 7722, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000080, + "acknowledgement": 3000072 + }, + { + "time": 7778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "354 End data with .", + "tcpFlags": "P", + "sequence": 2000080, + "acknowledgement": 0 + }, + { + "time": 7778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000072, + "acknowledgement": 2000115 + }, + { + "time": 9000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n", + "tcpFlags": "P", + "sequence": 3000072, + "acknowledgement": 0 + }, + { + "time": 9222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000115, + "acknowledgement": 3000171 + }, + { + "time": 9278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Mail queued for delivery", + "tcpFlags": "P", + "sequence": 2000115, + "acknowledgement": 0 + }, + { + "time": 9278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000171, + "acknowledgement": 2000143 + }, + { + "time": 10500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000171, + "acknowledgement": 0 + }, + { + "time": 10722, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000143, + "acknowledgement": 3000175 + }, + { + "time": 10778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "221 Server beendet Verbindung.", + "tcpFlags": "P", + "sequence": 2000143, + "acknowledgement": 0 + }, + { + "time": 10778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000175, + "acknowledgement": 2000173 + }, + { + "time": 11000, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "F", + "sequence": 2000173, + "acknowledgement": 0 + }, + { + "time": 11000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000175, + "acknowledgement": 2000174 + }, + { + "time": 11056, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "F", + "sequence": 3000175, + "acknowledgement": 0 + }, + { + "time": 11278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000174, + "acknowledgement": 3000176 + } + ], + "00000000-0000-0000-0000-000000000202": [ + { + "time": 643, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ], + "00000000-0000-0000-0000-000000000203": [ + { + "time": 643, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 644, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 872, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 874, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "SA", + "sequence": 2000000, + "acknowledgement": 3000001 + }, + { + "time": 1097, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000001 + }, + { + "time": 1117, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "220 Willkommen bei filius.de", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1340, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000029 + }, + { + "time": 3112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "HELO 192.168.0.20", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000029, + "acknowledgement": 3000018 + }, + { + "time": 3168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Hello 192.168.0.20", + "tcpFlags": "P", + "sequence": 2000029, + "acknowledgement": 0 + }, + { + "time": 3391, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000018, + "acknowledgement": 2000051 + }, + { + "time": 4612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "MAIL FROM: ", + "tcpFlags": "P", + "sequence": 3000018, + "acknowledgement": 0 + }, + { + "time": 4612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000051, + "acknowledgement": 3000044 + }, + { + "time": 4668, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Sender OK", + "tcpFlags": "P", + "sequence": 2000051, + "acknowledgement": 0 + }, + { + "time": 4890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000044, + "acknowledgement": 2000064 + }, + { + "time": 6112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "RCPT TO:", + "tcpFlags": "P", + "sequence": 3000044, + "acknowledgement": 0 + }, + { + "time": 6112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000064, + "acknowledgement": 3000068 + }, + { + "time": 6168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Recipient OK", + "tcpFlags": "P", + "sequence": 2000064, + "acknowledgement": 0 + }, + { + "time": 6390, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000068, + "acknowledgement": 2000080 + }, + { + "time": 7611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000068, + "acknowledgement": 0 + }, + { + "time": 7611, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000080, + "acknowledgement": 3000072 + }, + { + "time": 7667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "354 End data with .", + "tcpFlags": "P", + "sequence": 2000080, + "acknowledgement": 0 + }, + { + "time": 7889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000072, + "acknowledgement": 2000115 + }, + { + "time": 9111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n", + "tcpFlags": "P", + "sequence": 3000072, + "acknowledgement": 0 + }, + { + "time": 9112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000115, + "acknowledgement": 3000171 + }, + { + "time": 9167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "250 Mail queued for delivery", + "tcpFlags": "P", + "sequence": 2000115, + "acknowledgement": 0 + }, + { + "time": 9389, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000171, + "acknowledgement": 2000143 + }, + { + "time": 10611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000171, + "acknowledgement": 0 + }, + { + "time": 10611, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000143, + "acknowledgement": 3000175 + }, + { + "time": 10667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": "221 Server beendet Verbindung.", + "tcpFlags": "P", + "sequence": 2000143, + "acknowledgement": 0 + }, + { + "time": 10889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000175, + "acknowledgement": 2000173 + }, + { + "time": 10889, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "F", + "sequence": 2000173, + "acknowledgement": 0 + }, + { + "time": 11111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000175, + "acknowledgement": 2000174 + }, + { + "time": 11167, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 56648, + "destinationPort": 25, + "payload": null, + "tcpFlags": "F", + "sequence": 3000175, + "acknowledgement": 0 + }, + { + "time": 11167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 56648, + "payload": null, + "tcpFlags": "A", + "sequence": 2000174, + "acknowledgement": 3000176 + } + ], + "00000000-0000-0000-0000-000000000204": [ + { + "time": 643, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "HELO 192.168.0.20" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.018" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Hello 192.168.0.20" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.018, ACK: 2.000.051" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.018" + ], + [ + "12", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "MAIL FROM: " + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.051, ACK: 3.000.044" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.051" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.044, ACK: 2.000.064" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.044" + ], + [ + "16", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.064, ACK: 3.000.068" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.064" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.080" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "20", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.080, ACK: 3.000.072" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.080" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.072, ACK: 2.000.115" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.072" + ], + [ + "24", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.115, ACK: 3.000.171" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.115" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.171, ACK: 2.000.143" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.171" + ], + [ + "28", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.143, ACK: 3.000.175" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.143" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.173" + ], + [ + "32", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "FIN, SEQ: 2.000.173" + ], + [ + "33", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.174" + ], + [ + "34", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.175" + ], + [ + "35", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.174, ACK: 3.000.176" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "HELO 192.168.0.20" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.018" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Hello 192.168.0.20" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.018, ACK: 2.000.051" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.018" + ], + [ + "12", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "MAIL FROM: " + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.051, ACK: 3.000.044" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.051" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.044, ACK: 2.000.064" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.044" + ], + [ + "16", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.064, ACK: 3.000.068" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.064" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.080" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "20", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.080, ACK: 3.000.072" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.080" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.072, ACK: 2.000.115" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.072" + ], + [ + "24", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.115, ACK: 3.000.171" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.115" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.171, ACK: 2.000.143" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.171" + ], + [ + "28", + "192.168.0.20:56648", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.143, ACK: 3.000.175" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.143" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:56648", + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.173" + ], + [ + "32", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "FIN, SEQ: 2.000.173" + ], + [ + "33", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.174" + ], + [ + "34", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.20:56648", + "192.168.0.30:25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.175" + ], + [ + "35", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.30:25", + "192.168.0.20:56648", + "TCP", + "Transport", + "SEQ: 2.000.174, ACK: 3.000.176" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "56648", + "25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "25", + "56648", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "SMTP", + "Anwendung", + "HELO 192.168.0.20" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.018" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + null, + null, + "SMTP", + "Anwendung", + "250 Hello 192.168.0.20" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.018, ACK: 2.000.051" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.018" + ], + [ + "12", + null, + null, + "SMTP", + "Anwendung", + "MAIL FROM: " + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.051, ACK: 3.000.044" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.051" + ], + [ + "14", + null, + null, + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.044, ACK: 2.000.064" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.044" + ], + [ + "16", + null, + null, + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.064, ACK: 3.000.068" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.064" + ], + [ + "18", + null, + null, + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.080" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "20", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.080, ACK: 3.000.072" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.080" + ], + [ + "22", + null, + null, + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.072, ACK: 2.000.115" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.072" + ], + [ + "24", + null, + null, + "SMTP", + "Anwendung", + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.115, ACK: 3.000.171" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.115" + ], + [ + "26", + null, + null, + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.171, ACK: 2.000.143" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.171" + ], + [ + "28", + null, + null, + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.143, ACK: 3.000.175" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.143" + ], + [ + "30", + null, + null, + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.173" + ], + [ + "32", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "25", + "56648", + "TCP", + "Transport", + "FIN, SEQ: 2.000.173" + ], + [ + "33", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.174" + ], + [ + "34", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "56648", + "25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.175" + ], + [ + "35", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.174, ACK: 3.000.176" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "56648", + "25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "25", + "56648", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "SMTP", + "Anwendung", + "HELO 192.168.0.20" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.018" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + null, + null, + "SMTP", + "Anwendung", + "250 Hello 192.168.0.20" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.018, ACK: 2.000.051" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.018" + ], + [ + "12", + null, + null, + "SMTP", + "Anwendung", + "MAIL FROM: " + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.051, ACK: 3.000.044" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.051" + ], + [ + "14", + null, + null, + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.044, ACK: 2.000.064" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.044" + ], + [ + "16", + null, + null, + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.064, ACK: 3.000.068" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.064" + ], + [ + "18", + null, + null, + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.080" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "20", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.080, ACK: 3.000.072" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.080" + ], + [ + "22", + null, + null, + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.072, ACK: 2.000.115" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.072" + ], + [ + "24", + null, + null, + "SMTP", + "Anwendung", + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.115, ACK: 3.000.171" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.115" + ], + [ + "26", + null, + null, + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.171, ACK: 2.000.143" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.171" + ], + [ + "28", + null, + null, + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.143, ACK: 3.000.175" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.143" + ], + [ + "30", + null, + null, + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.173" + ], + [ + "32", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "25", + "56648", + "TCP", + "Transport", + "FIN, SEQ: 2.000.173" + ], + [ + "33", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "56648", + "25", + "TCP", + "Transport", + "SEQ: 3.000.175, ACK: 2.000.174" + ], + [ + "34", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "56648", + "25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.175" + ], + [ + "35", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "25", + "56648", + "TCP", + "Transport", + "SEQ: 2.000.174, ACK: 3.000.176" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "events": [ + [ + 210, + "client", + "null" + ], + [ + 211, + "server", + "null" + ], + [ + 501, + "client", + "call verbinden 25" + ], + [ + 1004, + "client", + "Verbindung hergestellt" + ], + [ + 1116, + "server", + "----" + ], + [ + 1229, + "client", + ">>220 Willkommen bei filius.de" + ], + [ + 1340, + "server", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + [ + 3000, + "client", + "call senden HELO 192.168.0.20" + ], + [ + 3112, + "server", + "192.168.0.20< HELO 192.168.0.20" + ], + [ + 3223, + "client", + "<>250 Hello 192.168.0.20" + ], + [ + 3391, + "server", + "192.168.0.20> 250 Hello 192.168.0.20" + ], + [ + 4500, + "client", + "call senden MAIL FROM: " + ], + [ + 4612, + "server", + "192.168.0.20< MAIL FROM: " + ], + [ + 4723, + "client", + "<" + ], + [ + 4779, + "client", + ">>250 Sender OK" + ], + [ + 4891, + "server", + "192.168.0.20> 250 Sender OK" + ], + [ + 6000, + "client", + "call senden RCPT TO:" + ], + [ + 6112, + "server", + "192.168.0.20< RCPT TO:" + ], + [ + 6224, + "client", + "<" + ], + [ + 6279, + "client", + ">>250 Recipient OK" + ], + [ + 6391, + "server", + "192.168.0.20> 250 Recipient OK" + ], + [ + 7500, + "client", + "call senden DATA" + ], + [ + 7611, + "server", + "192.168.0.20< DATA" + ], + [ + 7723, + "client", + "<>354 End data with ." + ], + [ + 7890, + "server", + "192.168.0.20> 354 End data with ." + ], + [ + 9000, + "client", + "call senden From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n" + ], + [ + 9112, + "server", + "192.168.0.20< From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n" + ], + [ + 9223, + "client", + "<\nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\u000d\n.\u000d\n" + ], + [ + 9278, + "client", + ">>250 Mail queued for delivery" + ], + [ + 9389, + "server", + "192.168.0.20> 250 Mail queued for delivery" + ], + [ + 9390, + "server", + "E-Mail für anna im Postfach gespeichert." + ], + [ + 10500, + "client", + "call senden QUIT" + ], + [ + 10611, + "server", + "192.168.0.20< QUIT" + ], + [ + 10723, + "client", + "<>221 Server beendet Verbindung." + ], + [ + 10889, + "server", + "192.168.0.20> 221 Server beendet Verbindung." + ], + [ + 11000, + "client", + "Socket zu 192.168.0.30:25 getrennt" + ] + ], + "accounts": [ + [ + "anna", + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + "true", + "false" + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + "true", + "false" + ], + [ + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?", + "true", + "false" + ] + ], + [ + "bob" + ] + ], + "file": "anna;filius.de;geheim;Muster;Anna;#Bob Beispiel $$$$$Hallo Anna$Erste Zeile|Zweite Zeile#Carla $Anna Muster ,$$$$Termin$Morgen um 10?#Bob Beispiel $$$$$Gruß$Hallo Anna,|wie geht's?|\nbob;filius.de;passwort;Beispiel;Bob;\n" +} diff --git a/packages/core/test/scenarios/email-java-smtpErrors.java.json b/packages/core/test/scenarios/email-java-smtpErrors.java.json new file mode 100644 index 0000000..9e6a92b --- /dev/null +++ b/packages/core/test/scenarios/email-java-smtpErrors.java.json @@ -0,0 +1,8511 @@ +{ + "frames": { + "00000000-0000-0000-0000-000000000201": [ + { + "time": 517, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 755, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 757, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 984, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "SA", + "sequence": 2000000, + "acknowledgement": 3000001 + }, + { + "time": 985, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000001 + }, + { + "time": 1231, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "220 Willkommen bei filius.de", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1231, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000029 + }, + { + "time": 3001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3224, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000029, + "acknowledgement": 3000005 + }, + { + "time": 3279, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 OK", + "tcpFlags": "P", + "sequence": 2000029, + "acknowledgement": 0 + }, + { + "time": 3280, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000005, + "acknowledgement": 2000035 + }, + { + "time": 4500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "EHLO", + "tcpFlags": "P", + "sequence": 3000005, + "acknowledgement": 0 + }, + { + "time": 4723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000035, + "acknowledgement": 3000009 + }, + { + "time": 4778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Hello ", + "tcpFlags": "P", + "sequence": 2000035, + "acknowledgement": 0 + }, + { + "time": 4779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000009, + "acknowledgement": 2000045 + }, + { + "time": 6001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000009, + "acknowledgement": 0 + }, + { + "time": 6223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000045, + "acknowledgement": 3000013 + }, + { + "time": 6279, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "503 Falsche Reihenfolge der Kommandos.", + "tcpFlags": "P", + "sequence": 2000045, + "acknowledgement": 0 + }, + { + "time": 6279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000013, + "acknowledgement": 2000083 + }, + { + "time": 7501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "MAIL FROM: bob@filius.de", + "tcpFlags": "P", + "sequence": 3000013, + "acknowledgement": 0 + }, + { + "time": 7723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000083, + "acknowledgement": 3000037 + }, + { + "time": 7779, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "501 Syntax-Fehler - Parameter oder Argument falsch.", + "tcpFlags": "P", + "sequence": 2000083, + "acknowledgement": 0 + }, + { + "time": 7779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000037, + "acknowledgement": 2000134 + }, + { + "time": 9001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "RCPT TO:", + "tcpFlags": "P", + "sequence": 3000037, + "acknowledgement": 0 + }, + { + "time": 9223, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000134, + "acknowledgement": 3000064 + }, + { + "time": 9278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Recipient OK", + "tcpFlags": "P", + "sequence": 2000134, + "acknowledgement": 0 + }, + { + "time": 9279, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000064, + "acknowledgement": 2000150 + }, + { + "time": 10500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000064, + "acknowledgement": 0 + }, + { + "time": 10723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000150, + "acknowledgement": 3000068 + }, + { + "time": 10778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "503 Falsche Reihenfolge der Kommandos.", + "tcpFlags": "P", + "sequence": 2000150, + "acknowledgement": 0 + }, + { + "time": 10778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000068, + "acknowledgement": 2000188 + }, + { + "time": 12000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "MAIL FROM:", + "tcpFlags": "P", + "sequence": 3000068, + "acknowledgement": 0 + }, + { + "time": 12222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000188, + "acknowledgement": 3000093 + }, + { + "time": 12277, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Sender OK", + "tcpFlags": "P", + "sequence": 2000188, + "acknowledgement": 0 + }, + { + "time": 12278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000093, + "acknowledgement": 2000201 + }, + { + "time": 13501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "RCPT TO: anna", + "tcpFlags": "P", + "sequence": 3000093, + "acknowledgement": 0 + }, + { + "time": 13723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000201, + "acknowledgement": 3000106 + }, + { + "time": 13778, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "501 Syntax-Fehler - Parameter oder Argument falsch.", + "tcpFlags": "P", + "sequence": 2000201, + "acknowledgement": 0 + }, + { + "time": 13778, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000106, + "acknowledgement": 2000252 + }, + { + "time": 15000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000106, + "acknowledgement": 0 + }, + { + "time": 15222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000252, + "acknowledgement": 3000110 + }, + { + "time": 15278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 OK", + "tcpFlags": "P", + "sequence": 2000252, + "acknowledgement": 0 + }, + { + "time": 15278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000110, + "acknowledgement": 2000258 + }, + { + "time": 16500, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000110, + "acknowledgement": 0 + }, + { + "time": 16722, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000258, + "acknowledgement": 3000114 + }, + { + "time": 16777, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "354 End data with .", + "tcpFlags": "P", + "sequence": 2000258, + "acknowledgement": 0 + }, + { + "time": 16777, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000114, + "acknowledgement": 2000293 + }, + { + "time": 18000, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n", + "tcpFlags": "P", + "sequence": 3000114, + "acknowledgement": 0 + }, + { + "time": 18222, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000293, + "acknowledgement": 3000192 + }, + { + "time": 18278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Mail queued for delivery", + "tcpFlags": "P", + "sequence": 2000293, + "acknowledgement": 0 + }, + { + "time": 18278, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000192, + "acknowledgement": 2000321 + }, + { + "time": 19501, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000192, + "acknowledgement": 0 + }, + { + "time": 19723, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000321, + "acknowledgement": 3000196 + }, + { + "time": 19779, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "221 Server beendet Verbindung.", + "tcpFlags": "P", + "sequence": 2000321, + "acknowledgement": 0 + }, + { + "time": 19779, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000196, + "acknowledgement": 2000351 + }, + { + "time": 20001, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "F", + "sequence": 2000351, + "acknowledgement": 0 + }, + { + "time": 20001, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000196, + "acknowledgement": 2000352 + }, + { + "time": 20057, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "F", + "sequence": 3000196, + "acknowledgement": 0 + }, + { + "time": 20278, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000352, + "acknowledgement": 3000197 + } + ], + "00000000-0000-0000-0000-000000000202": [ + { + "time": 642, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ], + "00000000-0000-0000-0000-000000000203": [ + { + "time": 642, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + }, + { + "time": 644, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "arp": 2, + "senderIp": "192.168.0.30", + "targetIp": "192.168.0.20" + }, + { + "time": 871, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "S", + "sequence": 3000000, + "acknowledgement": 0 + }, + { + "time": 873, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "SA", + "sequence": 2000000, + "acknowledgement": 3000001 + }, + { + "time": 1096, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000001 + }, + { + "time": 1119, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "220 Willkommen bei filius.de", + "tcpFlags": "P", + "sequence": 2000001, + "acknowledgement": 0 + }, + { + "time": 1342, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000001, + "acknowledgement": 2000029 + }, + { + "time": 3112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000001, + "acknowledgement": 0 + }, + { + "time": 3113, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000029, + "acknowledgement": 3000005 + }, + { + "time": 3168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 OK", + "tcpFlags": "P", + "sequence": 2000029, + "acknowledgement": 0 + }, + { + "time": 3391, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000005, + "acknowledgement": 2000035 + }, + { + "time": 4612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "EHLO", + "tcpFlags": "P", + "sequence": 3000005, + "acknowledgement": 0 + }, + { + "time": 4612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000035, + "acknowledgement": 3000009 + }, + { + "time": 4667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Hello ", + "tcpFlags": "P", + "sequence": 2000035, + "acknowledgement": 0 + }, + { + "time": 4890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000009, + "acknowledgement": 2000045 + }, + { + "time": 6112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000009, + "acknowledgement": 0 + }, + { + "time": 6112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000045, + "acknowledgement": 3000013 + }, + { + "time": 6168, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "503 Falsche Reihenfolge der Kommandos.", + "tcpFlags": "P", + "sequence": 2000045, + "acknowledgement": 0 + }, + { + "time": 6390, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000013, + "acknowledgement": 2000083 + }, + { + "time": 7612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "MAIL FROM: bob@filius.de", + "tcpFlags": "P", + "sequence": 3000013, + "acknowledgement": 0 + }, + { + "time": 7612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000083, + "acknowledgement": 3000037 + }, + { + "time": 7668, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "501 Syntax-Fehler - Parameter oder Argument falsch.", + "tcpFlags": "P", + "sequence": 2000083, + "acknowledgement": 0 + }, + { + "time": 7890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000037, + "acknowledgement": 2000134 + }, + { + "time": 9112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "RCPT TO:", + "tcpFlags": "P", + "sequence": 3000037, + "acknowledgement": 0 + }, + { + "time": 9112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000134, + "acknowledgement": 3000064 + }, + { + "time": 9167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Recipient OK", + "tcpFlags": "P", + "sequence": 2000134, + "acknowledgement": 0 + }, + { + "time": 9390, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000064, + "acknowledgement": 2000150 + }, + { + "time": 10611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000064, + "acknowledgement": 0 + }, + { + "time": 10612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000150, + "acknowledgement": 3000068 + }, + { + "time": 10667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "503 Falsche Reihenfolge der Kommandos.", + "tcpFlags": "P", + "sequence": 2000150, + "acknowledgement": 0 + }, + { + "time": 10889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000068, + "acknowledgement": 2000188 + }, + { + "time": 12111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "MAIL FROM:", + "tcpFlags": "P", + "sequence": 3000068, + "acknowledgement": 0 + }, + { + "time": 12112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000188, + "acknowledgement": 3000093 + }, + { + "time": 12167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Sender OK", + "tcpFlags": "P", + "sequence": 2000188, + "acknowledgement": 0 + }, + { + "time": 12389, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000093, + "acknowledgement": 2000201 + }, + { + "time": 13612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "RCPT TO: anna", + "tcpFlags": "P", + "sequence": 3000093, + "acknowledgement": 0 + }, + { + "time": 13612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000201, + "acknowledgement": 3000106 + }, + { + "time": 13667, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "501 Syntax-Fehler - Parameter oder Argument falsch.", + "tcpFlags": "P", + "sequence": 2000201, + "acknowledgement": 0 + }, + { + "time": 13889, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000106, + "acknowledgement": 2000252 + }, + { + "time": 15111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "NOOP", + "tcpFlags": "P", + "sequence": 3000106, + "acknowledgement": 0 + }, + { + "time": 15112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000252, + "acknowledgement": 3000110 + }, + { + "time": 15167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 OK", + "tcpFlags": "P", + "sequence": 2000252, + "acknowledgement": 0 + }, + { + "time": 15389, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000110, + "acknowledgement": 2000258 + }, + { + "time": 16611, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "DATA", + "tcpFlags": "P", + "sequence": 3000110, + "acknowledgement": 0 + }, + { + "time": 16611, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000258, + "acknowledgement": 3000114 + }, + { + "time": 16666, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "354 End data with .", + "tcpFlags": "P", + "sequence": 2000258, + "acknowledgement": 0 + }, + { + "time": 16888, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000114, + "acknowledgement": 2000293 + }, + { + "time": 18111, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n", + "tcpFlags": "P", + "sequence": 3000114, + "acknowledgement": 0 + }, + { + "time": 18112, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000293, + "acknowledgement": 3000192 + }, + { + "time": 18167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "250 Mail queued for delivery", + "tcpFlags": "P", + "sequence": 2000293, + "acknowledgement": 0 + }, + { + "time": 18388, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000192, + "acknowledgement": 2000321 + }, + { + "time": 19612, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": "QUIT", + "tcpFlags": "P", + "sequence": 3000192, + "acknowledgement": 0 + }, + { + "time": 19612, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000321, + "acknowledgement": 3000196 + }, + { + "time": 19668, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": "221 Server beendet Verbindung.", + "tcpFlags": "P", + "sequence": 2000321, + "acknowledgement": 0 + }, + { + "time": 19890, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000196, + "acknowledgement": 2000351 + }, + { + "time": 19890, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "F", + "sequence": 2000351, + "acknowledgement": 0 + }, + { + "time": 20112, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "A", + "sequence": 3000196, + "acknowledgement": 2000352 + }, + { + "time": 20167, + "source": "02:00:00:00:02:11", + "destination": "02:00:00:00:02:13", + "sourceIp": "192.168.0.20", + "destinationIp": "192.168.0.30", + "protocol": 6, + "sourcePort": 57477, + "destinationPort": 25, + "payload": null, + "tcpFlags": "F", + "sequence": 3000196, + "acknowledgement": 0 + }, + { + "time": 20167, + "source": "02:00:00:00:02:13", + "destination": "02:00:00:00:02:11", + "sourceIp": "192.168.0.30", + "destinationIp": "192.168.0.20", + "protocol": 6, + "sourcePort": 25, + "destinationPort": 57477, + "payload": null, + "tcpFlags": "A", + "sequence": 2000352, + "acknowledgement": 3000197 + } + ], + "00000000-0000-0000-0000-000000000204": [ + { + "time": 643, + "source": "02:00:00:00:02:11", + "destination": "FF:FF:FF:FF:FF:FF", + "arp": 1, + "senderIp": "192.168.0.20", + "targetIp": "192.168.0.30" + } + ] + }, + "rows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "EHLO" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 3.000.009" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.035" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Hello " + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.009, ACK: 2.000.045" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.009" + ], + [ + "16", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.045, ACK: 3.000.013" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.045" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.013, ACK: 2.000.083" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.013" + ], + [ + "20", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "MAIL FROM: bob@filius.de" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.083, ACK: 3.000.037" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.083" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 2.000.134" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.037" + ], + [ + "24", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.134, ACK: 3.000.064" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.134" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.064, ACK: 2.000.150" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.064" + ], + [ + "28", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.150, ACK: 3.000.068" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.150" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.188" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "32", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "MAIL FROM:" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.188, ACK: 3.000.093" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.188" + ], + [ + "34", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.093, ACK: 2.000.201" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.093" + ], + [ + "36", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "RCPT TO: anna" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.201, ACK: 3.000.106" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.201" + ], + [ + "38", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.106, ACK: 2.000.252" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.106" + ], + [ + "40", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.252, ACK: 3.000.110" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.252" + ], + [ + "42", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.110, ACK: 2.000.258" + ], + [ + "44", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.110" + ], + [ + "44", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "45", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.258, ACK: 3.000.114" + ], + [ + "46", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.258" + ], + [ + "46", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "47", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.114, ACK: 2.000.293" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.114" + ], + [ + "48", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.293, ACK: 3.000.192" + ], + [ + "50", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.293" + ], + [ + "50", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "51", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.192, ACK: 2.000.321" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.192" + ], + [ + "52", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "53", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.321, ACK: 3.000.196" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.321" + ], + [ + "54", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "55", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.351" + ], + [ + "56", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "FIN, SEQ: 2.000.351" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.352" + ], + [ + "58", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.196" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.352, ACK: 3.000.197" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "EHLO" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 3.000.009" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.035" + ], + [ + "14", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Hello " + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.009, ACK: 2.000.045" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.009" + ], + [ + "16", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.045, ACK: 3.000.013" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.045" + ], + [ + "18", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.013, ACK: 2.000.083" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.013" + ], + [ + "20", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "MAIL FROM: bob@filius.de" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.083, ACK: 3.000.037" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.083" + ], + [ + "22", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 2.000.134" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.037" + ], + [ + "24", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.134, ACK: 3.000.064" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.134" + ], + [ + "26", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.064, ACK: 2.000.150" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.064" + ], + [ + "28", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.150, ACK: 3.000.068" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.150" + ], + [ + "30", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.188" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "32", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "MAIL FROM:" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.188, ACK: 3.000.093" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.188" + ], + [ + "34", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.093, ACK: 2.000.201" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.093" + ], + [ + "36", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "RCPT TO: anna" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.201, ACK: 3.000.106" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.201" + ], + [ + "38", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.106, ACK: 2.000.252" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.106" + ], + [ + "40", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.252, ACK: 3.000.110" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.252" + ], + [ + "42", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.110, ACK: 2.000.258" + ], + [ + "44", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.110" + ], + [ + "44", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "DATA" + ], + [ + "45", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.258, ACK: 3.000.114" + ], + [ + "46", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.258" + ], + [ + "46", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "47", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.114, ACK: 2.000.293" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.114" + ], + [ + "48", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.293, ACK: 3.000.192" + ], + [ + "50", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.293" + ], + [ + "50", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "51", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.192, ACK: 2.000.321" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.192" + ], + [ + "52", + "192.168.0.20:57477", + "192.168.0.30:25", + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "53", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.321, ACK: 3.000.196" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.321" + ], + [ + "54", + "192.168.0.30:25", + "192.168.0.20:57477", + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "55", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.351" + ], + [ + "56", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "FIN, SEQ: 2.000.351" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.352" + ], + [ + "58", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "192.168.0.20:57477", + "192.168.0.30:25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.196" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "192.168.0.30:25", + "192.168.0.20:57477", + "TCP", + "Transport", + "SEQ: 2.000.352, ACK: 3.000.197" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "layeredRows": { + "00000000-0000-0000-0000-000000000201": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "57477", + "25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "25", + "57477", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + null, + null, + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + null, + null, + "SMTP", + "Anwendung", + "EHLO" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 3.000.009" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.035" + ], + [ + "14", + null, + null, + "SMTP", + "Anwendung", + "250 Hello " + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.009, ACK: 2.000.045" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.009" + ], + [ + "16", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.045, ACK: 3.000.013" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.045" + ], + [ + "18", + null, + null, + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.013, ACK: 2.000.083" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.013" + ], + [ + "20", + null, + null, + "SMTP", + "Anwendung", + "MAIL FROM: bob@filius.de" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.083, ACK: 3.000.037" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.083" + ], + [ + "22", + null, + null, + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 2.000.134" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.037" + ], + [ + "24", + null, + null, + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.134, ACK: 3.000.064" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.134" + ], + [ + "26", + null, + null, + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.064, ACK: 2.000.150" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.064" + ], + [ + "28", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.150, ACK: 3.000.068" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.150" + ], + [ + "30", + null, + null, + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.188" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "32", + null, + null, + "SMTP", + "Anwendung", + "MAIL FROM:" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.188, ACK: 3.000.093" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.188" + ], + [ + "34", + null, + null, + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.093, ACK: 2.000.201" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.093" + ], + [ + "36", + null, + null, + "SMTP", + "Anwendung", + "RCPT TO: anna" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.201, ACK: 3.000.106" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.201" + ], + [ + "38", + null, + null, + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.106, ACK: 2.000.252" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.106" + ], + [ + "40", + null, + null, + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.252, ACK: 3.000.110" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.252" + ], + [ + "42", + null, + null, + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.110, ACK: 2.000.258" + ], + [ + "44", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.110" + ], + [ + "44", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "45", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.258, ACK: 3.000.114" + ], + [ + "46", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.258" + ], + [ + "46", + null, + null, + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "47", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.114, ACK: 2.000.293" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.114" + ], + [ + "48", + null, + null, + "SMTP", + "Anwendung", + "From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.293, ACK: 3.000.192" + ], + [ + "50", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.293" + ], + [ + "50", + null, + null, + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "51", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.192, ACK: 2.000.321" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.192" + ], + [ + "52", + null, + null, + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "53", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.321, ACK: 3.000.196" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.321" + ], + [ + "54", + null, + null, + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "55", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.351" + ], + [ + "56", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "25", + "57477", + "TCP", + "Transport", + "FIN, SEQ: 2.000.351" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.352" + ], + [ + "58", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "57477", + "25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.196" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.352, ACK: 3.000.197" + ] + ], + "00000000-0000-0000-0000-000000000202": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ], + "00000000-0000-0000-0000-000000000203": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ], + [ + "2", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x806" + ], + [ + "2", + "192.168.0.30", + "192.168.0.20", + "ARP", + "Vermittlung", + "MAC ist 02:00:00:00:02:13 [op=REPLY, sender=02:00:00:00:02:13|192.168.0.30, target=02:00:00:00:02:11|192.168.0.20]" + ], + [ + "3", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "3", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "3", + "57477", + "25", + "TCP", + "Transport", + "SYN, SEQ: 3.000.000" + ], + [ + "4", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "4", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "4", + "25", + "57477", + "TCP", + "Transport", + "SYN, SEQ: 2.000.000, ACK: 3.000.001" + ], + [ + "5", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "5", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "5", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.001" + ], + [ + "6", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "6", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "6", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.001" + ], + [ + "6", + null, + null, + "SMTP", + "Anwendung", + "220 Willkommen bei filius.de" + ], + [ + "7", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "7", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "7", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001, ACK: 2.000.029" + ], + [ + "8", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "8", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "8", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.001" + ], + [ + "8", + null, + null, + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "9", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "9", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "9", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.029, ACK: 3.000.005" + ], + [ + "10", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "10", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "10", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.029" + ], + [ + "10", + null, + null, + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "11", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "11", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "11", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.005, ACK: 2.000.035" + ], + [ + "12", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "12", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "12", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.005" + ], + [ + "12", + null, + null, + "SMTP", + "Anwendung", + "EHLO" + ], + [ + "13", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "13", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "13", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.035, ACK: 3.000.009" + ], + [ + "14", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "14", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "14", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.035" + ], + [ + "14", + null, + null, + "SMTP", + "Anwendung", + "250 Hello " + ], + [ + "15", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "15", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "15", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.009, ACK: 2.000.045" + ], + [ + "16", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "16", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "16", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.009" + ], + [ + "16", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "17", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "17", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "17", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.045, ACK: 3.000.013" + ], + [ + "18", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "18", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "18", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.045" + ], + [ + "18", + null, + null, + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "19", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "19", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "19", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.013, ACK: 2.000.083" + ], + [ + "20", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "20", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "20", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.013" + ], + [ + "20", + null, + null, + "SMTP", + "Anwendung", + "MAIL FROM: bob@filius.de" + ], + [ + "21", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "21", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "21", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.083, ACK: 3.000.037" + ], + [ + "22", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "22", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "22", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.083" + ], + [ + "22", + null, + null, + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "23", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "23", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "23", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.037, ACK: 2.000.134" + ], + [ + "24", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "24", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "24", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.037" + ], + [ + "24", + null, + null, + "SMTP", + "Anwendung", + "RCPT TO:" + ], + [ + "25", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "25", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "25", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.134, ACK: 3.000.064" + ], + [ + "26", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "26", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "26", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.134" + ], + [ + "26", + null, + null, + "SMTP", + "Anwendung", + "250 Recipient OK" + ], + [ + "27", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "27", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "27", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.064, ACK: 2.000.150" + ], + [ + "28", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "28", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "28", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.064" + ], + [ + "28", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "29", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "29", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "29", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.150, ACK: 3.000.068" + ], + [ + "30", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "30", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "30", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.150" + ], + [ + "30", + null, + null, + "SMTP", + "Anwendung", + "503 Falsche Reihenfolge der Kommandos." + ], + [ + "31", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "31", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "31", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068, ACK: 2.000.188" + ], + [ + "32", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "32", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "32", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.068" + ], + [ + "32", + null, + null, + "SMTP", + "Anwendung", + "MAIL FROM:" + ], + [ + "33", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "33", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "33", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.188, ACK: 3.000.093" + ], + [ + "34", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "34", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "34", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.188" + ], + [ + "34", + null, + null, + "SMTP", + "Anwendung", + "250 Sender OK" + ], + [ + "35", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "35", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "35", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.093, ACK: 2.000.201" + ], + [ + "36", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "36", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "36", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.093" + ], + [ + "36", + null, + null, + "SMTP", + "Anwendung", + "RCPT TO: anna" + ], + [ + "37", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "37", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "37", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.201, ACK: 3.000.106" + ], + [ + "38", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "38", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "38", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.201" + ], + [ + "38", + null, + null, + "SMTP", + "Anwendung", + "501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + "39", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "39", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "39", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.106, ACK: 2.000.252" + ], + [ + "40", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "40", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "40", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.106" + ], + [ + "40", + null, + null, + "SMTP", + "Anwendung", + "NOOP" + ], + [ + "41", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "41", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "41", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.252, ACK: 3.000.110" + ], + [ + "42", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "42", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "42", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.252" + ], + [ + "42", + null, + null, + "SMTP", + "Anwendung", + "250 OK" + ], + [ + "43", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "43", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "43", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.110, ACK: 2.000.258" + ], + [ + "44", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "44", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "44", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.110" + ], + [ + "44", + null, + null, + "SMTP", + "Anwendung", + "DATA" + ], + [ + "45", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "45", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "45", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.258, ACK: 3.000.114" + ], + [ + "46", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "46", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "46", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.258" + ], + [ + "46", + null, + null, + "SMTP", + "Anwendung", + "354 End data with ." + ], + [ + "47", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "47", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "47", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.114, ACK: 2.000.293" + ], + [ + "48", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "48", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "48", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.114" + ], + [ + "48", + null, + null, + "SMTP", + "Anwendung", + "From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n" + ], + [ + "49", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "49", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "49", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.293, ACK: 3.000.192" + ], + [ + "50", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "50", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "50", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.293" + ], + [ + "50", + null, + null, + "SMTP", + "Anwendung", + "250 Mail queued for delivery" + ], + [ + "51", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "51", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "51", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.192, ACK: 2.000.321" + ], + [ + "52", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "52", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "52", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.192" + ], + [ + "52", + null, + null, + "SMTP", + "Anwendung", + "QUIT" + ], + [ + "53", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "53", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "53", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.321, ACK: 3.000.196" + ], + [ + "54", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "54", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "54", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.321" + ], + [ + "54", + null, + null, + "SMTP", + "Anwendung", + "221 Server beendet Verbindung." + ], + [ + "55", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "55", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "55", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.351" + ], + [ + "56", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "56", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "56", + "25", + "57477", + "TCP", + "Transport", + "FIN, SEQ: 2.000.351" + ], + [ + "57", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "57", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "57", + "57477", + "25", + "TCP", + "Transport", + "SEQ: 3.000.196, ACK: 2.000.352" + ], + [ + "58", + "02:00:00:00:02:11", + "02:00:00:00:02:13", + "", + "Netzzugang", + "0x800" + ], + [ + "58", + "192.168.0.20", + "192.168.0.30", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "58", + "57477", + "25", + "TCP", + "Transport", + "FIN, SEQ: 3.000.196" + ], + [ + "59", + "02:00:00:00:02:13", + "02:00:00:00:02:11", + "", + "Netzzugang", + "0x800" + ], + [ + "59", + "192.168.0.30", + "192.168.0.20", + "IP", + "Vermittlung", + "Protokoll: 6, TTL: 64" + ], + [ + "59", + "25", + "57477", + "TCP", + "Transport", + "SEQ: 2.000.352, ACK: 3.000.197" + ] + ], + "00000000-0000-0000-0000-000000000204": [ + [ + "1", + "02:00:00:00:02:11", + "FF:FF:FF:FF:FF:FF", + "", + "Netzzugang", + "0x806" + ], + [ + "1", + "192.168.0.20", + "192.168.0.30", + "ARP", + "Vermittlung", + "Suche nach MAC für 192.168.0.30 [op=REQUEST, sender=02:00:00:00:02:11|192.168.0.20, target=FF:FF:FF:FF:FF:FF|192.168.0.30]" + ] + ] + }, + "events": [ + [ + 213, + "client", + "null" + ], + [ + 213, + "server", + "null" + ], + [ + 500, + "client", + "call verbinden 25" + ], + [ + 1004, + "client", + "Verbindung hergestellt" + ], + [ + 1119, + "server", + "----" + ], + [ + 1231, + "client", + ">>220 Willkommen bei filius.de" + ], + [ + 1343, + "server", + "192.168.0.20> 220 Willkommen bei filius.de" + ], + [ + 3001, + "client", + "call senden NOOP" + ], + [ + 3113, + "server", + "192.168.0.20< NOOP" + ], + [ + 3224, + "client", + "<>250 OK" + ], + [ + 3391, + "server", + "192.168.0.20> 250 OK" + ], + [ + 4500, + "client", + "call senden EHLO" + ], + [ + 4612, + "server", + "192.168.0.20< EHLO" + ], + [ + 4723, + "client", + "<>250 Hello " + ], + [ + 4890, + "server", + "192.168.0.20> 250 Hello " + ], + [ + 6000, + "client", + "call senden DATA" + ], + [ + 6112, + "server", + "192.168.0.20< DATA" + ], + [ + 6223, + "client", + "<>503 Falsche Reihenfolge der Kommandos." + ], + [ + 6390, + "server", + "192.168.0.20> 503 Falsche Reihenfolge der Kommandos." + ], + [ + 7500, + "client", + "call senden MAIL FROM: bob@filius.de" + ], + [ + 7612, + "server", + "192.168.0.20< MAIL FROM: bob@filius.de" + ], + [ + 7723, + "client", + "<>501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + 7890, + "server", + "192.168.0.20> 501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + 9000, + "client", + "call senden RCPT TO:" + ], + [ + 9112, + "server", + "192.168.0.20< RCPT TO:" + ], + [ + 9223, + "client", + "<" + ], + [ + 9279, + "client", + ">>250 Recipient OK" + ], + [ + 9390, + "server", + "192.168.0.20> 250 Recipient OK" + ], + [ + 10500, + "client", + "call senden DATA" + ], + [ + 10612, + "server", + "192.168.0.20< DATA" + ], + [ + 10723, + "client", + "<>503 Falsche Reihenfolge der Kommandos." + ], + [ + 10889, + "server", + "192.168.0.20> 503 Falsche Reihenfolge der Kommandos." + ], + [ + 12000, + "client", + "call senden MAIL FROM:" + ], + [ + 12111, + "server", + "192.168.0.20< MAIL FROM:" + ], + [ + 12222, + "client", + "<" + ], + [ + 12278, + "client", + ">>250 Sender OK" + ], + [ + 12389, + "server", + "192.168.0.20> 250 Sender OK" + ], + [ + 13500, + "client", + "call senden RCPT TO: anna" + ], + [ + 13612, + "server", + "192.168.0.20< RCPT TO: anna" + ], + [ + 13723, + "client", + "<>501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + 13889, + "server", + "192.168.0.20> 501 Syntax-Fehler - Parameter oder Argument falsch." + ], + [ + 15000, + "client", + "call senden NOOP" + ], + [ + 15112, + "server", + "192.168.0.20< NOOP" + ], + [ + 15223, + "client", + "<>250 OK" + ], + [ + 15389, + "server", + "192.168.0.20> 250 OK" + ], + [ + 16500, + "client", + "call senden DATA" + ], + [ + 16611, + "server", + "192.168.0.20< DATA" + ], + [ + 16722, + "client", + "<>354 End data with ." + ], + [ + 16888, + "server", + "192.168.0.20> 354 End data with ." + ], + [ + 18000, + "client", + "call senden From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n" + ], + [ + 18111, + "server", + "192.168.0.20< From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n" + ], + [ + 18222, + "client", + "<\nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n" + ], + [ + 18278, + "client", + ">>250 Mail queued for delivery" + ], + [ + 18389, + "server", + "192.168.0.20> 250 Mail queued for delivery" + ], + [ + 18393, + "server", + "E-Mail für bob im Postfach gespeichert." + ], + [ + 19501, + "client", + "call senden QUIT" + ], + [ + 19612, + "server", + "192.168.0.20< QUIT" + ], + [ + 19723, + "client", + "<>221 Server beendet Verbindung." + ], + [ + 19890, + "server", + "192.168.0.20> 221 Server beendet Verbindung." + ], + [ + 20001, + "client", + "Socket zu 192.168.0.30:25 getrennt" + ] + ], + "accounts": [ + [ + "anna", + [ + "From: Bob Beispiel \nTo: \nSubject: Hallo Anna\n\nErste Zeile\nZweite Zeile", + "true", + "false" + ], + [ + "From: Carla \nTo: Anna Muster , \nCc: \nSubject: Termin\n\nMorgen um 10?", + "true", + "false" + ] + ], + [ + "bob", + [ + "From: \nTo: \nSubject: Non Delivery Notification\n\nThe mail could not be delivered either because user or mail domain is unknown.\nMessage could not be delivered to the following recipients:\n\u0009niemand@filius.de\n\nDate: 10/1/26, 6:38 PM\nMail-Server: 192.168.0.30\n\n______________________________________________________________________\nFrom: \nTo: \nSubject: Wer?\n\nIst da jemand?", + "true", + "false" + ] + ] + ], + "file": "anna;filius.de;geheim;Muster;Anna;#Bob Beispiel $$$$$Hallo Anna$Erste Zeile|Zweite Zeile#Carla $Anna Muster ,$$$$Termin$Morgen um 10?\nbob;filius.de;passwort;Beispiel;Bob;\n" +} diff --git a/packages/core/test/scenarios/mail-lan.scenario.json b/packages/core/test/scenarios/mail-lan.scenario.json new file mode 100644 index 0000000..3922644 --- /dev/null +++ b/packages/core/test/scenarios/mail-lan.scenario.json @@ -0,0 +1,126 @@ +{ + "seed": 61, + "nodes": [ + { + "id": "00000000-0000-0000-0000-000000000201", + "kind": "pc", + "ports": [ + { + "id": "00000000-0000-0000-0000-000000000211", + "label": "eth0" + } + ] + }, + { + "id": "00000000-0000-0000-0000-000000000202", + "kind": "pc", + "ports": [ + { + "id": "00000000-0000-0000-0000-000000000212", + "label": "eth0" + } + ] + }, + { + "id": "00000000-0000-0000-0000-000000000203", + "kind": "pc", + "ports": [ + { + "id": "00000000-0000-0000-0000-000000000213", + "label": "eth0" + } + ] + }, + { + "id": "00000000-0000-0000-0000-000000000204", + "kind": "pc", + "ports": [ + { + "id": "00000000-0000-0000-0000-000000000214", + "label": "eth0" + } + ] + }, + { + "id": "00000000-0000-0000-0000-000000000205", + "kind": "networkSwitch", + "ports": [ + { + "id": "00000000-0000-0000-0000-000000000221", + "label": "sw1" + }, + { + "id": "00000000-0000-0000-0000-000000000222", + "label": "sw2" + }, + { + "id": "00000000-0000-0000-0000-000000000223", + "label": "sw3" + }, + { + "id": "00000000-0000-0000-0000-000000000224", + "label": "sw4" + } + ] + } + ], + "links": [ + { + "id": "00000000-0000-0000-0000-00000000F201", + "sourceNode": "00000000-0000-0000-0000-000000000201", + "sourcePort": "00000000-0000-0000-0000-000000000211", + "targetNode": "00000000-0000-0000-0000-000000000205", + "targetPort": "00000000-0000-0000-0000-000000000221" + }, + { + "id": "00000000-0000-0000-0000-00000000F202", + "sourceNode": "00000000-0000-0000-0000-000000000202", + "sourcePort": "00000000-0000-0000-0000-000000000212", + "targetNode": "00000000-0000-0000-0000-000000000205", + "targetPort": "00000000-0000-0000-0000-000000000222" + }, + { + "id": "00000000-0000-0000-0000-00000000F203", + "sourceNode": "00000000-0000-0000-0000-000000000203", + "sourcePort": "00000000-0000-0000-0000-000000000213", + "targetNode": "00000000-0000-0000-0000-000000000205", + "targetPort": "00000000-0000-0000-0000-000000000223" + }, + { + "id": "00000000-0000-0000-0000-00000000F204", + "sourceNode": "00000000-0000-0000-0000-000000000204", + "sourcePort": "00000000-0000-0000-0000-000000000214", + "targetNode": "00000000-0000-0000-0000-000000000205", + "targetPort": "00000000-0000-0000-0000-000000000224" + } + ], + "devices": { + "00000000-0000-0000-0000-000000000201": { + "ip": "192.168.0.20", + "mask": "255.255.255.0", + "dns": "192.168.0.10" + }, + "00000000-0000-0000-0000-000000000202": { + "ip": "192.168.0.10", + "mask": "255.255.255.0" + }, + "00000000-0000-0000-0000-000000000203": { + "ip": "192.168.0.30", + "mask": "255.255.255.0" + }, + "00000000-0000-0000-0000-000000000204": { + "ip": "192.168.0.31", + "mask": "255.255.255.0" + } + }, + "dnsServers": { + "00000000-0000-0000-0000-000000000202": { + "records": [ + "www.filius.de A 192.168.0.30", + "seite.filius.de A 192.168.0.30", + "andere.filius.de A 192.168.0.30", + "leer.filius.de A 192.168.0.31" + ] + } + } +} diff --git a/packages/fls/src/projectSnapshot.ts b/packages/fls/src/projectSnapshot.ts index c722871..db3b8fe 100644 --- a/packages/fls/src/projectSnapshot.ts +++ b/packages/fls/src/projectSnapshot.ts @@ -5,15 +5,17 @@ // Only the cables count: a host's SSID connects nothing at run time, as in // Java (Swift joins a wireless host to the switch of its SSID; not taken). // A DNS server runs only when it is switched on (Java: DNSServer.aktiv); an -// echo or web server is there either way, switched on or off (it can be +// echo, web or e-mail server is there either way, switched on or off (it can be // switched at run time). The programs read the nodes' files (a web server its // pages). // // Back the other way: what the simulation changes that Java keeps in the // project (its objects are the project's), so a project saved after it holds -// it. That is a router's or home router's firewall, set on its page konfig. +// it. That is a router's or home router's firewall, set on its page konfig, +// and an e-mail server's mailboxes (Java writes them into +// /mailserver/konten.txt at once). -import { portSnapshot, topologySnapshot, type DnsServerConfiguration, type EchoServerSnapshot, type Id, type WebServerSnapshot, type TopologySnapshot } from '@mdg-filius/core'; +import { portSnapshot, topologySnapshot, type DnsServerConfiguration, type EchoServerSnapshot, type EmailServerSnapshot, type Id, type WebServerSnapshot, type TopologySnapshot } from '@mdg-filius/core'; import type { ImportedProject } from './importProject.js'; export function projectSnapshot(project: ImportedProject): TopologySnapshot { @@ -29,6 +31,11 @@ export function projectSnapshot(project: ImportedProject): TopologySnapshot { for (const [nodeId, configuration] of project.webServerConfigurations) { webServers.set(nodeId, { ...configuration, isActive: project.activePrograms.get(nodeId)?.has('webServer') === true }); } + const emailServers = new Map(); + for (const [nodeId, configuration] of project.emailServerConfigurations) { + if (project.installedPrograms.get(nodeId)?.has('emailServer') !== true) continue; + emailServers.set(nodeId, { domain: configuration.domain, accounts: configuration.accounts, isActive: project.activePrograms.get(nodeId)?.has('emailServer') === true }); + } const webBrowsers = new Set([...project.installedPrograms].filter(([, programs]) => programs.has('webBrowser')).map(([nodeId]) => nodeId)); return topologySnapshot({ nodes: project.graph.nodes.map((node) => ({ @@ -52,11 +59,22 @@ export function projectSnapshot(project: ImportedProject): TopologySnapshot { simpleClientsByNodeId: project.simpleClientConfigurations, webServersByNodeId: webServers, webBrowserNodeIds: webBrowsers, + emailServersByNodeId: emailServers, fileSystemsByNodeId: project.virtualFileSystems, }); } -/** The project with what the simulation changed that Java keeps: the firewalls, as the run's snapshot holds them. */ +/** + * The project with what the simulation changed that Java keeps, as the run's + * snapshot holds it: the firewalls, and the e-mail servers' mailboxes. + */ export function projectWithSimulationChanges(project: ImportedProject, snapshot: TopologySnapshot): ImportedProject { - return { ...project, firewallConfigurationsByNodeId: new Map(snapshot.firewallConfigurationsByNodeId) }; + const emailServers = new Map(project.emailServerConfigurations); + for (const [nodeId, server] of snapshot.emailServersByNodeId) { + const configuration = emailServers.get(nodeId); + if (configuration === undefined) continue; + const messages = server.accounts.reduce((count, account) => count + account.mailbox.length, 0); + emailServers.set(nodeId, { ...configuration, accounts: server.accounts, nextMessageID: messages + 1 }); + } + return { ...project, firewallConfigurationsByNodeId: new Map(snapshot.firewallConfigurationsByNodeId), emailServerConfigurations: emailServers }; } diff --git a/packages/fls/test/importProject.test.ts b/packages/fls/test/importProject.test.ts index e5a1f6a..787c4f0 100644 --- a/packages/fls/test/importProject.test.ts +++ b/packages/fls/test/importProject.test.ts @@ -801,6 +801,41 @@ describe('importProject rules', () => { expect(reopened.firewallConfigurationsByNodeId.get(reopenedRouter)).toEqual(expected); }); + it("keeps a mail the e-mail server took during the run in the project saved after it (projectWithSimulationChanges)", () => { + const project = openProjectArchive(new Uint8Array(readFileSync(join(corpusRoot, 'java-examples/email_komplett.fls'))), counter()); + const node = (name: string) => project.graph.nodes.find((each) => each.displayName === name)!.id; + const server = node('Mail-Server (filius.de)'); + const sender = node('Rechner 1'); + const engine = new NetworkRuntimeEngine(14); + const snapshot = projectSnapshot(project); + expect(snapshot.emailServersByNodeId.get(server)).toEqual({ domain: 'filius.de', accounts: project.emailServerConfigurations.get(server)!.accounts, isActive: true }); + const switchedOff = { ...project, activePrograms: new Map([...project.activePrograms].map(([id, programs]) => [id, new Set([...programs].filter((each) => each !== 'emailServer'))])) }; + expect(projectSnapshot(switchedOff).emailServersByNodeId.get(server)?.isActive).toBe(false); + engine.handle({ + type: 'start', + snapshot: { ...snapshot, simpleClientsByNodeId: new Map([[sender, { targetAddress: '141.99.50.232', targetPort: 25 }]]) }, + seed: 14, + initialTimeMilliseconds: 0, + }); + const client = engine.simpleClient(sender)!; + client.connect('141.99.50.232', 25); + const commands = ['HELO 141.99.50.181', 'MAIL FROM:', 'RCPT TO:', 'DATA', 'From: \nTo: \nSubject: Hallo\n\nGespeichert?\n.\n', 'QUIT']; + for (const [index, command] of commands.entries()) { + engine.handle({ type: 'advance', toMilliseconds: 5_000 + index * 2_000 }); + client.send(command); + } + engine.handle({ type: 'advance', toMilliseconds: 20_000 }); + // The project itself is as it was opened, until the run's changes go back into it. + expect(project.emailServerConfigurations.get(server)!.accounts[1]!.mailbox).toEqual([]); + + const saved = saveProjectArchive(projectWithSimulationChanges(project, engine.state.topologySnapshot)).archive; + const reopened = openProjectArchive(saved, counter()); + const reopenedServer = reopened.graph.nodes.find((each) => each.displayName === 'Mail-Server (filius.de)')!.id; + const [first, second] = reopened.emailServerConfigurations.get(reopenedServer)!.accounts; + expect(first!.mailbox).toEqual([]); + expect(second!.mailbox).toMatchObject([{ from: { name: null, mailAddress: 'rechner1@filius.de' }, to: [{ name: null, mailAddress: 'rechner2@filius.de' }], subject: 'Hallo', body: 'Gespeichert?\n' }]); + }); + it("keeps a node's IP forwarding where it differs from its kind's: a host that forwards, a router that does not", () => { const system = (ipForwardingEnabled: boolean) => ({ manualRoutes: [], ipForwardingEnabled }); const project = importProject( diff --git a/scripts/code_language_allow.txt b/scripts/code_language_allow.txt index ad61e12..cc74aad 100644 --- a/scripts/code_language_allow.txt +++ b/scripts/code_language_allow.txt @@ -81,3 +81,7 @@ packages/core/src/runtime/apps/routerPages.ts::titel packages/core/test/routerWebJava.test.ts::titel # konfig: the path of Java's firewall settings plug-in (FirewallWebKonfig); the stories that use it are named after it, as in RouterWebRun. packages/core/test/routerWebJava.test.ts::konfig +# Java FILIUS's e-mail classes and message keys (SMTPMitarbeiter, POP3Mitarbeiter, sw_smtpmitarbeiter_msg12 …), +# cited where the core's e-mail server says which of Java's classes and lines it stands for. +packages/core/src/runtime/apps/emailServer.ts::smtpmitarbeiter +packages/core/src/runtime/apps/emailServer.ts::pop3mitarbeiter diff --git a/tools/java-oracle/README.md b/tools/java-oracle/README.md index 6ec3380..3bbbf51 100644 --- a/tools/java-oracle/README.md +++ b/tools/java-oracle/README.md @@ -684,3 +684,44 @@ Gemessen (01.10.2026): Regel „TCP 80 verwerfen“ über die erlaubende geschoben, und das SYN des Browsers bleibt an der Firewall hängen. Javas Router-Server lauschte auch hier in einem Lauf nie (`run.sh` wiederholt). + +## E-Mail-Server (F3.3a) + +`EmailRun` lässt Javas einfachen Client (`ClientBaustein`) auf `mail-lan` +rohe SMTP- und POP3-Befehle an einen E-Mail-Server schicken (Domain +`filius.de`, Konten aus `/mailserver/konten.txt`: anna mit zwei Mails, bob +ohne). Aufgezeichnet werden die Frames, die Fensterzeilen von Server und +Client und am Ende die Konten (jede Mail als `Email.toString`, neu, +gelöscht). `MailCases` füttert Javas `SMTPMitarbeiter` und +`POP3Mitarbeiter` ohne Netz über einen Socket, der nur mitschreibt, mit den +Fällen aus `packages/core/test/email-server.cases.txt`, auf Deutsch und auf +Englisch. Die Netz-Abläufe bleiben bei dem, was Java richtig macht; Javas +Fehler zeigen die Fälle. + +Gemessen (01.10.2026): + +* Der Server startet POP3 (Port 110) vor SMTP (Port 25); POP3s Socket nimmt + die erste TCP-Startnummer. Die SMTP-Antworten sind übersetzt („220 + Willkommen bei“), die POP3-Antworten englisch. SMTP schreibt seine + Fensterzeile nach dem Senden, POP3 davor. +* Eine angenommene Mail speichert Java so, wie es ihren Text neu liest + (`new Email(email.toString())`): Zeilenenden ohne `\r`, kein Bcc. +* SMTP-Fehler: Nach einer Mail beantwortet der Server den nächsten Befehl mit + 503 und behält Absender, Empfänger und Text (die zweite Mail ging auch an + die erste Empfängerin, mit dem ersten Text); unbekannte oder verfrühte + Befehle bleiben ohne Antwort; ein `quit` im Mailtext beendet die + Verbindung; die Domain wird genau verglichen (`FILIUS.DE` ist fremd); ein + leerer Absender mit unbekanntem Empfänger und ein Empfänger ohne `@` + werfen im Mitarbeiter, die Verbindung endet; eine unbekannte Kopfzeile + beendet den Kopf (der Betreff wird Text), ohne Leerzeile fehlt die erste + Zeile; eine Benachrichtigung an eine Mail ohne From hat `To: null`. +* Die Benachrichtigung über unbekannte Empfänger trägt Javas Datum im + Gebietsschema der JVM (hier `10/1/26, 6:30 PM`) und die Adresse des + Servers. +* POP3 zählt Mails ab 0. Fehler: eine Mail lässt sich nur einmal abrufen; + `LIST` ohne Mails gibt `-ERR`, `LIST 0` listet alle; vor der Anmeldung + kommen leere Antworten; eine fehlende Mail kommt als leere `+OK`-Mail, + `DELE` darauf leer; ein fehlendes oder falsches Argument wirft, die + Verbindung endet; nach `DELE` nummeriert `LIST` neu, `RETR` nicht. +* Die Größe in `STAT` und `LIST` ist Javas eigene: die Länge von Text, + Absender, Betreff, Empfängerliste (`[a, b]`) und Datum. diff --git a/tools/java-oracle/run.sh b/tools/java-oracle/run.sh index 994d084..5da2799 100755 --- a/tools/java-oracle/run.sh +++ b/tools/java-oracle/run.sh @@ -21,7 +21,7 @@ if [ ! -f "$upstream/target/filius.jar" ]; then fi classpath="$upstream/target/filius.jar:$upstream/target/lib/*" mkdir -p "$here/.build" -javac -encoding UTF-8 -d "$here/.build" -cp "$classpath" "$here/src/FlsOracle.java" "$here/src/GetterDefaults.java" "$here/src/IpCheckCases.java" "$here/src/DnsHostsCases.java" "$here/src/EmailFileCases.java" "$here/src/BeansDump.java" "$here/src/Base64Cases.java" "$here/src/ScenarioNetwork.java" "$here/src/DhcpRun.java" "$here/src/TcpRun.java" "$here/src/DnsRun.java" "$here/src/ArpRun.java" "$here/src/RipRun.java" "$here/src/NatRun.java" "$here/src/WlanRun.java" "$here/src/ExampleRun.java" "$here/src/EchoRun.java" "$here/src/WebRun.java" "$here/src/RouterWebRun.java" "$here/src/KonfigCases.java" +javac -encoding UTF-8 -d "$here/.build" -cp "$classpath" "$here/src/FlsOracle.java" "$here/src/GetterDefaults.java" "$here/src/IpCheckCases.java" "$here/src/DnsHostsCases.java" "$here/src/EmailFileCases.java" "$here/src/BeansDump.java" "$here/src/Base64Cases.java" "$here/src/ScenarioNetwork.java" "$here/src/DhcpRun.java" "$here/src/TcpRun.java" "$here/src/DnsRun.java" "$here/src/ArpRun.java" "$here/src/RipRun.java" "$here/src/NatRun.java" "$here/src/WlanRun.java" "$here/src/ExampleRun.java" "$here/src/EchoRun.java" "$here/src/WebRun.java" "$here/src/RouterWebRun.java" "$here/src/KonfigCases.java" "$here/src/EmailRun.java" "$here/src/MailCases.java" # FILIUS writes its settings below $HOME; keep them out of the real one. mkdir -p "$here/.build/home" # Removed first: a crashed run must not leave the previous result standing. @@ -247,6 +247,24 @@ for language in de en; do test -s "$output" done +# The e-mail server as Java FILIUS runs it (EmailRun on mail-lan), and its +# SMTP and POP3 workers fed without a network, in both languages (MailCases). +for run in smtp:16000 smtpErrors:25000 pop3:36000 pop3Errors:20000; do + story="${run%%:*}" + output="$root/packages/core/test/scenarios/email-java-$story.java.json" + rm -f "$output" + HOME="$here/.build/home" xvfb-run -a java -cp "$classpath:$here/.build" EmailRun \ + "$root/packages/core/test/scenarios/mail-lan.scenario.json" "$story" "${run##*:}" "$output" 2>&1 | grep -v 'logback\|^$' || true + test -s "$output" +done +for language in de en; do + output="$root/packages/core/test/email-server.$language.java.json" + rm -f "$output" + HOME="$here/.build/home" xvfb-run -a java -cp "$classpath:$here/.build" MailCases "$language" \ + "$root/packages/core/test/email-server.cases.txt" "$output" 2>&1 | grep -v 'logback\|^$' || true + test -s "$output" +done + # FILIUS' own examples as Java FILIUS runs them, opened and started as FILIUS # does (ExampleRun): the acceptance of F2 (packages/fls/test/examplesJava.test.ts). for run in internetwork_komplett:routing:12000 einfaches_rechnernetz_komplett:dhcp:20000 dns_server:dns:12000 \ diff --git a/tools/java-oracle/src/EmailRun.java b/tools/java-oracle/src/EmailRun.java new file mode 100644 index 0000000..c91f3fe --- /dev/null +++ b/tools/java-oracle/src/EmailRun.java @@ -0,0 +1,148 @@ +// Runs a story of FILIUS' e-mail server (EmailServer with its SMTPServer and +// POP3Server) on a core scenario's network in Java FILIUS and records what +// really happens: every frame each card saw, every line the server wrote +// into its window, every line of the generic client that talks to it, and +// the server's accounts at the end (each message as Email.toString, whether +// it is new, whether it is marked for deletion). +// +// EmailRun +// +// The stories use mail-lan (client on 192.168.0.20, e-mail server on .30, +// domain filius.de). The server's accounts come from /mailserver/konten.txt +// as below (anna with two messages, from bob and from carla; bob without), +// switched on. +// FILIUS' generic client (ClientBaustein) on .20 sends the commands as they +// are, one message each, after a pause for the answer. +// smtp to anna, then QUIT +// smtpErrors commands out of order, then a mail to a recipient the +// domain does not know (a notice goes to the local sender) +// pop3 log in, STAT, LIST, RETR and DELE both messages, QUIT; +// again: log in, STAT, QUIT +// pop3Errors unknown user, PASS before USER, wrong password, NOOP before +// and after log-in, USER after log-in +// Java's errors in these dialogues are measured without a network +// (MailCases), so the stories keep to what Java does right. + +import filius.software.clientserver.ClientBaustein; +import filius.software.email.Email; +import filius.software.email.EmailKonto; +import filius.software.email.EmailServer; +import filius.software.system.Datei; +import filius.software.system.Dateisystem; + +import java.util.ArrayList; +import java.util.List; + +public class EmailRun { + static final String CLIENT = "00000000-0000-0000-0000-000000000201"; + static final String SERVER = "00000000-0000-0000-0000-000000000203"; + + /** The server's accounts before the run, in EmailServer's file format. */ + static final String ACCOUNTS = "anna;filius.de;geheim;Muster;Anna;#Bob Beispiel $$$$$Hallo Anna$Erste Zeile|Zweite Zeile" + + "#Carla $Anna Muster ,$$$$Termin$Morgen um 10?\n" + + "bob;filius.de;passwort;Beispiel;Bob;\n"; + + static ScenarioNetwork network; + static ClientBaustein client; + static final List events = new ArrayList<>(); + + static synchronized void event(String who, String what) { + events.add(new Object[] { System.currentTimeMillis() - network.start, who, what }); + } + + static void sleepUntil(long milliseconds) throws InterruptedException { + long rest = network.start + milliseconds - System.currentTimeMillis(); + if (rest > 0) Thread.sleep(rest); + } + + static long at; + + static void connect(int port) throws InterruptedException { + sleepUntil(at); + client.setZielIPAdresse("192.168.0.30"); + client.setZielPort(port); + event("client", "call verbinden " + port); + client.verbinden(); + at += 2500; + } + + /** Each command after the answer to the one before. */ + static void send(String... messages) throws InterruptedException { + for (String message : messages) { + sleepUntil(at); + event("client", "call senden " + message); + client.senden(message); + at += 1500; + } + } + + public static void main(String[] args) throws Exception { + network = ScenarioNetwork.read(args[0]); + String story = args[1]; + long end = Long.parseLong(args[2]); + + network.system(SERVER).installApp("filius.software.email.EmailServer", false); + EmailServer server = (EmailServer) network.system(SERVER).holeSoftware("filius.software.email.EmailServer"); + Dateisystem files = network.system(SERVER).getDateisystem(); + files.speicherDatei("/mailserver", new Datei("konten.txt", "txt", ACCOUNTS)); + server.setMailDomain("filius.de"); + server.setAktiv(true); + server.hinzuBeobachter((observable, data) -> event("server", String.valueOf(data))); + network.system(CLIENT).installApp("filius.software.clientserver.ClientBaustein", false); + client = (ClientBaustein) network.system(CLIENT).holeSoftware("filius.software.clientserver.ClientBaustein"); + client.hinzuBeobachter((observable, data) -> event("client", String.valueOf(data))); + network.start(); + at = 500; + + switch (story) { + case "smtp": + connect(25); + send("HELO 192.168.0.20", "MAIL FROM: ", "RCPT TO:", "DATA", + "From: Bob Beispiel \nTo: \nSubject: Gruß\n\nHallo Anna,\nwie geht's?\r\n.\r\n", "QUIT"); + break; + case "smtpErrors": + connect(25); + send("NOOP", "EHLO", "DATA", "MAIL FROM: bob@filius.de", "RCPT TO:", "DATA", + "MAIL FROM:", "RCPT TO: anna", "NOOP", "DATA", + "From: \nTo: \nSubject: Wer?\n\nIst da jemand?\n.\n", "QUIT"); + break; + case "pop3": + connect(110); + send("USER anna", "PASS geheim", "STAT", "LIST", "RETR 0", "RETR 1", "DELE 0", "DELE 1", "QUIT"); + at += 1000; + connect(110); + send("USER anna", "PASS geheim", "STAT", "QUIT"); + break; + case "pop3Errors": + connect(110); + send("NOOP", "USER niemand", "PASS x", "USER anna", "PASS falsch", "PASS geheim", "NOOP", "USER bob", "QUIT"); + break; + default: + throw new IllegalArgumentException("unknown story " + story); + } + sleepUntil(Math.max(end, at + 3000)); + + ScenarioNetwork.Json out = new ScenarioNetwork.Json(); + out.open('{'); + network.writeFrames(out); + synchronized (EmailRun.class) { + out.key("events").open('['); + for (Object[] each : events) out.open('[').number((Long) each[0]).string((String) each[1]).string((String) each[2]).close(']'); + out.close(']'); + } + out.key("accounts").open('['); + for (EmailKonto account : server.getListeBenutzerkonten()) { + out.open('[').string(account.getBenutzername()); + for (Email email : account.getNachrichten()) { + out.open('[').string(email.toString()).string(String.valueOf(email.getNeu())).string(String.valueOf(email.getDelete())).close(']'); + } + out.close(']'); + } + out.close(']'); + out.key("file").string(files.holeDatei("/mailserver/konten.txt").getDateiInhalt()); + out.close('}'); + network.stop(); + ScenarioNetwork.write(args[3], out); + System.exit(0); + } +} diff --git a/tools/java-oracle/src/MailCases.java b/tools/java-oracle/src/MailCases.java new file mode 100644 index 0000000..ea85fa1 --- /dev/null +++ b/tools/java-oracle/src/MailCases.java @@ -0,0 +1,161 @@ +// Feeds FILIUS' SMTP and POP3 workers (SMTPMitarbeiter, POP3Mitarbeiter of +// an EmailServer) with messages from a client, one after the other, without +// a network: the worker's socket only writes down what it is to send. After +// each message it writes what the worker sent, the lines the e-mail server +// wrote into its window, whether the socket was closed, and the accounts +// (each message as Email.toString, new, marked for deletion). The reference +// for the core's e-mail server (packages/core/src/runtime/apps/emailServer.ts). +// Each case starts from a new server with the accounts of EmailRun (domain +// filius.de, its address 192.168.0.30, the client 192.168.0.20). The cases +// file is ASCII, with Java-style unicode escapes (backslash, u, four hex +// digits) for anything else, a message per line: +// +// case smtp|pop3 +// +// +// Usage: java -cp filius.jar:lib/*:classes MailCases + +import filius.hardware.knoten.Rechner; +import filius.rahmenprogramm.Information; +import filius.software.email.Email; +import filius.software.email.EmailKonto; +import filius.software.email.EmailServer; +import filius.software.email.POP3Mitarbeiter; +import filius.software.email.POP3Server; +import filius.software.email.SMTPMitarbeiter; +import filius.software.email.SMTPServer; +import filius.software.system.Datei; +import filius.software.system.InternetKnotenBetriebssystem; +import filius.software.transportschicht.TCPSocket; + +import java.io.FileOutputStream; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +public class MailCases { + + /** A socket that only writes down what is sent, and whether it was closed. */ + static class Recorder extends TCPSocket { + final List sent = new ArrayList<>(); + boolean closed = false; + + Recorder(InternetKnotenBetriebssystem system) throws Exception { + super(system, "192.168.0.20", 50000); + } + + @Override + public synchronized void senden(String nachricht) { + sent.add(nachricht); + } + + @Override + public void schliessen() { + closed = true; + } + + @Override + public void beenden() { + closed = true; + } + + @Override + public boolean istVerbunden() { + return !closed; + } + + @Override + public String holeZielIPAdresse() { + return "192.168.0.20"; + } + } + + public static void main(String[] args) throws Exception { + // Before any class reads the message bundle (I18n.messages is read once). + Information.getInformation().setLocale(args[0].equals("en") ? new Locale("en", "GB") : Locale.GERMANY); + List cases = new ArrayList<>(); + List steps = null; + EmailServer server = null; + Recorder socket = null; + Object worker = null; + Method process = null; + List lines = new ArrayList<>(); + for (String line : Files.readAllLines(Path.of(args[1]), StandardCharsets.US_ASCII)) { + if (line.isEmpty() || line.startsWith("#")) continue; + if (line.startsWith("case ")) { + String[] words = line.split(" "); + Map current = new LinkedHashMap<>(); + steps = new ArrayList<>(); + current.put("name", words[1]); + current.put("protocol", words[2]); + current.put("steps", steps); + cases.add(current); + Rechner host = new Rechner(); + InternetKnotenBetriebssystem system = (InternetKnotenBetriebssystem) host.getSystemSoftware(); + system.setzeIPAdresse("192.168.0.30"); + system.installApp("filius.software.email.EmailServer", false); + server = (EmailServer) system.holeSoftware("filius.software.email.EmailServer"); + system.getDateisystem().speicherDatei("/mailserver", new Datei("konten.txt", "txt", EmailRun.ACCOUNTS)); + server.setMailDomain("filius.de"); + server.kontenLaden(); + lines.clear(); + List window = lines; + server.hinzuBeobachter((observable, data) -> { + if (data != null) window.add(String.valueOf(data)); + }); + socket = new Recorder(system); + if (words[2].equals("smtp")) { + worker = new SMTPMitarbeiter(socket, new SMTPServer(25, server)); + process = SMTPMitarbeiter.class.getDeclaredMethod("verarbeiteNachricht", String.class); + } else { + worker = new POP3Mitarbeiter(socket, new POP3Server(110, server)); + process = POP3Mitarbeiter.class.getDeclaredMethod("verarbeiteNachricht", String.class); + } + process.setAccessible(true); + // The greeting the worker sends when it begins. + steps.add(step(null, socket, lines, server, null)); + continue; + } + String message = IpCheckCases.unescape(line); + String thrown = null; + try { + process.invoke(worker, message); + } catch (InvocationTargetException error) { + thrown = error.getCause().getClass().getSimpleName(); + } + steps.add(step(message, socket, lines, server, thrown)); + } + try (FileOutputStream out = new FileOutputStream(args[2])) { + out.write((FlsOracle.Json.write(cases, "") + "\n").getBytes(StandardCharsets.UTF_8)); + } + System.out.println("mail cases (" + args[0] + "): " + cases.size()); + System.exit(0); + } + + static Map step(String message, Recorder socket, List lines, EmailServer server, String thrown) { + Map step = new LinkedHashMap<>(); + step.put("message", message); + step.put("sent", new ArrayList<>(socket.sent)); + step.put("lines", new ArrayList<>(lines)); + step.put("closed", socket.closed); + step.put("thrown", thrown); + List accounts = new ArrayList<>(); + for (EmailKonto account : server.getListeBenutzerkonten()) { + List messages = new ArrayList<>(); + for (Email email : account.getNachrichten()) messages.add(Arrays.asList(email.toString(), email.getNeu(), email.getDelete())); + accounts.add(Arrays.asList(account.getBenutzername(), messages)); + } + step.put("accounts", accounts); + socket.sent.clear(); + lines.clear(); + return step; + } +}