tcpdump 和 nc 与 udp

tcpdump 和 nc 与 udp

我不明白 netcat 的行为。假设我有一台主机充当服务器:

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

然后我尝试从客户端连接:

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

同时我尝试捕获这些包:

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

仅当我发出以下命令时,我根本看不到任何数据包:

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

我想知道这是否是 netcat 的正确行为。为什么除了从标准输入发送内容之外看不到任何数据包?

答案1

因为你使用的是UDP。在发送任何数据包之前,UDP 中没有连接设置,这意味着您只有在实际数据传输时才能看到数据包。 netcat 仅发送从 stdin 获取的数据。

相关内容