我的 Linux 电脑有一个 udp 端口侦听,但是,应用程序似乎没有从该端口接收任何数据包。是否有任何工具可以用来显示此端口上收到的数据包数量?
答案1
使用tcpdump
。例如,在我的计算机上,我要查找流量的接口是 eth0,在本例中我要检查端口 123。
jed@myhost:~$ sudo tcpdump -nei eth0 udp port 123
如果您不知道计算机上的接口是什么,可以使用ifconfig -a
或来获取它们ip link
(可能需要 sudo,具体取决于您的权限)。
答案2
您可以使用 iptables 记录它们:
iptables -A INPUT -p udp -j LOG --log-prefix "udp connection: "
答案3
如果您只需要特定协议的计数器,那么您可以创建一个 iptables 规则来接受这些数据包,并且它将跟踪与该规则匹配的数据包和字节数。
如果您想匹配 UDP 端口 44 上的数据包,iptables 命令如下所示:
iptables -A INPUT -i eth0 -p udp --dport 44 -j ACCEPT
如果您想了解有关这些数据包的更多详细信息,那么正如杰德丹尼尔斯所说,tcpdump
这将是您最好的选择。
tcpdump -nei eth0 udp port 44