我正在寻找UDP调试工具,以满足以下要求
1)netstat -s,显示udpInOverflows = 23000,此计数器不断增加。 如何检查由于没有缓冲区空间而抛出的udp数据包。
2)发生此问题的可能原因是什么以及如何解决。
3)有没有办法检查内核收到的传入UDP数据包,如udp socket为该端口打开所有验证并且没有校验和错误,snoop将无法工作,因为它直接从网络接口捕获。
此致 尼丁
答案 0 :(得分:0)
如果您愿意花一点时间使用内核源代码,那么您应该可以使用dtrace来获取所需的信息。例如“dtrace -n'fbt :: udp_input:entry {stack();}'将显示数据包如何进入udp_input(不是那么有趣)。你还应该检查mib :::探测和fbt:ip :ip_drop * :.这完全取决于您使用的Solaris版本。