一大波你可能不知道的 Linux 網(wǎng)絡(luò)工具
2022-11-23
作者: 電子技術(shù)應(yīng)用專欄作家 一口Linux
來(lái)源: 電子技術(shù)應(yīng)用專欄作家 一口Linux
如果要在你的系統(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)完成。
正如你在上面的截圖中所看到的那樣,由 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。
在網(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
更多的關(guān)于 netstat 的信息,我們可以簡(jiǎn)單地在 shell 或終端中鍵入 man netstat 來(lái)了解:
man netstat
?。ㄗ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ì)看到如下圖所展示的信息:
(譯注:關(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ì)看到類似下面截圖的東西:
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
開(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
注:請(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
注意:請(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
為了專門(mén)監(jiān)控 tcp 連接,如下面一樣添加上 tcp 參數(shù):
$ sudo trafshow -i wlan2 tcp
注意:請(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
為了實(shí)時(shí)地監(jiān)控帶寬使用情況,使用 ‘-l’ 選項(xiàng)(live 模式)。然后它將以一種非常精確的方式來(lái)展示上行和下行數(shù)據(jù)所使用的帶寬總量,但不會(huì)顯示任何有關(guān)主機(jī)連接或進(jìn)程的內(nèi)部細(xì)節(jié)。
$ vnstat -l
完成了上面的步驟后,按 Ctrl-C 來(lái)停止,這將會(huì)得到如下類型的輸出:
來(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
假如你想監(jiān)控特定的端口,則使用:
# tcptrack -i wlan2 port 80
請(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
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
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
假如你只想監(jiān)視一個(gè)特定的端口,則可以運(yùn)行下面的命令。下面是一個(gè)針對(duì) 80 端口(網(wǎng)絡(luò)服務(wù)器)的例子:
$ sudo tcpdump -i wlan2 'port 80'
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<<
電子技術(shù)應(yīng)用專欄作家:一口linux
原文鏈接:https://mp.weixin.qq.com/s/OvZojpSMAejFdW36E03FXQ