我正在寻找一些软件来监控数据包丢失或数据包重试。最好是可以持续监控而不是测试方法的软件,最好是免费的。
我的服务器操作系统是 Debian。我不确定 wireshark 是否可以做到这一点,因为我无法访问服务器上的图形界面,只能访问文本/SSH。
请问有什么建议吗?
答案1
您可以使用生成 ICMP Echo 请求并监控其反馈的工具。
但是如果你想要看看你的实际应用程序是如何响应的,你可以观察的输出netstat -s -p tcp
,“发送的数据包”部分应该有一个“重新传输”计数器,指示需要重新传输的丢弃数据包(它还会显示不必要地重新传输的数据包,但也应该有另一个专门用于这些数据包的计数器,这将指示延迟问题而不是直接丢弃数据包)。
答案2
看一眼烟平。
答案3
如果应用程序提供该信息,则可以通过 SNMP 捕获数据包重传。您可能能够使用 MIB-2(标准主机 mib)来获取它,但现在看起来它只包含错误和丢弃的数据包 - 我没有看到任何表明丢失的信息。该过程本身需要以某种方式提供该信息,或者为您提供一个监视单独协议的协议(类似于 RTCP 监视 RTP 的方式)。
可以使用 OID 1.3.6.1.2.1.6.12 监控 TCP 重传,但这对所有接口来说都是系统范围的。
您到底想监控什么?这可能会有所帮助。