
有一個邪惡的應用程式在我的電腦開啟的 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可能是您的完美工具。它只顯示每個介面目前佔用的頻寬——不多也不少: