如何找出發生了多少次 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

相關內容