您的位置:首頁>正文

3 個簡單優秀的 Linux 網路監視器

前言

你可以通過Linux下這三個iftop、Nethogs和vnstat的網路命令, 瞭解有關你網路連接的大量資訊。 iftop通過進程號跟蹤網路連接, Nethogs可以快速顯示哪個在佔用你的頻寬,

而vnstat作為一個很好的羽量級守護進程運行, 可以隨時隨地記錄你的使用情況。

iftop

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

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

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

$ sudo iftop

當你有多個介面時, 指定要監控的介面:

$ sudo iftop -i wlan0

就像top一樣,

你可以在運行時更改顯示選項。

h切換説明螢幕。

n 切換名稱解析。

s 切換源主機顯示

d切換目標主機。

s 切換埠號。

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

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

p 暫停顯示。

q 退出程式。

文本顯示是可讀的和可組織的

當你切換顯示選項時, 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.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/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 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。

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