《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 其他 > 一大波你可能不知道的 Linux 網(wǎng)絡(luò)工具

一大波你可能不知道的 Linux 網(wǎng)絡(luò)工具

2022-11-23
作者: 電子技術(shù)應(yīng)用專欄作家 一口Linux
來(lái)源: 電子技術(shù)應(yīng)用專欄作家 一口Linux
關(guān)鍵詞: Linux 網(wǎng)絡(luò)工具

  如果要在你的系統(tǒng)上監(jiān)控網(wǎng)絡(luò),那么使用命令行工具是非常實(shí)用的,并且對(duì)于 Linux 用戶來(lái)說(shuō),有著許許多多現(xiàn)成的工具可以使用,如:nethogs, ntopng, nload, iftop, iptraf, bmon, slurm, tcptrack, cbm, netwatch, collectl, trafshow, cacti, etherape, ipband, jnettop, netspeed 以及 speedometer。

  鑒于世上有著許多的 Linux 專家和開(kāi)發(fā)者,顯然還存在其他的網(wǎng)絡(luò)監(jiān)控工具,但在這篇教程中,我不打算將它們所有包括在內(nèi)。

  上面列出的工具都有著自己的獨(dú)特之處,但歸根結(jié)底,它們都做著監(jiān)控網(wǎng)絡(luò)流量的工作,只是通過(guò)各種不同的方法。

  例如 nethogs 可以被用來(lái)展示每個(gè)進(jìn)程的帶寬使用情況,以防你想知道究竟是哪個(gè)應(yīng)用在消耗了你的整個(gè)網(wǎng)絡(luò)資源;iftop 可以被用來(lái)展示每個(gè)套接字連接的帶寬使用情況,而像 nload 這類的工具可以幫助你得到有關(guān)整個(gè)帶寬的信息。

  1) nethogs

  nethogs 是一個(gè)免費(fèi)的工具,當(dāng)要查找哪個(gè) PID (注:即 process identifier,進(jìn)程 ID) 給你的網(wǎng)絡(luò)流量帶來(lái)了麻煩時(shí),它是非常方便的。它按每個(gè)進(jìn)程來(lái)分組帶寬,而不是像大多數(shù)的工具那樣按照每個(gè)協(xié)議或每個(gè)子網(wǎng)來(lái)劃分流量。它功能豐富,同時(shí)支持 IPv4 和 IPv6,并且我認(rèn)為,若你想在你的 Linux 主機(jī)上確定哪個(gè)程序正消耗著你的全部帶寬,它是來(lái)做這件事的最佳的程序。

  一個(gè) Linux 用戶可以使用 nethogs 來(lái)顯示每個(gè)進(jìn)程的 TCP 下載和上傳速率,可以使用命令 nethogs eth0 來(lái)監(jiān)控一個(gè)指定的設(shè)備,上面的 eth0 是那個(gè)你想獲取信息的設(shè)備的名稱,你還可以得到有關(guān)正在傳輸?shù)臄?shù)據(jù)的傳輸速率信息。

  對(duì)我而言, nethogs 是非常容易使用的,或許是因?yàn)槲曳浅O矚g它,以至于我總是在我的 Ubuntu 12.04 LTS 機(jī)器中使用它來(lái)監(jiān)控我的網(wǎng)絡(luò)帶寬。

  例如要想使用混雜模式來(lái)嗅探,可以像下面展示的命令那樣使用選項(xiàng) -p:

  nethogs -p wlan0

  假如你想更多地了解 nethogs 并深入探索它,那么請(qǐng)毫不猶豫地閱讀我們做的關(guān)于這個(gè)網(wǎng)絡(luò)帶寬監(jiān)控工具的整個(gè)教程。

 ?。ㄗg注:關(guān)于 nethogs 的更多信息可以參考:https://linux.cn/article-2808-1.html )

  2) nload

  nload 是一個(gè)控制臺(tái)應(yīng)用,可以被用來(lái)實(shí)時(shí)地監(jiān)控網(wǎng)絡(luò)流量和帶寬使用情況,它還通過(guò)提供兩個(gè)簡(jiǎn)單易懂的圖表來(lái)對(duì)流量進(jìn)行可視化。這個(gè)絕妙的網(wǎng)絡(luò)監(jiān)控工具還可以在監(jiān)控過(guò)程中切換被監(jiān)控的設(shè)備,而這可以通過(guò)按左右箭頭來(lái)完成。

  微信截圖_20221123140446.png

  正如你在上面的截圖中所看到的那樣,由 nload 提供的圖表是非常容易理解的。nload 提供了有用的信息,也展示了諸如被傳輸數(shù)據(jù)的總量和最小/最大網(wǎng)絡(luò)速率等信息。

  而更酷的是你只需要直接運(yùn)行 nload 這個(gè)工具就行,這個(gè)命令是非常的短小且易記的:

  nload

  我很確信的是:我們關(guān)于如何使用 nload 的詳細(xì)教程將幫助到新的 Linux 用戶,甚至可以幫助那些正尋找關(guān)于 nload 信息的老手。

 ?。ㄗg注:關(guān)于 nload 的更新信息可以參考:https://linux.cn/article-5114-1.html )

  3) slurm

  slurm 是另一個(gè) Linux 網(wǎng)絡(luò)負(fù)載監(jiān)控工具,它以一個(gè)不錯(cuò)的 ASCII 圖來(lái)顯示結(jié)果,它還支持許多按鍵用以交互,例如 c 用來(lái)切換到經(jīng)典模式, s 切換到分圖模式, r 用來(lái)重繪屏幕, L 用來(lái)啟用 TX/RX 燈(注:TX,發(fā)送流量;RX,接收流量) ,m 用來(lái)在經(jīng)典分圖模式和大圖模式之間進(jìn)行切換, q 退出 slurm。

  微信截圖_20221123141036.png

  在網(wǎng)絡(luò)負(fù)載監(jiān)控工具 slurm 中,還有許多其它的按鍵可用,你可以很容易地使用下面的命令在 man 手冊(cè)中學(xué)習(xí)它們。

  man slurm

  slurm 在 Ubuntu 和 Debian 的官方軟件倉(cāng)庫(kù)中可以找到,所以使用這些發(fā)行版本的用戶可以像下面展示的那樣,使用 apt-get 安裝命令來(lái)輕松地下載它:

  sudo apt-get install slurm

  我們已經(jīng)在一個(gè)教程中對(duì) slurm 的使用做了介紹,不要忘記和其它使用 Linux 的朋友分享這些知識(shí)。

  4) iftop

  當(dāng)你想顯示連接到網(wǎng)卡上的各個(gè)主機(jī)的帶寬使用情況時(shí),iftop 是一個(gè)非常有用的工具。根據(jù) man 手冊(cè),iftop 在一個(gè)指定的接口或在它可以找到的第一個(gè)接口(假如沒(méi)有任何特殊情況,它應(yīng)該是一個(gè)對(duì)外的接口)上監(jiān)聽(tīng)網(wǎng)絡(luò)流量,并且展示出一個(gè)表格來(lái)顯示當(dāng)前的一對(duì)主機(jī)間的帶寬使用情況。

  通過(guò)在虛擬終端中使用下面的命令,Ubuntu 和 Debian 用戶可以在他們的機(jī)器中輕易地安裝 iftop:

  sudo apt-get install iftop

  在你的機(jī)器上,可以使用下面的命令通過(guò) yum 來(lái)安裝 iftop:

  yum -y install iftop

  (譯注:關(guān)于 nload 的更多信息請(qǐng)參考:https://linux.cn/article-1843-1.html )

  5) collectl

  collectl 可以被用來(lái)收集描述當(dāng)前系統(tǒng)狀態(tài)的數(shù)據(jù),并且它支持如下兩種模式:

  ●記錄模式

  ●回放模式

  記錄模式 允許從一個(gè)正在運(yùn)行的系統(tǒng)中讀取數(shù)據(jù),然后將這些數(shù)據(jù)要么顯示在終端中,要么寫(xiě)入一個(gè)或多個(gè)文件或一個(gè)套接字中。

  回放模式

  根據(jù) man 手冊(cè),在這種模式下,數(shù)據(jù)從一個(gè)或多個(gè)由記錄模式生成的數(shù)據(jù)文件中讀取。

  Ubuntu 和 Debian 用戶可以在他們的機(jī)器上使用他們默認(rèn)的包管理器來(lái)安裝 colletcl。下面的命令將為他們做這個(gè)工作:

  sudo apt-get install collectl

  還可以使用下面的命令來(lái)安裝 collectl, 因?yàn)閷?duì)于這些發(fā)行版本(注:這里指的是用 yum 作為包管理器的發(fā)行版本),在它們官方的軟件倉(cāng)庫(kù)中也含有 collectl:

  yum install collectl

  (譯注:關(guān)于 collectl 的更多信息請(qǐng)參考:https://linux.cn/article-3154-1.html )

  來(lái)源:http://linux.cn/article-5435-1.html

  6) Netstat

  Netstat 是一個(gè)用來(lái)監(jiān)控傳入和傳出的網(wǎng)絡(luò)數(shù)據(jù)包統(tǒng)計(jì)數(shù)據(jù)的接口統(tǒng)計(jì)數(shù)據(jù)命令行工具。它會(huì)顯示 TCP 連接 (包括上傳和下行),路由表,及一系列的網(wǎng)絡(luò)接口(網(wǎng)卡或者SDN接口)和網(wǎng)絡(luò)協(xié)議統(tǒng)計(jì)數(shù)據(jù)。

  Ubuntu 和 Debian 用戶可以在他們的機(jī)器上使用默認(rèn)的包管理器來(lái)安裝 netstat。Netsta 軟件被包括在 net-tools 軟件包中,并可以在 shell 或虛擬終端中運(yùn)行下面的命令來(lái)安裝它:

  sudo apt-get install net-tools

  CentOS, Fedora, RHEL 用戶可以在他們的機(jī)器上使用默認(rèn)的包管理器來(lái)安裝 netstat。Netstat 軟件被包括在 net-tools 軟件包中,并可以在 shell 或虛擬終端中運(yùn)行下面的命令來(lái)安裝它:

  yum install net-tools

  運(yùn)行下面的命令使用 Netstat 來(lái)輕松地監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包統(tǒng)計(jì)數(shù)據(jù):

  netstat

  微信截圖_20221123141141.png

  更多的關(guān)于 netstat 的信息,我們可以簡(jiǎn)單地在 shell 或終端中鍵入 man netstat 來(lái)了解:

  man netstat

  微信截圖_20221123141208.png

 ?。ㄗg注:關(guān)于 netstat 的更多信息請(qǐng)參考:https://linux.cn/article-2434-1.html )

  7) Netload

  netload 命令只展示一個(gè)關(guān)于當(dāng)前網(wǎng)絡(luò)荷載和自從程序運(yùn)行之后傳輸數(shù)據(jù)總的字節(jié)數(shù)目的簡(jiǎn)要報(bào)告,它沒(méi)有更多的功能。它是 netdiag 軟件的一部分。

  我們可以在 fedora 中使用 yum 來(lái)安裝 Netload,因?yàn)樗?fedora 的默認(rèn)軟件倉(cāng)庫(kù)中。但假如你運(yùn)行的是 CentOS 或 RHEL,則我們需要安裝 rpmforge 軟件倉(cāng)庫(kù)。

  # yum install netdiag

  Netload 是默認(rèn)倉(cāng)庫(kù)中 netdiag 的一部分,我們可以輕易地使用下面的命令來(lái)利用 apt 包管理器安裝 netdiag:

  $ sudo apt-get install netdiag

  為了運(yùn)行 netload,我們需要確保選擇了一個(gè)正在工作的網(wǎng)絡(luò)接口的名稱,如 eth0, eh1, wlan0, mon0等,然后在 shell 或虛擬終端中運(yùn)行下面的命令:

  $ netload wlan2

  注意:請(qǐng)將上面的 wlan2 替換為你想使用的網(wǎng)絡(luò)接口名稱,假如你想通過(guò)掃描了解你的網(wǎng)絡(luò)接口名稱,可以在一個(gè)虛擬終端或 shell 中運(yùn)行 ip link show 命令。

  8) Nagios

  Nagios 是一個(gè)領(lǐng)先且功能強(qiáng)大的開(kāi)源監(jiān)控系統(tǒng),它使得網(wǎng)絡(luò)或系統(tǒng)管理員可以在服務(wù)器的各種問(wèn)題影響到服務(wù)器的主要事務(wù)之前,發(fā)現(xiàn)并解決這些問(wèn)題。

  有了 Nagios 系統(tǒng),管理員便可以在一個(gè)單一的窗口中監(jiān)控遠(yuǎn)程的 Linux 、Windows 系統(tǒng)、交換機(jī)、路由器和打印機(jī)等。它會(huì)顯示出重要的警告并指出在你的網(wǎng)絡(luò)或服務(wù)器中是否出現(xiàn)某些故障,這可以間接地幫助你在問(wèn)題發(fā)生前就著手執(zhí)行補(bǔ)救行動(dòng)。

  Nagios 有一個(gè) web 界面,其中有一個(gè)圖形化的活動(dòng)監(jiān)視器。通過(guò)瀏覽網(wǎng)頁(yè) http://localhost/nagios/ 或 http://localhost/nagios3/ 便可以登錄到這個(gè) web 界面。假如你在遠(yuǎn)程的機(jī)器上進(jìn)行操作,請(qǐng)使用你的 IP 地址來(lái)替換 localhost,然后鍵入用戶名和密碼,我們便會(huì)看到如下圖所展示的信息:

  微信截圖_20221123141236.png

  (譯注:關(guān)于 Nagios 的更多信息請(qǐng)參考:https://linux.cn/article-2436-1.html )

  9) EtherApe

  EtherApe 是一個(gè)針對(duì) Unix 的圖形化網(wǎng)絡(luò)監(jiān)控工具,它仿照了 etherman 軟件。它支持鏈路層、IP 和 TCP 等模式,并支持以太網(wǎng), FDDI, 令牌環(huán), ISDN, PPP, SLIP 及 WLAN 設(shè)備等接口,以及一些封裝格式。主機(jī)和連接隨著流量和協(xié)議而改變其尺寸和顏色。它可以過(guò)濾要展示的流量,并可從一個(gè)文件或運(yùn)行的網(wǎng)絡(luò)中讀取數(shù)據(jù)包。

  在 CentOS、Fedora、RHEL 等 Linux 發(fā)行版本中安裝 etherape 是一件容易的事,因?yàn)樵谒鼈兊墓俜杰浖}(cāng)庫(kù)中就可以找到 etherape。我們可以像下面展示的命令那樣使用 yum 包管理器來(lái)安裝它:

  yum install etherape

  我們也可以使用下面的命令在 Ubuntu、Debian 及它們的衍生發(fā)行版本中使用 apt 包管理器來(lái)安裝 EtherApe :

  sudo apt-get install etherape

  在 EtherApe 安裝到你的系統(tǒng)之后,我們需要像下面那樣以 root 權(quán)限來(lái)運(yùn)行 etherape:

  sudo etherape

  然后, etherape 的 圖形用戶界面 便會(huì)被執(zhí)行。接著,在菜單上面的 捕捉 選項(xiàng)下,我們可以選擇 模式(IP,鏈路層,TCP) 和 接口。一切設(shè)定完畢后,我們需要點(diǎn)擊 開(kāi)始 按鈕。接著我們便會(huì)看到類似下面截圖的東西:

  微信截圖_20221123141254.png

  10) tcpflow

  tcpflow 是一個(gè)命令行工具,它可以捕捉 TCP 連接(流)的部分傳輸數(shù)據(jù),并以一種方便協(xié)議分析或除錯(cuò)的方式來(lái)存儲(chǔ)數(shù)據(jù)。它重構(gòu)了實(shí)際的數(shù)據(jù)流并將每個(gè)流存儲(chǔ)在不同的文件中,以備日后的分析。它能識(shí)別 TCP 序列號(hào)并可以正確地重構(gòu)數(shù)據(jù)流,不管是在重發(fā)還是亂序發(fā)送狀態(tài)下。

  通過(guò) apt 包管理器在 Ubuntu 、Debian 系統(tǒng)中安裝 tcpflow 是很容易的,因?yàn)槟J(rèn)情況下在官方軟件倉(cāng)庫(kù)中可以找到它。

  $ sudo apt-get install tcpflow

  我們可以使用下面的命令通過(guò) yum 包管理器在 Fedora 、CentOS 、RHEL 及它們的衍生發(fā)行版本中安裝 tcpflow:

  # yum install tcpflow

  假如在軟件倉(cāng)庫(kù)中沒(méi)有找到它或不能通過(guò) yum 包管理器來(lái)安裝它,則我們需要像下面展示的那樣從http://pkgs.repoforge.org/tcpflow/ 上手動(dòng)安裝它:

  假如你運(yùn)行 64 位的 PC:

  # yum install --nogpgcheck http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.x86_64.rpm

  假如你運(yùn)行 32 位的 PC:

  # yum install --nogpgcheck http://pkgs.repoforge.org/tcpflow/tcpflow-0.21-1.2.el6.rf.i686.rpm

  我們可以使用 tcpflow 來(lái)捕捉全部或部分 tcp 流量,并以一種簡(jiǎn)單的方式把它們寫(xiě)到一個(gè)可讀的文件中。下面的命令就可以完成這個(gè)事情,但我們需要在一個(gè)空目錄中運(yùn)行下面的命令,因?yàn)樗鼘?chuàng)建諸如 x.x.x.x.y-a.a.a.a.z 格式的文件,運(yùn)行之后,只需按 Ctrl-C 便可停止這個(gè)命令。

  $ sudo tcpflow -i eth0 port 8000

  注意:請(qǐng)將上面的 eth0 替換為你想捕捉的網(wǎng)卡接口名稱。

  來(lái)源:http://linux.cn/article-5435-1.html

  11) IPTraf

  IPTraf 是一個(gè)針對(duì) Linux 平臺(tái)的基于控制臺(tái)的網(wǎng)絡(luò)統(tǒng)計(jì)應(yīng)用。它生成一系列的圖形,如 TCP 連接的包/字節(jié)計(jì)數(shù)、接口信息和活動(dòng)指示器、 TCP/UDP 流量故障以及局域網(wǎng)內(nèi)設(shè)備的包/字節(jié)計(jì)數(shù)。

  在默認(rèn)的軟件倉(cāng)庫(kù)中可以找到 IPTraf,所以我們可以使用下面的命令通過(guò) apt 包管理器輕松地安裝 IPTraf:

  $ sudo apt-get install iptraf

  我們可以使用下面的命令通過(guò) yum 包管理器輕松地安裝 IPTraf:

  # yum install iptraf

  我們需要以管理員權(quán)限來(lái)運(yùn)行 IPTraf,并帶有一個(gè)有效的網(wǎng)絡(luò)接口名。這里,我們的網(wǎng)絡(luò)接口名為 wlan2,所以我們使用 wlan2 來(lái)作為參數(shù):

  $ sudo iptraf wlan2

  微信截圖_20221123141321.png

  開(kāi)始通常的網(wǎng)絡(luò)接口統(tǒng)計(jì),鍵入:

  # iptraf -g

  查看接口 eth0 的詳細(xì)統(tǒng)計(jì)信息,使用:

  # iptraf -d eth0

  查看接口 eth0 的 TCP 和 UDP 監(jiān)控信息,使用:

  # iptraf -z eth0

  查看接口 eth0 的包的大小和數(shù)目,使用:

  # iptraf -z eth0

  注意:請(qǐng)將上面的 eth0 替換為你的接口名稱。你可以通過(guò)運(yùn)行ip link show命令來(lái)檢查你的接口。

  (譯注:關(guān)于 iptraf 的更多詳細(xì)信息請(qǐng)參考:https://linux.cn/article-5430-1.html )

  12) Speedometer

  Speedometer 是一個(gè)小巧且簡(jiǎn)單的工具,它只用來(lái)繪出一幅包含有通過(guò)某個(gè)給定端口的上行、下行流量的好看的圖。

  在默認(rèn)的軟件倉(cāng)庫(kù)中可以找到 Speedometer ,所以我們可以使用下面的命令通過(guò) yum 包管理器輕松地安裝 Speedometer:

  # yum install speedometer

  我們可以使用下面的命令通過(guò) apt 包管理器輕松地安裝 Speedometer:

  $ sudo apt-get install speedometer

  Speedometer 可以簡(jiǎn)單地通過(guò)在 shell 或虛擬終端中執(zhí)行下面的命令來(lái)運(yùn)行:

  $ speedometer -r wlan2 -t wlan2

  微信截圖_20221123141346.png

  注:請(qǐng)將上面的 wlan2 替換為你想要使用的網(wǎng)絡(luò)接口名稱。

  13) Netwatch

  Netwatch 是 netdiag 工具集里的一部分,它也顯示當(dāng)前主機(jī)和其他遠(yuǎn)程主機(jī)的連接情況,以及在每個(gè)連接中數(shù)據(jù)傳輸?shù)乃俾省?/p>

  我們可以使用 yum 在 fedora 中安裝 Netwatch,因?yàn)樗?fedora 的默認(rèn)軟件倉(cāng)庫(kù)中。但若你運(yùn)行著 CentOS 或 RHEL , 我們需要安裝 rpmforge 軟件倉(cāng)庫(kù)。

  # yum install netwatch

  Netwatch 是 netdiag 的一部分,可以在默認(rèn)的軟件倉(cāng)庫(kù)中找到,所以我們可以輕松地使用下面的命令來(lái)利用 apt 包管理器安裝netdiag:

  $ sudo apt-get install netdiag

  為了運(yùn)行 netwatch, 我們需要在虛擬終端或 shell 中執(zhí)行下面的命令:

  $ sudo netwatch -e wlan2 -nt

  微信截圖_20221123141405.png

  注意:請(qǐng)將上面的 wlan2 替換為你想使用的網(wǎng)絡(luò)接口名稱,假如你想通過(guò)掃描了解你的網(wǎng)絡(luò)接口名稱,可以在一個(gè)虛擬終端或 shell 中運(yùn)行 ip link show 命令。

  14) Trafshow

  Trafshow 同 netwatch 和 pktstat 一樣,可以報(bào)告當(dāng)前活動(dòng)的連接里使用的協(xié)議和每個(gè)連接中數(shù)據(jù)傳輸?shù)乃俾省K梢允褂?pcap 類型的過(guò)濾器來(lái)篩選出特定的連接。

  我們可以使用 yum 在 fedora 中安裝 trafshow ,因?yàn)樗?fedora 的默認(rèn)軟件倉(cāng)庫(kù)中。但若你正運(yùn)行著 CentOS 或 RHEL , 我們需要安裝 rpmforge 軟件倉(cāng)庫(kù)。

  # yum install trafshow

  Trafshow 在默認(rèn)倉(cāng)庫(kù)中可以找到,所以我們可以輕松地使用下面的命令來(lái)利用 apt 包管理器安裝它:

  $ sudo apt-get install trafshow

  為了使用 trafshow 來(lái)執(zhí)行監(jiān)控任務(wù),我們需要在虛擬終端或 shell 中執(zhí)行下面的命令:

  $ sudo trafshow -i wlan2

 微信截圖_20221123141424.png

  為了專門(mén)監(jiān)控 tcp 連接,如下面一樣添加上 tcp 參數(shù):

  $ sudo trafshow -i wlan2 tcp

  微信截圖_20221123141937.png

  注意:請(qǐng)將上面的 wlan2 替換為你想使用的網(wǎng)絡(luò)接口名稱,假如你想通過(guò)掃描了解你的網(wǎng)絡(luò)接口名稱,可以在一個(gè)虛擬終端或 shell 中運(yùn)行 ip link show 命令。

  15) Vnstat

  與大多數(shù)的其他工具相比,Vnstat 有一點(diǎn)不同。實(shí)際上它運(yùn)行著一個(gè)后臺(tái)服務(wù)或守護(hù)進(jìn)程,并時(shí)刻記錄著傳輸數(shù)據(jù)的大小。另外,它可以被用來(lái)生成一個(gè)網(wǎng)絡(luò)使用歷史記錄的報(bào)告。

  我們需要開(kāi)啟 EPEL 軟件倉(cāng)庫(kù),然后運(yùn)行 yum 包管理器來(lái)安裝 vnstat。

  # yum install vnstat

  Vnstat 在默認(rèn)軟件倉(cāng)庫(kù)中可以找到,所以我們可以使用下面的命令運(yùn)行 apt 包管理器來(lái)安裝它:

  $ sudo apt-get install vnstat

  不帶有任何選項(xiàng)運(yùn)行 vnstat 將簡(jiǎn)單地展示出從該守護(hù)進(jìn)程運(yùn)行后數(shù)據(jù)傳輸?shù)目偭俊?/p>

  $ vnstat

  微信截圖_20221123142000.png

  為了實(shí)時(shí)地監(jiān)控帶寬使用情況,使用 ‘-l’ 選項(xiàng)(live 模式)。然后它將以一種非常精確的方式來(lái)展示上行和下行數(shù)據(jù)所使用的帶寬總量,但不會(huì)顯示任何有關(guān)主機(jī)連接或進(jìn)程的內(nèi)部細(xì)節(jié)。

  $ vnstat -l

  微信截圖_20221123142017.png

  完成了上面的步驟后,按 Ctrl-C 來(lái)停止,這將會(huì)得到如下類型的輸出:

  微信截圖_20221123142033.png

  來(lái)源:http://linux.cn/article-5435-1.html

  16) tcptrack

  tcptrack 可以展示 TCP 連接的狀態(tài),它在一個(gè)給定的網(wǎng)絡(luò)端口上進(jìn)行監(jiān)聽(tīng)。tcptrack 監(jiān)控它們的狀態(tài)并展示出排序且不斷更新的列表,包括來(lái)源/目標(biāo)地址、帶寬使用情況等信息,這與 top 命令的輸出非常類似 。

  鑒于 tcptrack 在軟件倉(cāng)庫(kù)中,我們可以輕松地在 Debian、Ubuntu 系統(tǒng)中從軟件倉(cāng)庫(kù)使用 apt 包管理器來(lái)安裝 tcptrack。為此,我們需要在 shell 或虛擬終端中執(zhí)行下面的命令:

  $ sudo apt-get install tcptrack

  我們可以通過(guò) yum 在 fedora 中安裝它,因?yàn)樗?fedora 的默認(rèn)軟件倉(cāng)庫(kù)中。但若你運(yùn)行著 CentOS 或 RHEL 系統(tǒng),我們需要安裝rpmforge 軟件倉(cāng)庫(kù)。為此,我們需要運(yùn)行下面的命令:

   # wget http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

  # rpm -Uvh rpmforge-release*rpm

  # yum install tcptrack

  注:這里我們下載了 rpmforge-release 的當(dāng)前最新版本,即 0.5.3-1,你總是可以從 rpmforge 軟件倉(cāng)庫(kù)中下載其最新版本,并請(qǐng)?jiān)谏厦娴拿钪刑鎿Q為你下載的版本。

  tcptrack 需要以 root 權(quán)限或超級(jí)用戶身份來(lái)運(yùn)行。執(zhí)行 tcptrack 時(shí),我們需要帶上要監(jiān)視的網(wǎng)絡(luò)接口 TCP 連接狀況的接口名稱。這里我們的接口名稱為 wlan2,所以如下面這樣使用:

  sudo tcptrack -i wlan2

  微信截圖_20221123142109.png

  假如你想監(jiān)控特定的端口,則使用:

  # tcptrack -i wlan2 port 80

  微信截圖_20221123142139.png

  請(qǐng)?zhí)鎿Q上面的 80 為你想要監(jiān)控的端口號(hào)。注意:請(qǐng)將上面的 wlan2 替換為你想使用的網(wǎng)絡(luò)接口名稱,假如你想通過(guò)掃描了解你的網(wǎng)絡(luò)接口名稱,可以在一個(gè)虛擬終端或 shell 中運(yùn)行 ip link show 命令。

  17) CBM

  CBM ( Color Bandwidth Meter) 可以展示出當(dāng)前所有網(wǎng)絡(luò)設(shè)備的流量使用情況。這個(gè)程序是如此的簡(jiǎn)單,以至于都可以從它的名稱中看出其功能。CBM 的源代碼和新版本可以在 http://www.isotton.com/utils/cbm/ 上找到。

  鑒于 CBM 已經(jīng)包含在軟件倉(cāng)庫(kù)中,我們可以簡(jiǎn)單地使用 apt 包管理器從 Debian、Ubuntu 的軟件倉(cāng)庫(kù)中安裝 CBM。為此,我們需要在一個(gè) shell 窗口或虛擬終端中運(yùn)行下面的命令:

  $ sudo apt-get install cbm

  我們只需使用下面展示的命令來(lái)在 shell 窗口或虛擬終端中運(yùn)行 cbm:

  $ cbm

  微信截圖_20221123142159.png

  18) bmon

  Bmon ( Bandwidth Monitoring) ,是一個(gè)用于調(diào)試和實(shí)時(shí)監(jiān)控帶寬的工具。這個(gè)工具能夠檢索各種輸入模塊的統(tǒng)計(jì)數(shù)據(jù)。它提供了多種輸出方式,包括一個(gè)基于 curses 庫(kù)的界面,輕量級(jí)的HTML輸出,以及 ASCII 輸出格式。

  bmon 可以在軟件倉(cāng)庫(kù)中找到,所以我們可以通過(guò)使用 apt 包管理器來(lái)在 Debian、Ubuntu 中安裝它。為此,我們需要在一個(gè) shell 窗口或虛擬終端中運(yùn)行下面的命令:

  $ sudo apt-get install bmon

  我們可以使用下面的命令來(lái)運(yùn)行 bmon 以監(jiān)視我們的網(wǎng)絡(luò)狀態(tài):

  $ bmon

  微信截圖_20221123142229.png

  19) tcpdump

  TCPDump 是一個(gè)用于網(wǎng)絡(luò)監(jiān)控和數(shù)據(jù)獲取的工具。它可以為我們節(jié)省很多的時(shí)間,并可用來(lái)調(diào)試網(wǎng)絡(luò)或服務(wù)器的相關(guān)問(wèn)題。它可以打印出在某個(gè)網(wǎng)絡(luò)接口上與布爾表達(dá)式相匹配的數(shù)據(jù)包所包含的內(nèi)容的一個(gè)描述。

  tcpdump 可以在 Debian、Ubuntu 的默認(rèn)軟件倉(cāng)庫(kù)中找到,我們可以簡(jiǎn)單地以 sudo 權(quán)限使用 apt 包管理器來(lái)安裝它。為此,我們需要在一個(gè) shell 窗口或虛擬終端中運(yùn)行下面的命令:

  $ sudo apt -get install tcpdump

  tcpdump 也可以在 Fedora、CentOS、RHEL 的軟件倉(cāng)庫(kù)中找到。我們可以像下面一樣通過(guò) yum 包管理器來(lái)安裝它:

  # yum install tcpdump

  tcpdump 需要以 root 權(quán)限或超級(jí)用戶來(lái)運(yùn)行,我們需要帶上我們想要監(jiān)控的 TCP 連接的網(wǎng)絡(luò)接口名稱來(lái)執(zhí)行 tcpdump 。在這里,我們有 wlan2 這個(gè)網(wǎng)絡(luò)接口,所以可以像下面這樣使用:

  $ sudo tcpdump -i wlan2

  微信截圖_20221123142253.png

  假如你只想監(jiān)視一個(gè)特定的端口,則可以運(yùn)行下面的命令。下面是一個(gè)針對(duì) 80 端口(網(wǎng)絡(luò)服務(wù)器)的例子:

  $ sudo tcpdump -i wlan2 'port 80'

  微信截圖_20221123142310.png

  20) ntopng

  ntopng 是 ntop 的下一代版本。它是一個(gè)用于展示網(wǎng)絡(luò)使用情況的網(wǎng)絡(luò)探頭,在一定程度上它與 top 針對(duì)進(jìn)程所做的工作類似。ntopng 基于 libpcap 并且它以可移植的方式被重寫(xiě),以達(dá)到可以在每一個(gè) Unix 平臺(tái) 、 MacOSX 以及 Win32 上運(yùn)行的目的。

  為了在 Debian,Ubuntu 系統(tǒng)上安裝 ntopng,首先我們需要安裝 編譯 ntopng 所需的依賴軟件包。你可以通過(guò)在一個(gè) shell 窗口或一個(gè)虛擬終端中運(yùn)行下面的命令來(lái)安裝它們:

  $ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev build-essential checkinstall

  現(xiàn)在,我們需要像下面一樣針對(duì)我們的系統(tǒng)手動(dòng)編譯 ntopng :

  $ sudo wget http://sourceforge.net/projects/ntop/files/ntopng/ntopng-1.1_6932.tgz/download

  $ sudo tar zxfv ntopng-1.1_6932.tgz

  $ sudo cd ntopng-1.1_6932

  $ sudo ./configure

  $ sudo make

  $ sudo make install

  這樣,在你的 Debian 或 Ubuntu 系統(tǒng)上應(yīng)該已經(jīng)安裝上了你編譯的 ntopng 。

  我們已經(jīng)有了有關(guān) ntopng 的使用方法的教程,它既可以在命令行也可以在 Web 界面中使用,我們可以前往這些教程來(lái)獲得有關(guān) ntopng 的知識(shí)。

  結(jié)論

  在這篇文章中,我們介紹了一些在 Linux 下的網(wǎng)絡(luò)負(fù)載監(jiān)控工具,這對(duì)于系統(tǒng)管理員甚至是新手來(lái)說(shuō),都是很有幫助的。在這篇文章中介紹的每一個(gè)工具都具有其特點(diǎn),不同的選項(xiàng)等,但最終它們都可以幫助你來(lái)監(jiān)控你的網(wǎng)絡(luò)流量。

 更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<

微信圖片_20210517164139.jpg

微信圖片_20220701092006.jpg

電子技術(shù)應(yīng)用專欄作家:一口linux

原文鏈接:https://mp.weixin.qq.com/s/OvZojpSMAejFdW36E03FXQ

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。