É possível despejar solicitações HTTP inteiras pelo apache? Preciso rastrear todos os cabeçalhos HTTP de solicitações recebidas. Como fazer isso?
fonte
É possível despejar solicitações HTTP inteiras pelo apache? Preciso rastrear todos os cabeçalhos HTTP de solicitações recebidas. Como fazer isso?
Eu acho que o que você deseja, em vez do Apache, pode ser um analisador de pacotes , também conhecido como sniffer de pacotes. Dois dos mais populares são provavelmente o TCPDump e o Wireshark , ambos gratuitos e com versões para os sistemas operacionais Windows e * nix. Eles mostrarão todo o tráfego que entra em uma interface, não apenas o que o Apache vê. Mas você pode usar filtros para restringir a uma porta especificada, como 80 para http.
tcpdump:
O seguinte comando executado no servidor mostrará todos os pacotes destinados à porta 80:
sudo tcpdump -s 0 -X 'tcp dst port 80'
O comutador capital X despeja a carga útil em hexadecimal e ASCII. O interruptor s com 0 significa obter todo o pacote. 'tcp dst port 80' significa filtrar e mostrar apenas pacotes destinados à porta 80 no cabeçalho tcp.
Wireshark:
Para uma versão mais amigável, se você tiver uma GUI em execução, considere o wireshark (formalmente conhecido como etéreo).
-A
para somente texto (sem dump hexadecimal):sudo tcpdump -A -s 0 'tcp dst port 80'
talvez despejar biscoitos ? caso contrário - veja mod_dumpio .
fonte
A detecção básica de pacotes é fácil com o ngrep, um híbrido do tcpdump e grep. Em certos cenários, se você deseja ver como os navegadores da Web se comunicam com os servidores da Web e inspecionar os cabeçalhos HTTP.
Neste exemplo, execute um ngrep em um servidor da web como este:
você também pode optar por filtrar a solicitação http na solicitação "GET /" da porta 80:
No lado do cliente, há uma ferramenta útil chamada Tamper Data; é uma extensão do Firefox que permite visualizar, gravar e até modificar solicitações HTTP de saída.
Você pode encontrar mais informações aqui
fonte
Em vez de usar tcpdump ou wireshark, use tcpflow. É uma queda no substituto do tcpdump, mas cria um arquivo para cada lado de cada conexão, para que você não precise decodificar o fluxo sozinho.
fonte
O Apache possui essa funcionalidade embutida; basta aumentar o nível de log para
trace7
outrace8
:Observe que isso irá despejar muitos dados. Você foi avisado.
fonte