2021-05-12 14:32:11
一些你可能不知道的 Linux 網路工具
如果要在你的系統上監控網路,那麼使用命令列工具是非常實用的,並且對於 Linux 使用者來說,有著許許多多現成的工具可以使用,如: nethogs, ntopng, nload, iftop, iptraf, bmon, slurm, tcptrack, cbm, netwatch, collectl, trafshow, cacti, etherape, ipband, jnettop, netspeed 以及 speedometer。
鑑於世上有著許多的 Linux 專家和開發者,顯然還存在其他的網路監控工具,但在這篇教學中,我不打算將它們所有包括在內。
上面列出的工具都有著自己的獨特之處,但歸根結底,它們都做著監控網路流量的工作,只是通過各種不同的方法。例如 nethogs 可以被用來展示每個進程的頻寬使用情況,以防你想知道究竟是哪個應用在消耗了你的整個網路資源; iftop 可以被用來展示每個通訊端連線的頻寬使用情況,而像 nload 這類的工具可以幫助你得到有關整個頻寬的資訊。
1) nethogs
nethogs 是一個免費的工具,當要查詢哪個 PID (註:即 process identifier,進程 ID) 給你的網路流量帶來了麻煩時,它是非常方便的。它按每個進程來分組頻寬,而不是像大多數的工具那樣按照每個協定或每個子網來劃分流量。它功能豐富,同時支援 IPv4 和 IPv6,並且我認為,若你想在你的 Linux 主機上確定哪個程式正消耗著你的全部頻寬,它是來做這件事的最佳的程式。
一個 Linux 使用者可以使用 nethogs 來顯示每個進程的 TCP 下載和上傳速率,可以使用命令 nethogs eth0 來監控一個指定的裝置,上面的 eth0 是那個你想獲取資訊的裝置的名稱,你還可以得到有關正在傳輸的資料的傳輸速率資訊。
對我而言, nethogs 是非常容易使用的,或許是因為我非常喜歡它,以至於我總是在我的 Ubuntu 12.04 LTS 機器中使用它來監控我的網路頻寬。
例如要想使用混雜模式來嗅探,可以像下面展示的命令那樣使用選項 -p:
nethogs -p wlan0
假如你想更多地了解 nethogs 並深入探索它,那么請毫不猶豫地閱讀我們做的關於這個網路頻寬監控工具的整個教學。
NetHogs——Linux下按進程實時統計網路頻寬利用率 http://www.linuxidc.com/Linux/2014-04/99602.htm
2) nload
nload 是一個控制台應用,可以被用來實時地監控網路流量和頻寬使用情況,它還通過提供兩個簡單易懂的圖表來對流量進行視覺化。這個絕妙的網路監控工具還可以在監控過程中切換被監控的裝置,而這可以通過按左右箭頭來完成。
正如你在上面的截圖中所看到的那樣,由 nload 提供的圖表是非常容易理解的。nload 提供了有用的資訊,也展示了諸如被傳輸資料的總量和最小/最大網路速率等資訊。
而更酷的是你只需要直接執行 nload 這個工具就行,這個命令是非常的短小且易記的:
nload
我很確信的是:我們關於如何使用 nload 的詳細教學將幫助到新的 Linux 使用者,甚至可以幫助那些正尋找關於 nload 資訊的老手。
(LCTT 譯註:關於 nload 的更新資訊可以參考:http://www.linuxidc.com/Linux/2015-03/115383.htm )
3) slurm
slurm 是另一個 Linux 網路負載監控工具,它以一個不錯的 ASCII 圖來顯示結果,它還支援許多按鍵用以互動,例如 c 用來切換到經典模式, s 切換到分圖模式, r 用來重繪螢幕, L 用來啟用 TX/RX 燈(註:TX,傳送流量;RX,接收流量) ,m 用來在經典分圖模式和大圖模式之間進行切換, q 退出 slurm。
在網路負載監控工具 slurm 中,還有許多其它的按鍵可用,你可以很容易地使用下面的命令在 man 手冊中學習它們。
man slurm
slurm 在 Ubuntu 和 Debian 的官方軟體倉庫中可以找到,所以使用這些發行版本的使用者可以像下面展示的那樣,使用 apt-get 安裝命令來輕鬆地下載它:
sudo apt-get install slurm
我們已經在一個教學中對 slurm 的使用做了介紹,不要忘記和其它使用 Linux 的朋友分享這些知識。
在 Ubuntu 上安裝 SLURM 叢集資源管理器 http://www.linuxidc.com/Linux/2013-02/80029.htm
VMware+Ubuntu環境安裝設定SLURM http://www.linuxidc.com/Linux/2012-10/71552.htm
4) iftop
當你想顯示連線到網絡卡上的各個主機的頻寬使用情況時,iftop 是一個非常有用的工具。根據 man 手冊,iftop 在一個指定的介面或在它可以找到的第一個介面(假如沒有任何特殊情況,它應該是一個對外的介面)上監聽網路流量,並且展示出一個表格來顯示當前的一對主機間的頻寬使用情況。
通過在虛擬終端中使用下面的命令,Ubuntu 和 Debian 使用者可以在他們的機器中輕易地安裝 iftop:
sudo apt-get install iftop
在你的機器上,可以使用下面的命令通過 yum 來安裝 iftop:
yum -y install iftop
(LCTT 譯註:關於 nload 的更多資訊請參考:https://linux.cn/article-1843-1.html )
5) collectl
collectl 可以被用來收集描述當前系統狀態的資料,並且它支援如下兩種模式:
- 記錄模式
- 回放模式
記錄模式 允許從一個正在執行的系統中讀取資料,然後將這些資料要麼顯示在終端中,要麼寫入一個或多個檔案或一個通訊端中。
回放模式
根據 man 手冊,在這種模式下,資料從一個或多個由記錄模式生成的資料檔案中讀取。
Ubuntu 和 Debian 使用者可以在他們的機器上使用他們預設的包管理器來安裝 colletcl。下面的命令將為他們做這個工作:
sudo apt-get install collectl
還可以使用下面的命令來安裝 collectl, 因為對於這些發行版本(註:這裡指的是用 yum 作為包管理器的發行版本),在它們官方的軟體倉庫中也含有 collectl:
yum install collectl
(LCTT 譯註:關於 collectl 的更多資訊請參考: http://www.linuxidc.com/Linux/2014-06/102805.htm)
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-05/117373p2.htm
相關文章