Gibt es eine Möglichkeit, tcpdump (live oder nach dem Erstellen eines Dumps) basierend auf TCP-Verbindungszeit (Verbindungsdauer) zu filtern?tcpdump - Wie filtert man basierend auf tcp Verbindungszeit/-dauer
Ich registriere http Json RPC Verkehr. Ich möchte nur Verbindungen aufzeichnen, die länger sind als 1000 ms.
In Wireshark gibt es Werkzeug in Menü-> Statistics-> Conversations (Registerkarte TCP) und dort kann ich nach "Dauer" sortieren. Aber ich möchte langlebige Verbindungen vorher aufzeichnen (oder filtern) (nicht im Wireshark).
In Pseudo-Befehle möchte ich so etwas wie dies zu tun:
tcpdump -i eth0 port 80 and connectionTime>1000ms -w data.pcap
oder nach der Aufnahme:
cat data.pcap | SOMETOOL -connectionTime>1000ms > dataLongConnections.pcap
SOMETOOL Daten gefiltert exportieren muss formatiert werden, dass Wireshark verstehen. Weil ich nach dem Filtern diese Daten in Wireshark analysieren möchte.
Wie kann ich das tun?
Haben Sie SplitCap wie von kauppi vorgeschlagen? Sie können nicht mit tcpdump nach Sitzungsdauer filtern, da es sich nicht um einen Stateful-Filter handelt. SplitCap scheint auf den ersten Blick das zu bieten, was Sie für den Anfang benötigen. –
Um hinzuzufügen, was Tom Regner gesagt hat: 'tcpdump' verfolgt die Sitzungsdauer nicht. Der Grund, dass 'Wireshark' Ihnen die Informationen zeigen kann, ist, weil 'Wireshark' selbst die Sitzungsdauer verfolgt und nicht einfach 'tcpdump' analysiert. –