2017-02-02 4 views
1

Ich habe eine tcpdump Datei und ich möchte ausdrucken, wie viele Zeilen/Pakete gesendet wurden.tcpdump Ausgabe auf einer einzigen Zeile

Ich verwende den Befehl tcpdump -r, aber einige der Ausgaben scheinen über zwei Zeilen gestreckt zu sein (siehe Bild unten), auch wenn sie vom selben Protokoll stammen.

Meine Frage ist, wie mache ich es nicht in einer neuen Zeile erscheinen und drucken Sie insgesamt Zeilen aus?

Ich habe es mit der Wireshark GUI getestet und es sollte 3188 Zeilen haben, aber ich würde dies gerne mit Linux-Befehlszeile tun.

enter image description here

Antwort

0

Wenn Sie den Inhalt der tcpdump Ausgabe in einer Textdatei haben, können Sie den Zeilenumbruch vermeiden, indem sie weniger unter Verwendung von mit -S Parametern.

Von weniger manuellen:

ES oder --chop-Langleinen Linien länger als die Bildschirmbreite Verursacht gehackt werden (abgeschnitten) statt gewickelt. Das heißt, der Teil einer langen Zeile , der nicht in die Bildschirmbreite passt, wird nicht gezeigt. Der Standard ist , um lange Zeilen zu umbrechen; Das heißt, den Rest in der nächsten Zeile anzeigen.

Wenn der Parameter -N verwendet wird, wird auch die Anzahl der Zeilen angezeigt.

0

, wie ich es nicht geschafft auf einer neuen Zeile erscheinen und Linien insgesamt

drucken Wenn Sie nicht lange Linien zu verpackenden wollen, müssen Sie sie gestutzt. Sie können dies mit dem Befehl cut tun. Zum Beispiel:

tshark -r file.pcap | cut -c -80 

Wenn Sie nur die Anzahl der Zeilen in der Ausgabe zählen wollen, dann können Sie dies mit dem wc Befehl. Zum Beispiel:

tshark -r file.pcap | wc -l 

Hinweis: Ob Sie lange Linien oder nicht, die Zählung der Anzahl von Linien bleibt gleich gestutzt. Nur weil eine lange Zeile umbrochen wird, bedeutet dies nicht, dass die Zeilenanzahl zunimmt. es tut es nicht. Also, es sei denn, Sie müssen wirklich die langen Zeilen abschneiden, würde ich davon abraten; Sonst werden Sie potentiell nützliche Informationen ohne guten Grund abschneiden.

Das heißt, wenn Sie die langen Linien kürzen wollen, und wenn Sie auch wird dies erfordern, aus der Gesamtzahl der Linien drucken können, wollen dann wahrscheinlich 2 Schritten:

  1. das verkürzte Redirect Ausgabe in eine Datei und
  2. Zählen Sie die Anzahl der Zeilen in der Datei mit wc.

Zum Beispiel:

tshark -r file.pcap | cut -c -80 > file.txt 
wc -l file.txt (or cat file.txt | wc -l) 

Wenn Sie sofort in der Lage sein wollen, um den Ausgang sowie schreib die Ausgabe in eine Datei, um die Anzahl der Zeilen zu zählen, dann können Sie dies tun mit dem tee Befehl, zum Beispiel:

tshark -r file.pcap | cut -c -80 | tee file.txt 
wc -l file.txt 
1

Angenommen, Sie sind in bash oder ksh, führen Sie "Export COLUMNS = 1024" vor dem ausführen von tcpdump arbeiten. Tcpdump kommt zu dem Schluss, dass die Anzeige 1024 Zeichen breit ist, was ausreichen sollte, um jedes Paket auf einer Ausgabelinie sitzen zu lassen. Ich glaube nicht, dass es einen praktischen Grenzwert für den COLUMNS-Wert gibt.

Verwandte Themen