2013-10-28 8 views

Antwort

1

Sie stellen eine sehr interessante Frage (zumindest für mich!), Also habe ich nach einer Antwort gesucht.

Ich war etwas überrascht zu sehen, dass die tcpdump Manpage und Docs keine Erwähnung der Paketnummer enthalten, die ich hätte gedacht, dass es mit der Option -r (Lesen von PCAP-Datei) verwenden würde. Ich fange an zu denken, dass die pcap-Ausgabedatei KEINE Paketnummer enthält?

Ich weiß, wenn Sie es in Wireshark laden, sehen Sie eine Paketnummer in der linken Spalte, aber da Sie über eine 100 GB-Datei sprechen, wollte ich nicht vorschlagen, dass Sie es in Wireshark laden (vielleicht Wireshark auf einem Linux-Server kann damit umgehen? Dunno ...)

Wie auch immer, ich stieß auf Editcap, die ich in der Vergangenheit nicht verwendet habe, ist aber ein Befehlszeilenprogramm, das ein Teil von Wireshark ist. Mit editcap können Sie die Paketnummer oder den Paketnummernbereich angeben. Das brachte mich dazu zu denken, dass die Paketnummer vielleicht nur eine Wireshark-Sache ist, und dass pcap-Dateien die Pakete einfach speichern, ohne sich darum zu kümmern, irgendwelche Bestellnummern zu beschriften?

editcap - ein Mann Seite: http://www.wireshark.org/docs/man-pages/editcap.html

editcap - Bedienungsanleitung: http://www.wireshark.org/docs/wsug_html_chunked/AppToolseditcap.html

vorsichtig sein, da es scheint, dass editcap Hauptfunktion ist Pakete (Duplikate) entfernen, so achten Sie auf irgendwelchen Standardverhalten Dort!

Hoffe, das hilft, und wenn jemand mehr Licht auf dieses vergossen hat, würde ich es gerne hören!

0

Es gibt keine einfache Möglichkeit, dies zu tun, es gibt ein paar Möglichkeiten, um die Größe der Datei zu verringern, sowie solche großen Dateien zu verhindern. Hier sind ein paar Workarounds:

tcpdump -r infile Filter anwenden -w

Beispiel outfile:

tcpdump -r firstcap.pcap -nn host 192.168.1.177 -w 177file.pcap 

Mit diesem Filter werden Sie alle Pakete analysieren, die den Host 192.168 enthalten. 1.177 zu einer neuen pcap-Datei namens 177file.pcap; Sie können auch Protokolle wie tcp, udp, icmp und arp angeben und diese Pakete in eine separate Datei auslagern.

Ich bin nicht sicher, ob Sie einen bestimmten Bereich leicht bekommen können, gibt es eine Arbeit um Art und Weise ist, wo Sie den Kopf und Schwanz verwenden, um auf einem bestimmten Satz von Linien auf Null in:

Beispiel:

Lassen Sie sich sagen Sie Linien 400-500 in einer 1000-Paket-Datei wollen:

tcpdump -r firstcap.pcap -c 500 | tail -100 >> outfile.txt 

Dadurch wird die ersten 500 Pakete drucken, und dann Rohr der Ausgabe an Schwanz

, die gerade die letzten 100 Pakete der 500 Paketerfassung zeigen, so effektiv 400-500. Dann hängen Sie die genannten Packerts nur noch in ASCII an outfile.txt an, also nicht mehr im pcap-Format.

HINWEIS: Es ist sehr wichtig zu beachten, dass Tail die letzten N Zeilen NOT-Pakete druckt. Wenn Sie also die Pakete im Hex-Format anzeigen, müssen Sie dies in Ihrer Berechnung berücksichtigen.

Um zu vermeiden, große pcap-Dateien erstellen Sie eine Aufnahme ganz einfach mit tcpdump drehen kann, ich es hier schreiben:

http://www.ppartyka.com/2014/03/tutorial-tcpdump-pcap-file-too-large.html

Hoffnung, das hilft.

5

Es ist ganz einfach mit editcap, die zusammen mit Wireshark (zumindest auf CentOS und Debian) kommt. Für die 5.000.000 bis 5.000.020 Paketnummern können Sie Folgendes tun:

editcap -r <big_pcap_file> <new_pcap_file> 5000000-5000020 
Verwandte Themen