Por que o Wireshark não está capturando certas solicitações POST?

4

Se eu usar esse filtro no Wireshark: http.request.method == "POST" e usar os botões de votação para votar em uma questão de troca de pilha, o Wireshark capturará a solicitação POST correspondente. Também posso ver no depurador do Chromes que a solicitação é um POST.

No entanto, em outro site que estou tentando examinar, quando clico em um botão de formulário que aciona um POST (e o depurador do Chromes confirma que é um POST), o Wireshark não captura nada.

Por que isso pode ser?

Editar:
Obrigado por todas as dicas. Ultimo, eu consegui examinar um POST enviado do meu servidor usando o Fiddler, e isso me ajudou. Eu não mencionei, mas meu servidor é o Jetty rodando localmente no Ubuntu, e estou usando o Apache HttpClient para manipular solicitações. Para Java, se você não estiver usando o HttpClient, esta pergunta será útil. Se você estiver, então verifique esta questão

Em ambos os casos, o Fiddler ainda precisa ser configurado para monitorar as conexões HTTPS marcando a opção em Ferramentas - > Opções do violinista - > HTTPS - > Capture HTTPS CONNECTs

    
por RTF 13.08.2014 / 20:04

2 respostas

8

O HTTPS criptografa o conteúdo da mensagem de qualquer pessoa que esteja bisbilhotando - o que é exatamente o que você está fazendo - então está funcionando como deveria. Qualquer pessoa que faça captura de pacotes em qualquer lugar entre o navegador e o servidor da Web verá apenas o tráfego criptografado.

O Wireshark não é a melhor ferramenta para analisar o tráfego HTTPS. Para isso, você pode usar o depurador embutido no navegador, ou algo como Fiddler , que é executado como um servidor proxy em sua máquina e descriptografa o tráfego HTTPS.

O Fiddler faz isso sentando-se no meio - o servidor da Web está tendo uma conversa HTTPS com o Fiddler, e seu navegador está tendo uma conversa HTTPS com o Fiddler. Mas o Fiddler é capaz de decifrar as duas conexões. Isso, é claro, lançará avisos de certificados inválidos e assustadores, a menos que você adicione o certificado CA do Fiddler ao seu navegador / sistema operacional.

O Wireshark funcionará se você tiver o arquivo de chave privada SSL. Então, se você está no ponto final do servidor, carregue sua chave privada SSL no Wireshark e ele irá descriptografar o tráfego para você. Isso só funciona se você tiver acesso à chave privada - você não poderá descriptografar o tráfego de / para o stackexchange dessa maneira, mas poderá usá-lo para os servidores da Web controlados por você.

Agora que você esclareceu que o tráfego é do seu servidor da web para um terceiro, eu tenho outra opção para você, se você estiver no Linux ou no Mac: mitmproxy

Tanto o violinista quanto o mitmproxy devem ser capazes de fazer o homem na descriptografia do meio para você. A parte complicada é fazer com que os dados passem pelo proxy. No linux isso é relativamente fácil usando o iptables - o mitmproxy dá instruções de configuração para isso. Em ambas as janelas e linux você deve ser capaz de usar mod_proxy ProxyRemote do Apache para direcionar o tráfego para o seu servidor proxy.

    
por 13.08.2014 / 20:23
3

pode ser porque o outro lado está usando HTTPS .

    
por 13.08.2014 / 20:16