Monitorando as informações do cabeçalho http do servidor de saída?

1

Qual ferramenta / função podemos usar em nosso servidor Linux executando o CentOS para monitorar os cabeçalhos http que são enviados de nosso aplicativo para outro aplicativo em um servidor diferente? Procurando por monitoramento de cabeçalho http de servidor para servidor. Meu problema é que não tenho idéia de como capturar os dados enviados do servidor, ou seja, os cabeçalhos http enviados por meio de uma postagem.

Eu tentei muitos métodos e softwares de terceiros como o fiddler2 e o ieinspector, e a lista continua, mas eles só parecem capturar o cliente cabeçalhos e não o que está sendo enviado do servidor. Eu só preciso capturar a string que está sendo enviada por uma função post e o que está sendo retornado. Parece simples, mas neste caso, estou além de perder e ficar sem tempo para resolver o que deveria ser uma solução simples.

Podemos ver os cabeçalhos do servidor para o cliente usando fiddler2, no entanto, nosso aplicativo está chamando uma API em um servidor diferente. Assim, a sequência vai - cliente para servidor - servidor para servidor - servidor de volta ao servidor - servidor de volta ao cliente. Não podemos dizer se os cabeçalhos http enviados do nosso servidor para o outro servidor estão corretos.

O pessoal de suporte do outro servidor não consegue capturar essa informação & estão nos forçando a descobrir os dados. Sabemos o que achamos que estamos enviando, mas não podemos confirmá-lo. O que queremos é uma ferramenta como o fiddler2 que reside em nosso servidor para rastrear isso, que pode monitorar o servidor para o tráfego do servidor. Se fiddler2 pode fazer isso, por favor, deixe-nos saber como fazer isso.

    
por ingenuitor 07.11.2013 / 18:22

2 respostas

0

O mais fácil seria adicionar log ao aplicativo. Registre os cabeçalhos antes de enviar e após o recebimento e, em seguida, leia os registros. Essa é a única coisa que seria "simples". Eu estou supondo que você não pode fazer isso. Obviamente, não há como o software no seu navegador capturar as comunicações entre dois sistemas remotos na Internet. Tudo o mais é mais complicado.

A maneira mais adequada de fazer isso, supondo que você não queira remontar os pacotes capturados fora da linha (ala wireshark), é definir um proxy entre os dois aplicativos. Assim, o seu sistema não se conecta diretamente ao remoto, ele se conecta ao seu proxy local. Se não quiser aceitar a reconfiguração, engane-o (direcione seu DNS localmente de volta ao proxy e o proxy se conectará ao seu IP real).

O proxy passa tudo entre os dois essencialmente inalterados, mas dá a você a chance de registrar o que quiser sobre o pedido e a resposta. Isso é efetivamente o mesmo, como se você fosse capaz de examinar o pedido / resposta no switch em algum lugar entre você.

Observe que essa é uma alteração intrusiva e provavelmente interromperá o aplicativo até você acertar. Portanto, você deve tentar isso com um servidor de teste, o que provavelmente seria o suficiente para estabelecer o conteúdo em questão. Se você quiser segui-lo, eu recomendo nginx como seu daemon proxy.

    
por 07.11.2013 / 23:29
0

Você pode usar wireshark ou tcpdump contanto que tenha acesso root ao servidor.

    
por 08.11.2013 / 03:25