tcpdump e nc com udp

2

Eu não entendo o comportamento do netcat. Digamos que eu tenha um host agindo como servidor:

[root@localhost tmp]# nc -u -l -p 670

Então, tento me conectar de um cliente:

root@debian:/tmp#  nc   -u   192.168.0.109 670

Enquanto isso, tento capturar esses pacotes:

[root@localhost sergio]# tcpdump -nn -i wlp7s0 port 670

Não vejo nenhum pacote, apenas quando emito algo como:

root@debian:/tmp#  echo "Hola Mundo" | nc   -u   192.168.0.109 670

[root@localhost sergio]# tcpdump -nn -i wlp7s0 port 670
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlp7s0, link-type EN10MB (Ethernet), capture size 65535 bytes
01:37:39.425276 IP 192.168.0.114.44287 > 192.168.0.109.670: UDP, length 12

Eu me pergunto se é o comportamento adequado do netcat. Por que a razão de não ver nenhum pacote a não ser quando eu envio algo do stdin?

    
por sebelk 30.08.2014 / 06:45

1 resposta

2

Porque você está usando o UDP. Não há configuração de conexão no UDP antes de enviar qualquer pacote como o TCP, o que significa que você só verá pacotes se os dados reais forem transferidos. E o netcat envia apenas os dados que recebe do stdin.

    
por 30.08.2014 / 06:54