Linux

跟踪丟棄數據包的源 IP

  • July 15, 2015

我有一個執行 CentOS 7 的 Linux 伺服器,我一直面臨 RX 丟棄數據包計數不斷增加的問題。我認為這可能是由網路中的電纜/連接器故障引起的;但是,我無法檢查每個連接以找到問題。有什麼方法可以查看丟棄的數據包來自哪個 IP?

使用nmap,您可以獲得有關您的網路的各種資訊,包括,它對於跟踪封包遺失非常有用。該--packet-trace選項可用於跟踪所有數據包。雖然線上上有大量使用 nmap 的範例和指南,但一個簡單的開始方式如下:

nmap -sP --packet-trace 192.168.1.0/24

將掃描網路中的主機並在超時的情況下跟踪數據包我在本地網路上得到了類似的東西

nsock_read(): Read request from IOD #1 [192.168.1.42:53] (timeout: -1ms) EID 66

可以通過多種方式自定義和編寫 nmap 呼叫,以獲取有關您的網路的更多資訊並嘗試清除不良連接。

此外,nmap還有一個名為wireshark的圖形工具可用,可用於一整套網路分析任務,包括查找壞連結/丟棄數據包的來源。

根據所使用的交換機和網路硬體以及您的訪問級別,您可以使用環境中交換機上的內置管理界面來查找丟包率異常高的物理埠。對於某些品牌的可管理開關,這種任務甚至可能是腳本化/自動化的;這種操作的確切語義將取決於特定的網路硬體和配置。在正確的環境中,使用簡單網路管理協議(SNMP) 可能是一種無需太多工作即可從網路收集所有這些資訊(物理交換機埠上丟棄的數據包等)的新方法。

編輯:在上面的範例中,EID 是 DNS 資源記錄 (RR),是 Endpoint IDentifier(EID) 的縮寫。

引用自:https://serverfault.com/questions/705469