Gibt es ein Tool zum Aufteilen einer Paketerfassungsdatei (im pcap-Format) in separate Dateien für jede TCP-Verbindung? (Anders als ein selbst erstelltes Shell-Skript, das wahrscheinlich zweimal über das Capture laufen muss ...). So etwas wie "Follow TCP Stream" von Wireshark, aber für die Befehlszeile (Ich befürchte, dass Wireshark bei der Anzeige einer 700-MB-Paketerfassung eine große Menge an Speicher verbraucht.)
Ich habe mir tcpflow angesehen, aber es scheint Dateien zu produzieren, die viel größer sind als die ursprünglichen pcap-Dateien, und sie scheinen nicht im pcap-Format zu sein.
linux
command-line-interface
tcp
pcap
Andre Holzner
quelle
quelle
Antworten:
Sie können auch den PcapSplitter verwenden, der Teil des PcapPlusPlus- Pakets ist. Es tut genau das, was Sie benötigen (dh, es teilt PCAP-Dateien über eine TCP- oder UDP-Verbindung auf), es ist plattformübergreifend und die Anzahl der Verbindungen in der Originaldatei ist nicht begrenzt (Sie können es also zum Teilen einer großen Datei verwenden) pcap-Datei mit Tausenden von Verbindungen oder mehr). Der obige Link ist für den Quellcode, aber wenn Sie eine kompilierte Binärdatei wollen - hier ist ein Link für Binärdateien, die ich für mehrere Plattformen erstellt habe
BEARBEITEN: Anscheinend wurde eine neue Version von PcapPlusPlus veröffentlicht, die PcapSplitter-Binärdateien für eine Vielzahl von Plattformen enthält (Windows, Ubuntu 12.04 / 14.04, Mac OSX Mavericks / Yosemite / El Captian). Ich denke, es ist besser, diese Binärdateien zu verwenden, als den Link, den ich zuvor bereitgestellt habe. Sie finden es hier
quelle
Sie können die
tcpdump
gewünschten Teile des PCs extrahieren ... Angenommen, Sie suchen nach Paketen in einer Socket-Verbindung zwischen TCP / 55777 auf einem Host und TCP / 80 auf einem anderen. Ihre Quelldatei istbigfile.pcap
, das ist ein Sniffer-Dump von vielen HTTP-Sitzungen an den betreffenden Webhost ...Dadurch werden alle Pakete, die zu und von TCP / 55777 gehen, eingezogen
bigfile.pcap
und kopiertsession.pcap
.quelle
-s0
es eine Wirkung, wenn es zusammen mit verwendet wird-r
?Ein bisschen übertrieben, aber mit
tshark
(im Lieferumfang enthaltenwireshark
) können Sie Folgendes tunzsh
:Welche Dateien mit dem Namen wie
1509466312.202450000-10.0.0.1-58892-10.0.0.2-80.pcap
(basierend auf dem ersten Paket für jede Verbindung gesehen) generiert .quelle
tcpflow ist das, was Sie wollen - teilt pcaps in eine Datei pro TCP-Sitzung auf
http://www.circlemud.org/jelson/software/tcpflow/
quelle
Es scheint dieses Tool zu geben, das funktionieren könnte (ich habe es nicht persönlich benutzt)
http://www.netresec.com/?page=SplitCap (Windows-basiert)
quelle
inspiriert von @sch hier ist eine bash version:
Der Dateiname wird so aussehen:
stream number__time__source IP__port__destination IP__port.pcap
tr -d '\r'
ist für Windows-Benutzer, weil tshark in Windows CR LF ausgibt.Bearbeiten :
Diese Lösung mit tshark ist so langsam, aber sicher. SplitCap ist super schnell, aber wenn es einen Fehler in einem Paket gibt, stürzt es ab, während tshark Sie nur über den Fehler informiert, aber fortfährt:
und schließlich gibt es PcapSplitter, der auch super schnell ist, aber den winpcap-Treiber benötigt, er funktioniert nicht mit dem npcap-Treiber in Windows.
Aber es gibt eine Lösung für SplitCap: Mit pcapfix kann ich die beschädigten Pakete reparieren, dann stürzt SplitCap nie wieder ab. und das ist es, was ich jetzt benutze, weil der Hai so langsam spaltet.
und eine Lösung für PcapSplitter, die ich gemacht habe, war das Injizieren der winpcap-DLL mit einer beliebigen Methode, aber während wir SplitCap haben, warum?
quelle