Para fines de depuración, deseo monitorear las solicitudes http en una interfaz de red.
Usando una ingenua tcpdump
línea de comando obtengo demasiada información de bajo nivel y la información que necesito no está muy claramente representada.
Volcar el tráfico tcpdump
a un archivo y luego usarlo wireshark
tiene la desventaja de que no está sobre la marcha.
Me imagino un uso de herramienta como este:
$ monitorhttp -ieth0 --only-get --just-urls
2011-01-23 20:00:01 GET http://foo.example.org/blah.js
2011-01-23 20:03:01 GET http://foo.example.org/bar.html
...
Estoy usando Linux
networking
monitoring
http-logging
maxschlepzig
fuente
fuente
Respuestas:
Prueba
tcpflow
:La salida es así:
Obviamente, puede agregar métodos HTTP adicionales a la declaración grep y usarlos
sed
para combinar las dos líneas en una URL completa.fuente
tcpflow
es que ya está disponible en los repositorios predeterminados en Ubuntu 10.04 (justsniffer, httpry no lo están). La información del paquete indica que los fragmentos de IP no se registran correctamente, no sé si esto es importante para este caso de uso, tal vez justsniffer pueda manejarlos mejor.Puede usar httpry o Justniffer para hacer eso.
httpry
está disponible, por ejemplo, a través del repositorio de paquetes de Fedora.Llamada de ejemplo:
(donde
em1
denota un nombre de interfaz de red)Salida de ejemplo:
(la salida se acorta un poco)
fuente
Estaba buscando algo similar, con el requisito adicional de que también debería funcionar para https .
Las herramientas basadas en pcap como
tcpflow
httpry
urlsnarf
y otros tcpdump kung fu funcionan bien para http, pero para solicitudes seguras no tiene suerte.Se me ocurrió urldump , que es una pequeña envoltura alrededor de mitmproxy .
iptables
se utiliza para redirigir el tráfico al proxy, por lo que funciona de manera transparente.Ver README para más información.
fuente
Creo que Wireshark es capaz de hacer lo que quieras
En el lado positivo, es muy potente, puede instalarlo a través de apt-get, y viene con una GUI.
Sin embargo, el sistema de filtro es complicado, pero hay buenos tutoriales incorporados y le dará una visión general en vivo o de inicio / detención del tráfico.
Escribir la palabra 'http' en el filtro probablemente le dará lo que está buscando (es decir, el tráfico principal generado por los usuarios).
fuente
Otra buena opción podría ser nethogs
En fedora está disponible entre los paquetes principales, y en centos puede obtenerlo a través del repositorio de epel.
fuente
También está el programa de línea de comandos
urlsnarf
que forma parte del paquete dsniff (que también está empaquetado con, por ejemplo, Fedora 19).Ejemplo:
(cuando navega primero a SE y luego a spiegel.de)
Limitaciones: dsnarf no es compatible con IPv6 . Puedo reproducir este informe de error con 0.17 en Fedora 19. También parece estar roto en Ubuntu Trusty ATM (funciona bien bajo lucid).
fuente