首頁 > 軟體

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

2020-06-16 17:02:12

用 iftop、Nethogs 和 vnstat 了解更多關於你的網路連線。

你可以通過這三個 Linux 網路命令,了解有關你網路連線的大量資訊。iftop 通過進程號跟蹤網路連線,Nethogs 可以快速顯示哪個在佔用你的頻寬,而 vnstat 作為一個很好的輕量級守護行程執行,可以隨時隨地記錄你的使用情況。

iftop

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

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

網路實時流量監控工具iftop  http://www.linuxidc.com/Linux/2016-09/135235.htm

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

  1. $ sudo iftop

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

  1. $ sudo iftop -i wlan0

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

  • h 切換幫助螢幕。
  • n 切換名稱解析。
  • s 切換源主機顯示,d 切換目標主機。
  • s 切換埠號。
  • N 切換埠解析。要全看到埠號,請關閉解析。
  • t 切換文字介面。預設顯示需要 ncurses。我認為文字顯示更易於閱讀和更好的組織(圖1)。
  • p 暫停顯示。
  • q 退出程式。

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

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

  1. $ dig A pandora.com
  2. [...]
  3. ;; ANSWER SECTION:
  4. pandora.com.267 IN A 208.85.40.20
  5. pandora.com.267 IN A 208.85.40.50

網路掩碼是什麼? ipcalc 告訴我們:

  1. $ ipcalc -b 208.85.40.20
  2. Address:208.85.40.20
  3. Netmask:255.255.255.0=24
  4. Wildcard:0.0.0.255
  5. =>
  6. Network:208.85.40.0/24

現在將地址和網路掩碼提供給 iftop:

  1. $ sudo iftop -F 208.85.40.20/24-i wlan0

這不是真的嗎?我很驚訝地發現,我珍貴的頻寬對於 Pandora 很寬裕,每小時使用大約使用 500Kb。而且,像大多數串流媒體服務一樣,Pandora 的流量也有峰值,其依賴於快取來緩解阻塞。

你可以使用 -G 選項對 IPv6 地址執行相同操作。請參閱手冊頁了解 iftop 的其他功能,包括使用自定義組態檔客製化預設選項,並應用自定義過濾器(請參閱 PCAP-FILTER 作為過濾器參考)。

 

Nethogs

當你想要快速了解誰佔用了你的頻寬時,Nethogs 是快速和容易的。以 root 身份執行,並指定要監聽的介面。它顯示了空閒的應用程式和進程號,以便如果你願意的話,你可以殺死它:

  1. $ sudo nethogs wlan0
  2. NetHogs version 0.8.1
  3. PID USER PROGRAM DEV SENT RECEIVED
  4. 7690 carla /usr/lib/firefox wlan0 12.494556.580 KB/sec
  5. 5648 carla .../chromium-browser wlan0 0.0520.038 KB/sec
  6. TOTAL 12.546556.618 KB/sec

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

NetHogs——Linux下按進程實時統計網路頻寬利用率  http://www.linuxidc.com/Linux/2014-04/99602.htm

vnstat

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

  1. $ vnstat -i wlan0
  2. Database updated:TueOct1708:36:382017
  3. wlan0 since 10/17/2017
  4. rx:45.27MiB tx:3.77MiB total:49.04MiB
  5. monthly
  6. rx | tx | total | avg. rate
  7. ------------------------+-------------+-------------+---------------
  8. Oct'17 45.27 MiB | 3.77 MiB | 49.04 MiB | 0.28 kbit/s
  9. ------------------------+-------------+-------------+---------------
  10. estimated 85 MiB | 5 MiB | 90 MiB |
  11. daily
  12. rx | tx | total | avg. rate
  13. ------------------------+-------------+-------------+---------------
  14. today 45.27 MiB | 3.77 MiB | 49.04 MiB | 12.96 kbit/s
  15. ------------------------+-------------+-------------+---------------
  16. estimated 125 MiB | 8 MiB | 133 MiB |

它預設顯示所有的網路介面。使??? -i 選項選擇單個介面。以這種方式合併多個介面的資料:

  1. $ vnstat -i wlan0+eth0+eth1

你可以通過以下幾種方式過濾顯示:

  • -h 以小時顯示統計資料。
  • -d 以天數顯示統計資料。
  • -w-m 按週和月顯示統計資料。
  • 使用 -l 選項檢視實時更新。

此命令刪除 wlan1 的資料庫,並停止監控它:

  1. $ vnstat -i wlan1 --delete

此命令為網路介面建立別名。此例使用 Ubuntu 16.04 中的一個奇怪的介面名稱:

  1. $ vnstat -u -i enp0s25 --nick eth0

預設情況下,vnstat 監視 eth0。你可以在 /etc/vnstat.conf 中更改此內容,或在主目錄中建立自己的個人組態檔。請參見 man vnstat 以獲得完整的參考。

你還可以安裝 vnstati 建立簡單的彩色圖(圖2):

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

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

有關完整選項,請參見 man vnstati

vnStatSVG: 流量監控軟體 vnStat 最佳 Web 前端  http://www.linuxidc.com/Linux/2015-04/116122.htm


via: https://www.linux.com/learn/intro-to-linux/2017/10/3-simple-excellent-linux-network-monitors

作者:CARLA SCHRODER 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-11/148457.htm


IT145.com E-mail:sddin#qq.com