如何找出发生了多少次 TCP 重传?

如何找出发生了多少次 TCP 重传?

我在 ARMHF 平台上运行 Debian Wheezy,并通过相当不可靠的手机网络进行大部分通信。有没有办法读取编号。自启动以来 TCP 堆栈已完成重新传输的次数?还跟踪编号。 TCP 校验和失败的情况会很有帮助。

答案1

如果您需要定期检查这些数字(甚至将它们记录在某处),也许netstat可以提供帮助,如下所述:

https://serverfault.com/questions/318909/how-passively-monitor-for-tcp-packet-loss-linux

您可以记录输出并稍后进行分析。

如果您需要实时观看某些内容,也许tcptrace符合要求。

另一种选择是使用普通的旧tcp转储转储您的流量,然后在您自己的工作站上使用一些更复杂的分析工具来分析它,例如Wireshark

tcpdumpnetstat并且tcptrace所有这些都存在于 armhf 上的 Debian wheezy 中。

答案2

如果您安装并启用“sysstat”软件包并为 sadc 启用 SNMP。然后,您可以使用以下命令获取 TCP 重传信息。而且您还将拥有可配置数量的历史数据(下面的输出来自 Ubuntu 13.10)。

# sar -n ETCP
Linux 3.11.0-12-generic (hamilton)  2014-10-14  _x86_64_    (2 CPU)

16:05:01     atmptf/s  estres/s retrans/s isegerr/s   orsts/s
16:15:01         0,00      0,00      0,00      0,00      0,00
Average:         0,00      0,00      0,00      0,00      0,00

相关内容