A capturar o tráfego dos HTTPS?

Eu tenho uma aplicação local (que eu não escrevi, e não posso mudar) que fala com um serviço remoto da web. Ele usa HTTPS, e eu gostaria de ver o que está no trânsito.

Há alguma maneira de eu fazer isto? Eu preferiria um sistema Windows, mas estou feliz em Configurar um proxy no Linux Se Isso torna as coisas mais fáceis.

o que estou a considerar:

    Redireccionando o site hackeando o meu arquivo hosts (ou criando DNS alternativos).
  1. instalar um servidor de HTTPS nisso site, com um auto-assinado (mas confiável) certificado.
  2. Aparentemente, a WireShark consegue ver o que há nos HTTPS se lhe deres a chave privada. Nunca tentei isto.
  3. de alguma forma, proxy este tráfego para o servidor real (isto é, é um "ataque"de homem-no-meio).
Isto parece-te sensato? A WireShark consegue mesmo ver o que há no tráfego dos HTTPS? Alguém pode me apontar um proxy adequado (e configuração para o mesmo)?

Author: Roger Lipscombe, 2009-07-02

6 answers

Faz o que queres?
O que é o Fiddler?

Fiddler é um 'Proxy' de depuração Web que regista todo o tráfego de HTTP entre o seu computador e Internet. Violinista permite-lhe inspeccionar todos os HTTP (s) tráfego, pontos de paragem e "violino" com dados recebidos ou enviados. Fiddler inclui um poderoso subsistema de programação com base em eventos, e pode ser estendido usando qualquer. net idioma.

Fiddler é freeware e pode depurar tráfego de praticamente qualquer aplicação, incluindo a Internet Explorer, Mozilla Firefox, Opera, e milhares mais.
 13
Author: AakashM, 2018-08-16 14:54:16

A Wireshark pode definitivamente mostrar fluxos cifrados em TLS / SSL como texto simples. No entanto, você definitivamente vai precisar da chave privada do servidor para fazê-lo. A chave privada deve ser adicionada à Wireshark como uma opção SSL sob preferências. Note que isto só funciona se você puder seguir o fluxo de SSL desde o início. Não funcionará se uma conexão SSL for reutilizada.

Para o Internet Explorer isto (reutilização de sessões SSL) pode ser evitado limpando o estado SSL usando a janela de Opções da Internet. Outros ambientes podem exigir reiniciar um navegador ou mesmo reiniciar um sistema (para evitar a reutilização de sessões SSL).

A outra restrição de chave é que uma cifra RSA deve ser usada. O Wireshark não consegue descodificar o fluxo TLS / SSL que usa DFH (Diffie-Hellman).

Assumindo que consegue satisfazer as restrições acima, o comando "seguir a transmissão SSL" do botão direito funciona bastante bem.

 8
Author: Peter Schaeffer, 2012-09-09 21:42:38

Tem de configurar um 'proxy' para a sua aplicação local e, se não honrar as opções do 'proxy', coloque um 'proxy' transparente e encaminhe todo o tráfego de https para lá antes de sair. Algo assim pode ser o "homem" no meio: http://crypto.stanford.edu/ssl-mitm

Além disso, aqui estão breves instruções sobre como arquivar isto com wireshark: http://predev.wikidot.com/decrypt-ssl-traffic
 4
Author: rasjani, 2009-07-02 08:40:56

Também devias considerar O Charles . Da descrição do produto no momento da resposta:

Charles é um proxy HTTP / http monitor / Reverse Proxy que permite a um programador ver todo o tráfego HTTP e SSL / HTTPS entre a sua máquina e a Internet. Isto inclui pedidos, respostas e os cabeçalhos HTTP (que contêm os cookies e informações de cache).

 2
Author: Jacinda, 2015-04-14 20:48:51
Eu recomendaria WireShark, é a melhor ferramenta para seguir em diferentes pedaços de tráfego. Embora não tenha a certeza do que se pode ver com a SSL ligada. Talvez, se lhe deres um certificado?
 0
Author: dusoft, 2009-07-02 08:47:54
  1. Para usar o proxy https para monitorar, ele depende do tipo de aperto de mão. Se a aplicação local não verificar o certificado do servidor pela assinatura da AC que não possa falsificar, e o servidor não verificar o certificado da sua aplicação local ( ou se tiver um para configurar no 'proxy' do https), então poderá configurar um 'proxy' do https para monitorizar o tráfego do https. Caso contrário, eu acho que é impossível monitorar o tráfego com https proxy.

  2. Outra maneira que você pode tentar é para adicionar a sonda de instrumentação nas rotinas de seu programa cliente onde ele envia e recebe mensagens de sua biblioteca https. Ele precisa de algum trabalho de engenharia reversa, mas deve trabalhar para você para todas as situações.

 0
Author: Sam Liao, 2009-07-02 08:59:40