GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Tool zum Teilen von PCAP-Dateien per TCP-Verbindung?

Lösung 1:

Sie können tcpdump verwenden Um die gewünschten Teile des pcap zu extrahieren ... nehmen Sie an, Sie suchen nach Paketen in einer Socket-Verbindung zwischen TCP/55777 auf einem Host und TCP/80 auf einem anderen. Ihre Quelldatei ist bigfile.pcap , das ist ein Sniffer-Dump vieler HTTP-Sitzungen zum fraglichen Webhost...

tcpdump -r bigfile.pcap -w session.pcap -s0 tcp and port 55777

Dadurch werden alle Pakete zu und von TCP/55777 in bigfile.pcap gezogen und kopiere sie in session.pcap .

Lösung 2:

Sie können auch PcapSplitter verwenden, das Teil des PcapPlusPlus-Pakets ist. Es macht genau das, was Sie brauchen (das Teilen von pcap-Dateien über eine TCP- oder UDP-Verbindung), es ist plattformübergreifend und hat keine Begrenzung der Anzahl der Verbindungen in der Originaldatei (so dass Sie es verwenden können, um eine große pcap-Datei, die Tausende von Verbindungen oder sogar mehr enthält). 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 und enthält PcapSplitter-Binärdateien für ziemlich viele Plattformen (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

Lösung 3:

tcpflow ist, was Sie wollen - teilt pcaps in eine Datei pro TCP-Sitzung

http://www.circlemud.org/jelson/software/tcpflow/

Lösung 4:

Etwas übertrieben, aber mit tshark (wird mit wireshark geliefert ), könnten Sie mit zsh tun :

file=file.pcap
tshark -Tfields -e tcp.stream \
                -e frame.time_epoch \
                -e ip.src \
                -e tcp.srcport \
                -e ip.dst \
                -e tcp.dstport -r $file |
  sort -snu |
  while read -A f; do 
    tshark -r $file -2R "tcp.stream == $f[1]" -w ${(j:-:)f[2,-1]}.pcap
  done

Dadurch werden Dateien mit dem Namen 1509466312.202450000-10.0.0.1-58892-10.0.0.2-80.pcap generiert (basierend auf dem ersten Paket, das für jede Verbindung gesehen wird).

Lösung 5:

Es scheint dieses Tool zu geben, das funktionieren könnte (ich habe es persönlich nicht benutzt)

http://www.netresec.com/?page=SplitCap (Windows-basiert)

SplitCap ist ein kostenloser (wie in Bier) Open-Source-Pcap-Dateisplitter. SplitCap teilt eine große pcap-Datei basierend auf TCP- und UDP-Sitzungen in mehrere Dateien auf, eine pcap-Datei pro Sitzung. SplitCap kann auch verwendet werden, um eine pcap-Datei in eine pcap-Datei pro Host-Paar anstatt pro Sitzung aufzuteilen.


Linux
  1. Robustes Befehlszeilentool zum Verarbeiten von CSV-Dateien?

  2. Alle Dateien/Verzeichnisse außer einer Datei entfernen?

  3. ANGRYsearch – Ein schnelles Dateisuchtool für Linux-Desktops

  4. So prüfen Sie Änderungen an Dateien und Ausführungen von Dateien in Linux

  5. Wie überwacht man cwnd- und ssthresh-Werte für eine TCP-Verbindung?

7 Linux-Befehlszeilentipps zum Einsparen von Speicherplatz für Mediendateien

ls-Befehl in Linux zum Auflisten von Dateien

Tomb File Encryption Tool schützt Ihre geheimen Dateien unter Linux

Linux:Dateierweiterungen für mehrere Dateien entfernen

Benötigen Sie einen guten Hex-Editor für Linux

Binärer Diff/Patch für große Dateien unter Linux?