通過iftop、nethogs和vnstat詳細了解你的網絡連接狀態。
你可以通過這三個 Linux 命令了解當前網絡的大量信息。iftop通過進程號跟蹤網絡連接,nethogs快速告知你哪些進程在占用你的帶寬,而vnstat以一個良好的輕量級守護進程在后臺運行,并實時記錄你的網絡使用情況。
iftop
令人稱贊的iftop可以監聽您指定的網絡接口,并以 top 的樣式呈現。
這是一個不錯的小工具,可以用于找出網絡擁塞,測速和維持網絡流量總量。看到自己到底在用多少帶寬往往是非常驚人的,尤其是對于我們這些仍然記得電話線路、調制解調器,“高速”到令人驚叫的 kb 和實時波特率的老人們。我們在很久之前就不再使用波特率,轉而鐘情于比特率。波特率用于衡量信號變化,盡管有時候與比特率相同,但大多數情況下并非如此。
如果你只有一個網絡接口,直接運行iftop即可。不過iftop需要 root 權限:
$sudo iftop
如果你有多個網絡接口,那就指定你要監控的接口:
$sudo iftop -iwlan0
就像top命令一樣,你可以在命令運行時更改顯示選項:
h切換幫助界面。
n是否解析域名。
s切換源地址的顯示,d則切換目的地址的顯示。
S是否顯示端口號。
N是否解析端口;若關閉解析則顯示端口號。
t切換文本顯示界面。默認的顯示方式需要 ncurses。我個人認為圖 1 的顯示方式在組織性和可讀性都更加良好。
p暫停顯示更新。
q退出程序。
圖 1:組織性和可讀性良好的文本顯示。
當你切換顯示設置的時候,iftop并不會中斷監測流量。當然你也可以單獨監測一臺主機。而這需要該主機的 IP 地址和子網掩碼。現在,我很好奇 Pandora(LCTT 譯注:一家美國的電臺公司)能給我貧瘠的帶寬帶來多大的負載。因此我首先使用 dig 命令找到他們的 IP 地址:
$digApandora.com
[...]
;;ANSWER SECTION:
pandora.com.267 INA 208.85.40.20
pandora.com.267 INA 208.85.40.50
那子網掩碼呢?ipcalc 會告訴我們:
$ipcalc -b208.85.40.20
Address: 208.85.40.20
Netmask: 255.255.255.0 = 24
Wildcard:0.0.0.255
=>
Network: 208.85.40.0/24
現在,將 IP 地址和子網掩碼提供給 iftop:
$sudo iftop -F208.85.40.20/24 -iwlan0
很棒的不是么?而我也很驚奇地發現,Pandora 在我的網絡上,每小時大約使用 500kb。并且就像大多數流媒體服務一樣,Pandora 的流量在迅速增長,并依靠緩存穩定下來。
你可以使用 -G 選項對 IPv6 地址執行相同的操作。查閱友好的 man 可以幫助你了解 iftop 的其他功能,包括使用個人配置文件自定義你的默認選項,以及使用自定義過濾(請參閱 PCAP-FILTER 來獲取過濾指南)。
nethogs
當你想要快速了解是誰在吸取你的帶寬的時候,nethogs 是個快速而簡單的方法。你需要以 root 身份運行并指定要監聽的接口。它會給你顯示大量的應用程序及其進程號,所以如果你想的話,你可以借此殺死任一進程。
$sudo nethogs wlan0
nethogs version0.8.1
PID USER PROGRAMDEVSENT RECEIVED
7690carla /usr/lib/firefox wlan012.494556.580KB/sec
5648carla.../chromium-browser wlan00.052 0.038KB/sec
TOTAL 12.546556.618KB/sec
nethogs 并沒有多少選項:在 kb/s、kb、b、mb之間循環,按接收和發送的數據包排序,調整刷新延遲。具體請看man nethogs,或者是運行 nethogs -h。
vnstat
vnstat是最容易使用的網絡數據收集工具。它十分輕量并且不需要 root 權限。它以守護進程在后臺運行,因此可以實時地記錄你的網絡數據。單個 vnstat 命令就可以顯示所累計的數據。
默認情況下它會顯示所有的網絡接口。使用 -i 選項來選擇某個接口。也可以像這樣合并多個接口的數據:
$vnstat -iwlan0+eth0+eth1
你可以通過這幾種方式過濾數據顯示:
-h按小時顯示統計信息。
-d按天顯示統計信息.
-w和-m分別按周和月份來顯示統計信息。
使用-l選項查看實時更新。
以下這條命令將會刪除 wlan1 的數據庫并不再監視它:
$vnstat -iwlan1 --delete
而下面這條命令將會為你的一個網絡接口創建一個別名。這個例子使用了 Ubuntu 16.04 的一個有線接口名稱:
$vnstat -u -ienp0s25 --nick eth0
默認情況下,vnstat 會監視 eth0。你可以在 /etc/vnstat.conf 對它進行修改,或者在你的家目錄下創建你自己的個人配置文件。請參閱 man vnstat 以獲取完整的指南。
你也可以安裝 vnstati 來創建簡單的彩圖(圖 2):
$vnstati -s -iwlx7cdd90a0a1c2 -ovnstat.png
圖 2:你可以使用vnstati來創建簡單的彩圖。
-
Linux
+關注
關注
87文章
11292瀏覽量
209323 -
網絡
+關注
關注
14文章
7553瀏覽量
88729 -
iftop
+關注
關注
0文章
3瀏覽量
6960
原文標題:三款簡單而優秀的 Linux 網絡監視工具
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論