Para fins de depuração, quero monitorar as solicitações HTTP em uma interface de rede.
Usando uma tcpdump
linha de comando ingênua, obtenho muitas informações de baixo nível e as informações de que eu preciso não estão muito claramente representadas.
Despejar o tráfego tcpdump
em um arquivo e usá-lo wireshark
tem a desvantagem de que ele não está em movimento.
Eu imagino um uso de ferramenta 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
...
Eu estou usando Linux.
networking
monitoring
http-logging
maxschlepzig
fonte
fonte
Respostas:
Tente
tcpflow
:A saída é assim:
Obviamente, você pode adicionar métodos HTTP adicionais à instrução grep e usar
sed
para combinar as duas linhas em uma URL completa.fonte
tcpflow
disso é que ele já está disponível nos repositórios padrão do Ubuntu 10.04 (justsniffer, o initpry não está). As informações do pacote afirmam que os fragmentos de IP não são registrados corretamente - não sei, se isso importa para este caso de uso - talvez o justsniffer possa lidar melhor com eles.Você pode usar o enablepry ou o Justniffer para fazer isso.
httpry
está disponível, por exemplo, através do repositório de pacotes do Fedora.Chamada de exemplo:
(em que
em1
denota um nome de interface de rede)Exemplo de saída:
(a saída é um pouco reduzida)
fonte
Eu estava procurando por algo semelhante, com o requisito adicional de que também deveria funcionar para https .
ferramentas pcap baseados como
tcpflow
httpry
urlsnarf
e outros fu tcpdump kung trabalho bem para http, mas para solicitações seguras você está sem sorte.Eu vim com urldump , que é um pequeno invólucro em torno de mitmproxy .
iptables
é usado para redirecionar o tráfego para o proxy, para que funcione de forma transparente.Consulte README para obter mais informações.
fonte
Eu acho que o Wireshark é capaz de fazer o que você quer
No lado positivo, é muito poderoso, você pode instalá-lo via apt-get e vem com uma GUI.
No entanto, o sistema de filtro é complicado - mas há bons tutoriais integrados e ele fornece uma visão geral ao vivo ou iniciar / parar o tráfego.
Digitar a palavra 'http' no filtro provavelmente fornecerá o que você está procurando (ou seja, o principal tráfego gerado pelos usuários).
fonte
Outra boa opção pode ser nethogs
No fedora está disponível entre os pacotes principais, e no centos você pode obtê-lo através do epel repo.
fonte
Há também o programa de linha de comando
urlsnarf
que faz parte do pacote dsniff (que também é empacotado com, por exemplo, o Fedora 19).Exemplo:
(ao navegar primeiro para o SE e depois para spiegel.de)
Limitações: O dsnarf não suporta IPv6 . Eu posso reproduzir este relatório de erro com 0.17 no Fedora 19. Também parece estar quebrado no Ubuntu trusty atm (funciona bem no lucid).
fonte