如何获取特定udp端口上接收数据包的统计信息

如何获取特定udp端口上接收数据包的统计信息

我的 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

相关内容