如何追蹤 LAN 使用情況? (又稱“LAN 頂部”)

如何追蹤 LAN 使用情況? (又稱“LAN 頂部”)

有一個邪惡的應用程式在我的電腦開啟的 80% 時間裡佔用了我所有的上傳頻寬(我是巴西人,只有 ~35kbps)。

我想知道是否有任何方法可以追蹤此使用情況並發現哪個應用程式正在執行此操作。

答案1

關於什麼網路豬?在我看來,這更人性化。即時列出哪些命令/程式使用網路以及每個命令/程式的頻寬。

在 ubuntu/debian 系統中安裝它:

sudo apt-get 安裝 nethogs

運行它來監視您的網路接口,如下所示:

須藤 nethogs eth0

替代文字

答案2

iftop是一個類似top的基於控制台/shell的程序,可以使用pcap函式庫(tcpdump和wireshark也使用)。它適用於 Ubuntu,可從 Universe 取得。

sudo aptitude install iftop
sudo iftop

在 ubuntu 系統上執行升級時:

替代文字

使用 netstat,您可以找出哪些程序連接到特定連接埠或 IP。對於端口,最好在前面加上冒號。

sudo netstat -plantu | grep "some_port_number_or_ip_address"

例如,查看 ssh 的開啟連線:

sudo netstat -plantu | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2376/sshd       
tcp        0      0 10.13.37.122:22         10.13.37.105:59130      ESTABLISHED 4033/sshd: jtimberm
tcp6       0      0 :::22                   :::*                    LISTEN      2376/sshd 

您也可以使用 lsof 來尋找開放連接埠連線:

sudo lsof -i:22
COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2376       root    3u  IPv4   5613      0t0  TCP *:ssh (LISTEN)
sshd    2376       root    4u  IPv6   5615      0t0  TCP *:ssh (LISTEN)
sshd    4033       root    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)
sshd    4086 jtimberman    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)

您可以使用 -p PID 從 lsof 獲取有關開啟檔案的更多資訊。

sudo lsof -p 2376

(大量輸出被抑制)

答案3

恩托普是你的朋友。軟體包位於 linux repos 和 macports 中。

答案4

在我看來,iftop 的使用者介面設計得併不好。實際上,幾乎不需要即時查看 IP 或主機名稱。如果我需要所有當前連接的列表,我會像 jtimberman 解釋的那樣使用 netstat。

就我的目的而言,bmon 比 iftop 更適合。它有一個非常簡單的用戶介面,支援多種介面和“圖表”繪製。這是一個螢幕截圖:

巴蒙

如果您不需要 bmon 提供的所有功能,bwm-NG可能是您的完美工具。它只顯示每個介面目前佔用的頻寬——不多也不少:

bwm-NG

相關內容