Ich verwende ein Drittanbieter-Tool, das den Netzwerkverkehr während eines Netzwerktests als PCAP-Datei aufzeichnet. Wenn ich versuche, diese Dateien wiederzugeben, verwende ich das tcpdump
Tool mit den -Aq -r
Optionen und leite die Ausgabe an grep weiter. Einige der Captures haben eine Größe von 600 KB, was nicht sehr groß zu sein scheint, aber es dauert relativ lange, sie zu lesen.
Wird tcpdump
die pcap-Datei in Echtzeit zurückgelesen, und wenn ja, wie kann ich sie beschleunigen?
Dies ist, was meine gewählten tcpdump
Optionen tun:
-A
druckt Pakete (minus Header) in ASCII, so dass es grep- und human-freundlich ist.-q
druckt weniger Informationen für eine schnellere Ausgabe.-r <FILE>
Liest die angegebene pcap-Datei ein.
Dies ist ein Beispiel für einen tatsächlichen Befehl, den ich ausgeführt habe. Das Drucken von sechzehn Zeilen dauerte fünfundvierzig Sekunden, wenn ich erwartet hätte, dass die Ausführungszeit fast sofort oder höchstens einige Sekunden beträgt:
$ tcpdump -Aq -r z2121ecbc0186d9fa07b.pcap | grep POST
Angesichts der Tatsache, dass die Dauer des Captures weniger als eine Minute beträgt, denke ich, tcpdump -r
dass das Capture in Echtzeit wiedergegeben wird, aber ich kann auf der Manpage oder im Internet nichts finden, um dies zu bestätigen, und auf keinen Fall Das sagt mir, ob es eine Möglichkeit gibt, die Echtzeitwiedergabe zu deaktivieren.
quelle
Antworten:
Dient
-n
zum Unterdrücken von DNS-Suchvorgängen.Das Lesen, Analysieren und Umwandeln der Datei in eine Textausgabe ist in der Regel sehr schnell und kann nur bei sehr großen Dateien einige Zeit in Anspruch nehmen . In allen anderen Fällen verlangsamt die Namensauflösung die Arbeit. In der Regel wird darauf gewartet, dass ein DNS-Server antwortet, und manchmal wird auf eine Zeitüberschreitung gewartet, wenn dies nicht der Fall ist.
Es gibt keine Wiedergabe in Echtzeit und keinen Grund dafür. Bei Verwendung mit einer Datei wandelt tcpdump die Datei nur in eine lesbare Ausgabe um.
quelle