Com apenas os comandos dados, isso teria sido fácil! O padrão do Netcat é TCP sem -u
para o UDP. Enquanto nc -lp 1234 -u
ouve as conexões UDP na porta 1234, nc 10.0.3.2 1234
tenta abrir uma conexão TCP.
Sugiro adicionar -v -v
ao seu Netcat nos dois extremos, pois ele fornecerá as estatísticas enviadas / rcvd no final. Por favor adicione esta informação e também corrija os comandos que você estava usando para que pudéssemos saber que você tinha sua condição de depuração correta.
Use também tcpdump port 1234 -XX
para ver o que há dentro desses pacotes em HEX e ASCII.
No entanto, com base na saída de tcpdump port 1234
, você provavelmente ainda tem os comandos certos, mas vamos brincar um pouco com esse erro para ver como podemos saber isso:
Desde que você tem pacotes UDP
IP hosta.46603 > 10.0.3.2.1234: UDP, length 4
IP 10.0.3.2.1234 > hosta.46603: UDP, length 4
em vez de pacotes TCP como
IP hosta.46603 > 10.0.3.2.1234: Flags [S], seq 1384271454, win 14600, options [mss 1460,sackOK,TS val 1969077197 ecr 0,nop,wscale 3], length 0
IP 10.0.3.2.1234 > hosta.46603: Flags [R.], seq 0, ack 1384271455, win 0, length 0
vamos supor que você o teve e vice-versa:
root@hosta:~# nc 10.0.3.2 1234 -u
root@hostb:~# nc -lp 1234
Mas, neste caso, você só teria visto o primeiro
IP hosta.46603 > 10.0.3.2.1234: UDP, length 4
e não teria havido nenhum pacote UDP na outra direção!
Então, se você acidentalmente usou o mesmo nc <IP> 1234 -u
em ambas as extremidades, você teria as duas linhas, mas as portas não seriam as mesmas, mas algo como:
IP hosta.46603 > 10.0.3.2.1234: UDP, length 4
IP 10.0.3.2.73644 > hosta.1234: UDP, length 4