Como capturar o tráfego de cabeçalho HTTP na minha rede doméstica

3

Estou tentando experimentar alguns dados HTTP para um projeto pessoal. O que eu gostaria de fazer é capturar todo o tráfego HTTP que passa pelo meu Wifi Router em casa e usar esses dados para alguma análise.

Somente a captura das informações do cabeçalho HTTP será suficiente para essa tarefa. Eu quero monitorar o tráfego do meu laptop, telefone, iPad tudo. Eu não tenho um servidor dedicado em casa para capturar esses dados, então eu quero usar os servidores em nuvem da Amazon para isso. Eu tenho uma conta da AWS.

Então, como eu faria isso? Eu estou supondo que eu preciso configurar um proxy de algum tipo, mas eu sou um novato em coisas de rede.

Eu tenho um modem FTTH do meu provedor. E o roteador Wi-Fi se conecta a ele.

    
por sfactor 09.02.2014 / 08:20

2 respostas

1

Inserir algo na sua rede entre o roteador e o modem parece ideal. Isto poderia ser conseguido com um pi de framboesa. Ele tem apenas uma única interface ethernet, mas você pode obter um USB nic para ter uma interface de entrada e saída.

Eles devem ser preenchidos para que o pi não precise participar como roteador. Qualquer coisa entrando no pi em uma interface irá sair da outra. Você pode precisar de um terceiro USB nic para atuar como uma porta de gerenciamento que pode ser conectada ao interior de sua rede.

Uma abordagem é ter o netcat em execução na AWS, depois executar o tcpdump filtrando todos os cabeçalhos http da porta 80 e enviá-los para a AWS.

tcpdump -s 0 -U -n -w - -i br0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'  | nc AWS_IP -p 10000

Isso está dizendo

-s 0   Get the whole packet
-U     Send output immediately, don't buffer
-n     No name conversion with dns etc
-w -   write to standard output
-i br0 Listen for packets on the br0 interface (assumes the ethernet ports are bridged)

O filtro extrai todos os cabeçalhos http. A saída disso é canalizada para o netcat, que a envia para o endereço IP da AWS para a porta 10000

E na AWS

nc -l -p 10000 > http.pcap

Isso configura um ouvinte na porta 10000 e gera qualquer resultado que chegue nessa porta para um arquivo chamado http.pcap .

Este arquivo pode ser aberto usando algo como o wireshark.

Para proteger esse tráfego, veja o tunelamento dos dados em ssh.

    
por 09.02.2014 / 22:14
0

Existe um programa chamado fiddler que pode atender às suas necessidades sem ser um exagero.

    
por 09.02.2014 / 23:12