Ich habe es versucht:
tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'
Ich brauche nur den ASCII-Teil davon. Wie entferne ich den Rest?
Ich habe es versucht:
tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'
Ich brauche nur den ASCII-Teil davon. Wie entferne ich den Rest?
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:
tcpdump -i lo -l -w - port 23 | tcpflow -C -r -
Um nur eine Seite der Konversation anzuzeigen, können Sie Filter für tcpdump verwenden, z dst port 23
.
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 als tcpdump
.
Ich denke, die eleganteste Lösung ist es, einfach tcpdump loszuwerden. Keine Pfeifen jeglicher Art:
tcpflow -c port 6667
Und das ist es.
Ein schneller und unsauberer Weg, dies zu tun, besteht darin, die Ausgabe durch Zeichenfolgen zu filtern:
tcpdump -nli eth0 '(port 6667) and (length > 74)' -s 0 -w - | strings
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.