3 個簡單優秀的 Linux 網路監視器
你可以通過Linux下這三個iftop、Nethogs和vnstat的網路命令,瞭解有關你網路連接的大量資訊。
iftop監聽你指定的網路介面,並以top的形式展示連接。
這是一個很好的小工具,用於快速識別佔用、測量速度,並保持網路流量的總體運行。看到我們使用了多少頻寬是非常令人驚訝的,特別是對於我們這些還記得使用電話線、數據機、讓人尖叫的 Kbit 速度和真實的即時串列傳輸速率的老年人來說。
如果你只有一個網路介面,可以不帶選項運行iftop。iftop需要root許可權:
$ sudo iftop當你有多個介面時,指定要監控的介面:
$ sudo iftop -i wlan0就像top一樣,你可以在運行時更改顯示選項。
h切換説明螢幕。
n 切換名稱解析。
s 切換源主機顯示
d切換目標主機。
s 切換埠號。
N 切換埠解析。要全看到埠號,請關閉解析。
t 切換文本介面。預設顯示需要 ncurses。我認為文本顯示更易於閱讀和更好的組織(如下圖)。
p 暫停顯示。
q 退出程式。
文本顯示是可讀的和可組織的
當你切換顯示選項時,
$ dig A pandora.com[...];; ANSWER SECTION:pandora.com. 267 IN A 208.85.40.20pandora.com. 267 IN A 208.85.40.50
網路遮罩是什麼?ipcalc告訴我們:
$ ipcalc -b 208.85.40.20Address: 208.85.40.20 Netmask: 255.255.255.0 = 24Wildcard: 0.0.0.255 =>Network: 208.85.40.0/24現在將位址和網路遮罩提供給iftop:
$ sudo iftop -F 208.85.40.20/24 -i wlan0這不是真的嗎?我很驚訝地發現,頻寬對於Pandora很寬裕,每小時使用大約使用500Kb。而且,像大多數流媒體服務一樣,Pandora的流量也有峰值,其依賴於緩存來緩解阻塞。
你可以使用-G選項對IPv6位址執行相同操作。請參閱手冊頁瞭解iftop的其他功能,包括使用自訂設定檔定制預設選項,並應用自訂篩檢程式(請參閱PCAP-FILTER作為篩檢程式參考)。
Nethogs當你想要快速瞭解誰佔用了你的頻寬時,Nethogs是快速和容易的。以root身份運行,並指定要監聽的介面。它顯示了空閒的應用程式和進程號,以便如果你願意的話,你可以殺死它:
$ sudo nethogs wlan0NetHogs version 0.8.1PID USER PROGRAM DEV SENT RECEIVED 7690 carla /usr/lib/firefox wlan0 12.494 556.580 KB/sec5648 carla .../chromium-browser wlan0 0.052 0.038 KB/secTOTAL 12.546 556.618 KB/secNethogs選項很少:在 kb/s、kb、b和mb之間迴圈;通過接收或發送的資料包進行排序;並調整刷新之間的延遲。
vnstat是最容易使用的網路資料收集器。它是羽量級的,不需要root許可權。它作為守護進程運行,並記錄你網路統計資訊。
vnstat命令顯示累計的資料:
$ vnstat -i wlan0Database updated: Tue Oct 17 08:36:38 2017 wlan0 since 10/17/2017 rx: 45.27 MiB tx: 3.77 MiB total: 49.04 MiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Oct '17 45.27 MiB | 3.77 MiB | 49.04 MiB | 0.28 kbit/s ------------------------+-------------+-------------+--------------- estimated 85 MiB | 5 MiB | 90 MiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 45.27 MiB | 3.77 MiB | 49.04 MiB | 12.96 kbit/s ------------------------+-------------+-------------+--------------- estimated 125 MiB | 8 MiB | 133 MiB |它預設顯示所有的網路介面。使用-i選項選擇單個介面。以這種方式合併多個介面的資料:
$ vnstat -i wlan0+eth0+eth1你可以通過以下幾種方式過濾顯示:
-h以小時顯示統計資料。
-d 以天數顯示統計資料。
-w和-m 按周和月顯示統計資料。
使用-l選項查看即時更新。
此命令刪除wlan1的資料庫,並停止監控它:
$ vnstat -i wlan1 --delete此命令為網路介面創建別名。此例使用Ubuntu 16.04中的一個奇怪的介面名稱:
$ vnstat -u -i enp0s25 --nick eth0預設情況下,vnstat監視eth0。你可以在 /etc/vnstat.conf 中更改此內容,或在主目錄中創建自己的個人設定檔。請參見 man vnstat 以獲得完整的參考。
你還可以安裝vnstati創建簡單的彩色圖(下圖):
$ vnstati -s -i wlx7cdd90a0a1c2 -o vnstat.png你可以使用 vnstati 創建簡單的彩色圖表
有關完整選項,請參見man vnstati。
-w和-m 按周和月顯示統計資料。
使用-l選項查看即時更新。
此命令刪除wlan1的資料庫,並停止監控它:
$ vnstat -i wlan1 --delete此命令為網路介面創建別名。此例使用Ubuntu 16.04中的一個奇怪的介面名稱:
$ vnstat -u -i enp0s25 --nick eth0預設情況下,vnstat監視eth0。你可以在 /etc/vnstat.conf 中更改此內容,或在主目錄中創建自己的個人設定檔。請參見 man vnstat 以獲得完整的參考。
你還可以安裝vnstati創建簡單的彩色圖(下圖):
$ vnstati -s -i wlx7cdd90a0a1c2 -o vnstat.png你可以使用 vnstati 創建簡單的彩色圖表
有關完整選項,請參見man vnstati。