Come posso fare in modo che tcpdump non stampi le intestazioni di tcp?


28

Ho provato questo:

tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'

Ho solo bisogno della parte ascii di esso. Come rimuovo il resto?


1
con tshark puoi farlo con: tshark -l -i eth0 -f 'port 6667 e maggiori 74' -T campo -e dati
Marcin

Dice 28 pacchetti catturati ma non stampa nulla su STDOUT.
coder

Intendi ASCII7?
Mircea Vutcovici,

Risposte:


15

Come suggerisce Josh, tcpflow può stampare solo i dati del pacchetto TCP su un file o STDOUT. È possibile reindirizzare tcpdump a tcpflow in questo modo:

tcpdump -i lo -l -w - port 23 | tcpflow -C -r -

Per visualizzare solo un lato della conversazione, è possibile utilizzare i filtri per tcpdump, ad es dst port 23.


4
Perché dovresti iniziare tcpflowcome root?
Ruslan,

5

Non sono sicuro dell'esatta sintassi per tcpdump... in effetti, ho contrassegnato questa domanda come preferita perché mi piacerebbe saperlo! Ma come soluzione alternativa, potresti provare a utilizzare tcpflowinvece. Funziona essenzialmente allo stesso modo, ma stampa l'output ASCII molto meglio; ha escluso le intestazioni e stampa i pacchetti in sequenza come flusso, quindi a volte è più facile da leggere e seguire tcpdump.


5

Sento che la soluzione più elegante è quella di abbandonare tcpdump. Nessun tubo di alcun tipo:

tcpflow -c port 6667

E questo è tutto.


Mi hai salvato la vita, voglio comprarti un biscotto
gdaras il

4

Un modo rapido e sporco per farlo è filtrare l'output attraverso le stringhe:

tcpdump -nli eth0 '(port 6667) and (length > 74)' -s 0 -w - | strings

A volte non hai altri strumenti e per dare una rapida occhiata al payload questo è sufficiente. Non va bene se hai bisogno del payload esatto per l'iniezione o di un'analisi esatta, ovviamente.


1

Se hai bisogno solo della parte ASCII puoi usare: tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'o con ngrep:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'


1

Ho avuto lo stesso problema la scorsa settimana - ho usato invece la gui WireShark e ho fatto una "copia ASCII leggibile" per i pacchetti interessanti.

Stavo (con successo) cercando di individuare un problema con una richiesta http a un servizio web e la sua risposta XML.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.