Bueno, para todos esos fanáticos de tcpdump =)
¡CORRE TODOS ESTOS MANDOS COMO RAÍZ!
Obtener root en una terminal con
sudo -i
Para capturar los paquetes RAW ...
sudo tcpdump -i any -w /tmp/http.log &
Esto captura todos los paquetes crudos, en todos los puertos, en todas las interfaces y escribir en un archivo, /tmp/http.log
.
Ejecute su aplicación Obviamente, ayuda si no ejecuta ninguna otra aplicación que use HTTP (navegadores web).
Matar tcpdump
killall tcpdump
Para leer el registro, use la -A
bandera y canalice la salida a less
:
tcpdump -A -r /tmp/http.log | less
La -A
bandera imprime la "carga útil" o el texto ASCII en los paquetes. Esto enviará la salida a less
, puede subir y bajar la página. Para salir less
, escriba Q.
Cuando voy a Google, veo (en los paquetes sin formato):
20:42:38.179759 IP ufbt.local.56852 > sea09s02-in-f3.1e100.net.www: Flags [P.], seq 1:587, ack 1, win 913, options [nop,nop,TS val 25523484 ecr 492333202], length 586
E..~.v@.@..q......!#...P.(.gS.c..............u..Xh.GET /generate_204 HTTP/1.1
Host: clients1.google.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) rekonq Safari/534.34
Referer: http://www.google.com/
Accept: */*
Accept-Encoding: gzip, deflate, x-gzip, x-deflate
Accept-Charset: utf-8,*;q=0.5
Accept-Language: en-US, en-US; q=0.8, en; q=0.6
Cookie: PREF=ID=dd958d4544461998:FF=0:TM=1323842648:LM=1360205486:S=Fg_QCDsLMr4ZepIo; NID=67=OQJWjIDHG-B8r4EuM19F3g-nkaMcbvYwoY_CsOjzvYTOAxwqAos5kfzsk6Q14E70gIfJjHat8d8PuQIloB12BE-JuSHgsKHR2QSpgN12qSWoxeqhdcSQgzw5CHKtbR_a
tcpdump
tiene un largo conjunto de opciones para refinar la recopilación de datos desde la especificación de interfaces de red a puertos a direcciones IP de origen y destino. NO puede descifrar (por lo que no funcionará con HTTPS).
Una vez que sepa lo que le interesa, puede usar varias opciones tcpdump
para registrar solo los datos de interés. La estrategia general es primero registrar todos los paquetes, revisar los datos sin procesar y luego capturar solo los paquetes de interés.
Algunas banderas útiles (opciones):
-i Specify an interface
-i eth0
tcp port xx
tcp port 80
dst 1.2.3.4
specify a destination ip address
Hay una curva de aprendizaje, tanto para usar tcpdump
como para aprender a analizar los datos que recopila. Para leer más, sugiero encarecidamente el tcpdump
Manual de Daniel Miessler con ejemplos .