encaminhar uma conexão TCP com log usando

1

Estou tentando depurar um serviço ao qual os clientes se conectam usando TCP (no Linux). Eu não posso mudar nenhum dos programas (não tenho código fonte), e eu não posso fazer uso de mecanismos que bisbilhotam na camada de rede (como tcpdump, pcap, wireshark, etc).

Eu posso configurar cada um dos programas de serviço e cliente para ouvir ou conectar em qualquer porta ou endereço que eu precise.

Eu sei que é possível usar o programa SOCAT para encaminhar conexões arbitrárias, usando um comando como SOCAT -d -d TCP-LISTEN:2001,bind=127.0.0.1,fork TCP:localhost:2002 . Mas não vejo que as versões padrão da socat possuam qualquer mecanismo para registrar os dados à medida que vão e voltam.

O que eu preciso é uma maneira de encaminhar uma conexão TCP dessa maneira, mas registrando os dados em ambas as direções em um arquivo (bem, um par de arquivos). O ideal seria que essa estratégia usasse apenas pacotes Linux de ações, como socat ou tee.

Eu percebo que provavelmente é possível escrever um programa que faz isso usando Perl ou Python ou similar, mas para os fins desta questão, eu quero uma maneira de usar apenas cola (bash, etc) e programas de ações.

    
por William 23.10.2017 / 19:59

0 respostas