UDP数据包丢失?

组播数据包在服务器之间掉线,组播工作在udp上,不可靠的丢弃数据包

问题:是他们的一种方式或实用程序可用于在os内核级别捕获udp数据包?

这个问题还不是很清楚,但是如果你在Linux上的UDP数据包捕获工具之后,你可以使用tcpdump ,它应该默认安装在你的发行版本中,或者安装在发行版的仓库中。

捕获主机具有可见性的所有UDP数据包的示例(使用它作为root用户或使用sudo查看所有数据包,即使那些不适用于您的主机但是“正在传递”的数据包):

 tcpdump -i <net_interface> -vv udp 

用eth0,p1p1,ens32等replace<net_interface> ,你现在的networking接口是什么。

您可以使用-w <file>开关将数据包存储在文件中,稍后使用tcpdump或wireshark(GUI工具)读取。

关于Linux服务器上的UDP捕获,请使用以下内容。

https://stackoverflow.com/questions/7931746/how-can-i-use-tcpdump-on-unix-to-view-messages-sent-to-a-specific-multicast-addr

 tcpdump -nqi eth0 -s0 -w /tmp/$HOSTNAME-udp-trace.pcap 

netstat命令在服务器上循环:

 while true; do date >> /tmp/netstat_-s-$HOSTNAME.out.txt; netstat -s >> /tmp/netstat_-s-$HOSTNAME.out.txt; sleep 1; done