您的位置:首頁>正文

分享3個優秀Linux 網路監視器!

iftop

iftop 監聽你指定的網路介面, 並以 top 的形式展示連接。

這是一個很好的小工具, 用於快速識別佔用、測量速度, 並保持網路流量的總體運行。 看到我們使用了多少頻寬是非常令人驚訝的, 特別是對於我們這些還記得使用電話線、數據機、讓人尖叫的 Kbit 速度和真實的即時串列傳輸速率的老年人來說。 我們很久以前就放棄了串列傳輸速率, 轉而使用位元速率。 串列傳輸速率測量信號變化, 有時與位元速率相同, 但大多數情況下不是。

如果你只有一個網路介面, 可以不帶選項運行 iftop。 iftop 需要 root 許可權:

$ sudo iftop

當你有多個介面時,

指定要監控的介面:

$ sudo iftop -i wlan0

就像 top 一樣, 你可以在運行時更改顯示選項。

h 切換説明螢幕。

n 切換名稱解析。

s 切換源主機顯示, d 切換目標主機。

s 切換埠號。

N 切換埠解析。 要全看到埠號, 請關閉解析。

t 切換文本介面。 預設顯示需要 ncurses。 我認為文本顯示更易於閱讀和更好的組織(圖1)。

p 暫停顯示。

q 退出程式。

圖 1:文本顯示是可讀的和可組織的。

當你切換顯示選項時, iftop 會繼續測量所有流量。 你還可以選擇要監控的單個主機。 你需要主機的 IP 位址和網路遮罩。 我很好奇 Pandora 在我那可憐的頻寬中佔用了多少, 所以我先用 dig 找到它們的 IP 地址:

$ 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.20Netmask: 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 RECEIVED7690 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/sec

Nethogs 選項很少:在 kb/s、kb、b 和 mb 之間迴圈;通過接收或發送的資料包進行排序;並調整刷新之間的延遲。 請參閱 man nethogs, 或者運行 nethogs -h。

vnstat

vnstat 是最容易使用的網路資料收集器。 它是羽量級的, 不需要 root 許可權。 它作為守護進程運行, 並記錄你網路統計資訊。 vnstat 命令顯示累計的資料:

$ vnstat -i wlan0Database updated: Tue Oct 17 08:36:38 2017wlan0 since 10/17/2017rx: 45.27 MiB tx: 3.77 MiB total: 49.04 MiBmonthlyrx | 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 |dailyrx | 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 創建簡單的彩色圖(圖2):

$ vnstati -s -i wlx7cdd90a0a1c2 -o vnstat.png

圖 2:你可以使用 vnstati 創建簡單的彩色圖表。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示