Mi aplicación está enviando solicitudes HTTP a algún servidor y quiero ver los datos reales que está enviando. Algunos detalles que me gustaría ver:
- Método de solicitud (GET / POST / PUT, etc.)
- Tipo de contenido
- Cuerpo
¿Cuál es la mejor y más simple forma de lograr esto?
networking
megas
fuente
fuente
Respuestas:
Bueno, para todos esos fanáticos de tcpdump =)
¡CORRE TODOS ESTOS MANDOS COMO RAÍZ!
Obtener root en una terminal con
Para capturar los paquetes RAW ...
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
Para leer el registro, use la
-A
bandera y canalice la salida aless
:La
-A
bandera imprime la "carga útil" o el texto ASCII en los paquetes. Esto enviará la salida aless
, puede subir y bajar la página. Para salirless
, escriba Q.Cuando voy a Google, veo (en los paquetes sin formato):
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):
Hay una curva de aprendizaje, tanto para usar
tcpdump
como para aprender a analizar los datos que recopila. Para leer más, sugiero encarecidamente eltcpdump
Manual de Daniel Miessler con ejemplos .fuente
0 packets captured 0 packets received by filter 0 packets dropped by kernel
Pero abrí un montón de sitios en el navegador Chrome cuando tcpdump estaba monitoreando.tcpdump -i any -w /tmp/http.log &
trabajó.Primera instalación
tcpflow
desde los repositorios oficiales de Ubuntu:Luego ejecute este comando para inspeccionar todas las solicitudes HTTP en el puerto estándar:
fuente
Te sugiero que pruebes Wireshark
Tenga en cuenta que Wireshark es bastante avanzado, por lo que puede llevar un poco de tiempo acostumbrarse. No lo he usado durante algunos años, pero aún así debería ser perfecto para lo que está buscando, si no demasiado lleno de características.
Puede encontrar información sobre Wireshark y cómo usarla en la página principal de Wireshark .
fuente
También es posible con el comando, que proporciona una salida ordenada, incluso para SSL:
fuente