Como faço para capturar e reproduzir solicitações da Web http em vários servidores da web?

2

Meu objetivo geral é não interromper um sistema de produção durante a captura de HTTP Posts para um aplicativo da Web, para que eu possa fazer engenharia reversa da telemetria proveniente de um aplicativo fechado. Eu tenho controle sobre o transmissor dos Posts HTTP, mas não sobre o aplicativo da Web de recebimento.

Parece que eu preciso de um proxy "forking". Tipo de um proxy reverso que envia a solicitação para 2 pontos de extremidade, um mestre e um escravo, somente transmitindo a resposta do terminal principal de volta para o solicitante. Eu não sou um geek de servidor, então algo assim pode existir, mas eu não sei o termo de arte para o que estou procurando.

Outra possibilidade poderia ser um simples proxy de registro. Capture um log das solicitações da web. Reescreva o log para direcionar o meu aplicativo da web "escravo". Reproduza o log com o curl ou algo assim.

Obrigado pela sua ajuda.

    
por KevM 30.06.2010 / 16:08

5 respostas

1

wireshark, ettercap, tcpdump e snort vêm à mente. Quase qualquer aplicativo da libpcap fará isso. Você pode tentar o freshmeat.net ou o sourceforge.net para procurar por aplicativos de captura de pacotes. Tenho certeza de que alguém desenvolveu algo que permitiria que você fizesse um Replay / Análise da WWW.

Se você puder controlar a fonte, você pode até colocar um roteador entre o que permitiria capturar o tráfego. É assim que funciona um Homem no Ataque Médio.

No entanto, antes de escrever algumas regras complexas com o snort, não sei ao certo com que facilidade você obterá os dados que está procurando. O tcpdump pode gravar em arquivos para cada 'transação', mas você ainda precisa fazer um pouco de decodificação dos arquivos resultantes.

Qualquer solução provavelmente será problemática se a máquina POST usar https: //

    
por 30.06.2010 / 16:28
2

Tente burpsuite. BurpSuite

A versão gratuita permitirá que você solicite solicitações / respostas. Você pode então modificar e repetir estes. A versão pro oferece algumas boas ferramentas de digitalização.

Verifique a versão gratuita e veja se funcionará para você.

    
por 30.06.2010 / 16:43
1

Mais três opções:

Complementos do navegador: Carteiro para o Chrome ou RESTClient para o Firefox, esses permitem reproduzir solicitações.

Como aplicativo de desktop, um aplicativo muito poderoso é o Fiddler para Windows, também disponível para Linux / Mac (alfa) em estrutura Mono .

    
por 03.08.2016 / 06:07
1

Onde eu trabalho, nós temos feito muito com a linguagem de programação Go ultimamente e essa ferramenta link parece ser exatamente o que você está procurando. É fácil de usar, open source e joga bem com quase tudo. No entanto, esta é apenas uma das inúmeras soluções que existem e, se você olhar em volta, provavelmente encontrará algo mais adequado à sua pilha.

    
por 03.08.2016 / 07:22
0

Se você quiser reenviar / reproduzir solicitações capturadas de um navegador, precisará inserir o modo de desenvolvedor da Web no navegador e visualizar solicitações de rede. Em seguida, clique com o botão direito do mouse no pedido de interesse e, na maioria dos navegadores modernos, há uma opção para Copiar como cURL após a qual você pode colar o comando resultante em um terminal e executar novamente o comando capturado ajuste usando a ferramenta curl . Alguns navegadores (por exemplo, o Mozilla) também oferecem a opção de editar e reenviar a partir do navegador.

    
por 22.01.2018 / 15:56