¿Es posible volcar solicitudes HTTP completas por apache? Necesito rastrear todos los encabezados HTTP de solicitudes entrantes. ¿Como hacer eso?
fuente
¿Es posible volcar solicitudes HTTP completas por apache? Necesito rastrear todos los encabezados HTTP de solicitudes entrantes. ¿Como hacer eso?
Creo que lo que quieres en lugar de Apache podría ser un analizador de paquetes , también conocido como sniffer de paquetes. Dos de los más populares son probablemente TCPDump y Wireshark , los cuales son gratuitos y tienen versiones para los sistemas operativos Windows y * nix. Estos le mostrarán todo el tráfico que ingresa en una interfaz, no solo lo que Apache ve. Pero puede usar filtros para restringir a un puerto específico, como 80 para http.
tcpdump:
el siguiente comando ejecutado desde el servidor le mostrará todos los paquetes destinados al puerto 80:
sudo tcpdump -s 0 -X 'tcp dst port 80'
El interruptor de mayúscula X descarga la carga útil en hexadecimal y ASCII. El interruptor s con 0 significa obtener el paquete completo. 'tcp dst port 80' significa filtrar y mostrar solo los paquetes destinados al puerto 80 en el encabezado tcp.
Wireshark:
para la versión más fácil de usar, si tiene una GUI ejecutándose, considere wireshark (formalmente conocido como etéreo).
-A
para solo texto (sin volcado hexadecimal):sudo tcpdump -A -s 0 'tcp dst port 80'
tal vez el vertido de galletas ? de lo contrario, mira mod_dumpio .
fuente
El rastreo básico de paquetes es fácil con ngrep, un híbrido de tcpdump y grep. En ciertos escenarios, si desea ver cómo los navegadores web se comunican con los servidores web e inspeccionar los encabezados HTTP.
En este ejemplo, ejecute un ngrep en un servidor web como este:
también puede optar por filtrar la solicitud http a la solicitud "GET /" al puerto 80 de la siguiente manera:
Del lado del cliente, hay una herramienta útil llamada Tamper Data, que es una extensión de Firefox que le permite ver, registrar e incluso modificar las solicitudes HTTP salientes.
Puedes encontrar más información aquí
fuente
En lugar de usar tcpdump o wireshark, use tcpflow. Es un reemplazo directo de tcpdump, pero crea un archivo para cada lado de cada conexión, por lo que no tiene que intentar decodificar la transmisión usted mismo.
fuente
Apache tiene esa funcionalidad incorporada; acaba de aumentar el nivel de registro de
trace7
otrace8
:Tenga en cuenta que esto volcará muchos datos. Usted ha sido advertido.
fuente