Ich bin mir nicht sicher über die genaue Syntax für tcpdump... in der Tat habe ich diese Frage als Favorit markiert, weil ich wissen möchte! Als alternative Lösung können Sie jedoch versuchen, tcpflowstattdessen zu verwenden. Es funktioniert im Wesentlichen genauso, druckt jedoch die ASCII-Ausgabe viel besser. Die Header wurden ausgeschlossen und die Pakete werden nacheinander als Fluss gedruckt, sodass das Lesen und Verfolgen manchmal einfacher ist als tcpdump.
Manchmal haben Sie keine anderen Tools und für einen kurzen Blick in die Nutzlast reicht dies aus. Es ist natürlich nicht gut, wenn Sie die genaue Nutzlast für die Injektion oder eine genaue Analyse benötigen.
Wenn Sie nur den ASCII-Teil benötigen, können Sie tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'Folgendes verwenden: oder mit ngrep:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'
Ich hatte letzte Woche das gleiche Problem - ich habe stattdessen die Wireshark-GUI verwendet und eine "Kopie lesbarer ASCII" für die interessanten Pakete erstellt.
Ich habe (erfolgreich) versucht, ein Problem mit einer http-Anfrage an einen Web-Service und dessen XML-Antwort festzuhalten.
Antworten:
Wie Josh vorschlägt, kann tcpflow nur die TCP-Paketdaten in eine Datei oder STDOUT drucken. Sie können tcpdump folgendermaßen an tcpflow weiterleiten:
Um nur eine Seite der Konversation anzuzeigen, können Sie Filter für tcpdump verwenden, z
dst port 23
.quelle
tcpflow
als root anfangen ?Ich bin mir nicht sicher über die genaue Syntax für
tcpdump
... in der Tat habe ich diese Frage als Favorit markiert, weil ich wissen möchte! Als alternative Lösung können Sie jedoch versuchen,tcpflow
stattdessen zu verwenden. Es funktioniert im Wesentlichen genauso, druckt jedoch die ASCII-Ausgabe viel besser. Die Header wurden ausgeschlossen und die Pakete werden nacheinander als Fluss gedruckt, sodass das Lesen und Verfolgen manchmal einfacher ist alstcpdump
.quelle
Ich denke, die eleganteste Lösung ist es, einfach tcpdump loszuwerden. Keine Pfeifen jeglicher Art:
Und das ist es.
quelle
Ein schneller und unsauberer Weg, dies zu tun, besteht darin, die Ausgabe durch Zeichenfolgen zu filtern:
Manchmal haben Sie keine anderen Tools und für einen kurzen Blick in die Nutzlast reicht dies aus. Es ist natürlich nicht gut, wenn Sie die genaue Nutzlast für die Injektion oder eine genaue Analyse benötigen.
quelle
Wenn Sie nur den ASCII-Teil benötigen, können Sie
tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'
Folgendes verwenden: oder mit ngrep:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'
quelle
Ich hatte letzte Woche das gleiche Problem - ich habe stattdessen die Wireshark-GUI verwendet und eine "Kopie lesbarer ASCII" für die interessanten Pakete erstellt.
Ich habe (erfolgreich) versucht, ein Problem mit einer http-Anfrage an einen Web-Service und dessen XML-Antwort festzuhalten.
quelle