Como fazer “netcat” retransmite corretamente para que eu tenha mais controle?

0

Como usar o netcat para ter retransmissões? Como segue eu tentei, mas não está funcionando:

cd /tmp
mknod backpipe p
nc -l -p 7007 0<backpipe | nc 192.168.1.101 9001 | tee backpipe
  1. Eu quero receber dados no modo 7007 deve estar ouvindo
    $ outra aplicação está colocando pacotes aqui

  2. o que quer que seja em 7007 eu preciso mudar para 9001 (que também é uma porta de escuta)

    $ telnet localhost 9001
    

    mostrará 7007 pacotes?

Alguma ideia?

Opcional: também será possível colocar alguns pacotes de cabeçalho extras? simular cabeçalhos http como tipo de conteúdo de imagem?

    
por YumYumYum 04.10.2011 / 02:45

1 resposta

4

Se você fizer isso:

nc -l -p 7007 | nc -l -p 9001

Então, qualquer coisa que chegue à porta 7007 será canalizada para o segundo netcat e será retransmitida para sua sessão de telnet na porta 9001.

Injetar cabeçalhos requer conhecer o protocolo subjacente, pelo menos para descobrir limites de "mensagem", portanto não é trivial. Se você souber como fazer isso, poderá injetar seu código para fazer isso entre os dois canais:

nc -l -p 7007 | ./my_filter | nc -l -p 9001

./my_filter obterá a entrada em stdin , e qualquer coisa que gravar em stdout será exibida na porta 9001.

    
por 04.10.2011 / 09:15