Como interceptar o tráfego de soquete no solaris?

2

Eu não estou muito familiarizado com o Solaris, então talvez existam ferramentas que eu não conheça. Eu preciso depurar a comunicação entre dois componentes na mesma máquina, conversando entre si usando um soquete TCP normal.

Agora parece haver duas ferramentas disponíveis, uma conhecida do linux chamada tcpdump , a outra sendo um utilitário solaris chamado snoop . Infelizmente, no site do cliente, há muitas restrições e outros detalhes, portanto, o uso dessas ferramentas não é permitido / possível.

Então, o que eu imaginei é que eu poderia mudar a porta de escuta do processo do servidor para outra coisa e ter uma ferramenta como netcat atuando como um proxy na porta real enquanto encaminhava o tráfego para o processo de servidor "real" , então eu posso descarregar a comunicação entre esses componentes.

Existe uma ferramenta que faz isso - de preferência produzindo um formato conhecido como o do tcpdump? Ou como mais você faria isso?

    
por Dave Vogt 10.06.2011 / 12:07

2 respostas

1

snoop não é uma opção, pois não funcionará para o tráfego entre dois processos no mesmo host.

DTrace é sua melhor aposta. Por exemplo, aqui está um script para capturar o tráfego entre dois processos no mesmo servidor em snoop format. No entanto, esse script específico depende do funcionamento interno do kernel, portanto, pode ou não funcionar com sua versão do Solaris 10.

    
por 10.06.2011 / 13:39
1

change the listening port of the server process to something else and have a tool like netcat

O netcat fará o encaminhamento de porta - mas não registrará a informação. No entanto, o código de suorce está amplamente disponível - portanto, se suas habilidades em C forem adequadas, seria fácil incluir isso. Se preferir, Perl - então, há vários encaminhadores de porta usando isso. Existe um módulo cpan aqui .

Se os dados estiverem passando por uma rede e você tiver acesso físico à rede (em um ponto em que os dados não estão criptografados), você poderá usar wireshark .

    
por 10.06.2011 / 14:36