¿Cómo hago para que tcpdump no imprima los encabezados de tcp?

28

Intenté esto:

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

Solo necesito la parte ascii de ella. ¿Cómo elimino el resto?

descifrador
fuente
1
con tshark puede hacerlo con: tshark -l -i eth0 -f 'puerto 6667 y mayor 74' -T campo -e datos
Marcin
Dice 28 paquetes capturados pero no imprime nada en STDOUT.
codificador
¿Te refieres a ASCII7?
Mircea Vutcovici

Respuestas:

15

Como sugiere Josh, tcpflow puede imprimir solo los datos del paquete TCP en un archivo o STDOUT. Puede canalizar tcpdump a tcpflow de esta manera:

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

Para ver solo un lado de la conversación, puede usar filtros para tcpdump, por ejemplo dst port 23.

jwmullally
fuente
44
¿Por qué necesitarías comenzar tcpflowcomo root?
Ruslan
5

No estoy seguro de la sintaxis exacta de tcpdump... de hecho, he marcado esta pregunta como favorita porque me gustaría saberla. Pero como solución alternativa, puedes intentar usarlo tcpflow. Funciona esencialmente de la misma manera, pero imprime la salida ASCII mucho mejor; excluyó los encabezados e imprime los paquetes secuencialmente como un flujo, por lo que es más fácil de leer y seguir en ocasiones que tcpdump.

Josh
fuente
5

Siento que la solución más elegante es simplemente deshacerse de tcpdump. No hay tuberías de ningún tipo:

tcpflow -c port 6667

Y eso es.

BarsMonster
fuente
Me salvaste la vida, quiero comprarte una galleta
gdaras
4

Una forma rápida y sucia de hacer esto es filtrar la salida a través de cadenas:

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

A veces no tienes otras herramientas y para echar un vistazo rápido a la carga útil es suficiente. No es bueno si necesita la carga útil exacta para la inyección o un análisis exacto, por supuesto.

Eduardo Ivanec
fuente
1

Si solo necesita la parte ASCII, puede usar: 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'

Mircea Vutcovici
fuente
1

Tuve el mismo problema la semana pasada: utilicé la interfaz gráfica de Wirehark e hice una "copia ascii legible" para los paquetes interesantes.

Estaba (con éxito) tratando de precisar un problema con una solicitud http a un servicio web y su respuesta XML.

Nils
fuente