0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

18個(gè)用來(lái)監(jiān)控網(wǎng)絡(luò)使用情況的Linux命令行工具

開(kāi)關(guān)電源芯片 ? 來(lái)源:51CTO ? 作者:Return Home綠色冰點(diǎn) ? 2021-08-23 09:56 ? 次閱讀

導(dǎo)讀本文介紹了一些可以用來(lái)監(jiān)控網(wǎng)絡(luò)使用情況的Linux命令行工具。這些工具可以監(jiān)控通過(guò)網(wǎng)絡(luò)接口傳輸?shù)臄?shù)據(jù),并測(cè)量目前哪些數(shù)據(jù)所傳輸?shù)乃俣?。入站流量和出站流量分開(kāi)來(lái)顯示。

一些命令可以顯示單個(gè)進(jìn)程所使用的帶寬。這樣一來(lái),用戶很容易發(fā)現(xiàn)過(guò)度使用網(wǎng)絡(luò)帶寬的某個(gè)進(jìn)程。

這些工具使用不同的機(jī)制來(lái)制作流量報(bào)告。nload等一些工具可以讀取“proc/net/dev”文件,以獲得流量統(tǒng)計(jì)信息;而一些工具使用pcap庫(kù)來(lái)捕獲所有數(shù)據(jù)包,然后計(jì)算總數(shù)據(jù)量,從而估計(jì)流量負(fù)載。

下面是按功能劃分的命令名稱。

監(jiān)控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload

監(jiān)控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl

每個(gè)套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow

每個(gè)進(jìn)程的帶寬使用――nethogs

1、nload

nload是一個(gè)命令行工具,讓用戶可以分開(kāi)來(lái)監(jiān)控入站流量和出站流量。它還可以繪制圖表以顯示入站流量和出站流量,視圖比例可以調(diào)整。用起來(lái)很簡(jiǎn)單,不支持許多選項(xiàng)。

所以,如果你只需要快速查看總帶寬使用情況,無(wú)需每個(gè)進(jìn)程的詳細(xì)情況,那么nload用起來(lái)很方便。

安裝nload:Fedora和Ubuntu在默認(rèn)軟件庫(kù)里面就有nload。CentOS用戶則需要從Epel軟件庫(kù)獲得nload。

4f090c2c-02f7-11ec-9bcf-12bb97331649.jpg

2、iftopiftop可測(cè)量通過(guò)每一個(gè)套接字連接傳輸?shù)臄?shù)據(jù);它采用的工作方式有別于nload。iftop使用pcap庫(kù)來(lái)捕獲進(jìn)出網(wǎng)絡(luò)適配器的數(shù)據(jù)包,然后匯總數(shù)據(jù)包大小和數(shù)量,搞清楚總的帶寬使用情況。

雖然iftop報(bào)告每個(gè)連接所使用的帶寬,但它無(wú)法報(bào)告參與某個(gè)套按字連接的進(jìn)程名稱/編號(hào)(ID)。不過(guò)由于基于pcap庫(kù),iftop能夠過(guò)濾流量,并報(bào)告由過(guò)濾器指定的所選定主機(jī)連接的帶寬使用情況。

n選項(xiàng)可以防止iftop將IP地址解析成主機(jī)名,解析本身就會(huì)帶來(lái)額外的網(wǎng)絡(luò)流量。

安裝iftop:Ubuntu/Debian/Fedora用戶可以從默認(rèn)軟件庫(kù)獲得它。CentOS用戶可以從Epel獲得它。

4f2cff6a-02f7-11ec-9bcf-12bb97331649.jpg

3、iptrafiptraf是一款交互式、色彩鮮艷的IP局域網(wǎng)監(jiān)控工具。它可以顯示每個(gè)連接以及主機(jī)之間傳輸?shù)臄?shù)據(jù)量。下面是屏幕截圖。

安裝iptraf:

4f527a9c-02f7-11ec-9bcf-12bb97331649.jpg

4、nethogsnethogs是一款小巧的“net top”工具,可以顯示每個(gè)進(jìn)程所使用的帶寬,并對(duì)列表排序,將耗用帶寬最多的進(jìn)程排在最上面。萬(wàn)一出現(xiàn)帶寬使用突然激增的情況,用戶迅速打開(kāi)nethogs,就可以找到導(dǎo)致帶寬使用激增的進(jìn)程。nethogs可以報(bào)告程序的進(jìn)程編號(hào)(PID)、用戶和路徑。

安裝nethogs:Ubuntu、Debian和Fedora用戶可以從默認(rèn)軟件庫(kù)獲得。CentOS用戶則需要Epel。

4f8f31a8-02f7-11ec-9bcf-12bb97331649.jpg

5. bmonbmon(帶寬監(jiān)控器)是一款類似nload的工具,它可以顯示系統(tǒng)上所有網(wǎng)絡(luò)接口的流量負(fù)載。輸出結(jié)果還含有圖表和剖面,附有數(shù)據(jù)包層面的詳細(xì)信息。

安裝bmon:Ubuntu、Debian和Fedora用戶可以從默認(rèn)軟件庫(kù)來(lái)安裝。CentOS用戶則需要安裝repoforge,因?yàn)镋pel里面沒(méi)有bmon。

6. slurmslurm是另一款網(wǎng)絡(luò)負(fù)載監(jiān)控器,可以顯示設(shè)備的統(tǒng)計(jì)信息,還能顯示ASCII圖形。它支持三種不同類型的圖形,使用c鍵、s鍵和l鍵即可激活每種圖形。slurm功能簡(jiǎn)單,無(wú)法顯示關(guān)于網(wǎng)絡(luò)負(fù)載的任何更進(jìn)一步的詳細(xì)信息。

安裝slurm

502d1ab2-02f7-11ec-9bcf-12bb97331649.jpg

7. tcptracktcptrack類似iftop,使用pcap庫(kù)來(lái)捕獲數(shù)據(jù)包,并計(jì)算各種統(tǒng)計(jì)信息,比如每個(gè)連接所使用的帶寬。它還支持標(biāo)準(zhǔn)的pcap過(guò)濾器,這些過(guò)濾器可用來(lái)監(jiān)控特定的連接。

安裝tcptrack:Ubuntu、Debian和Fedora在默認(rèn)軟件庫(kù)里面就有它。CentOS用戶則需要從RepoForge獲得它,因?yàn)镋pel里面沒(méi)有它。

504ad3e0-02f7-11ec-9bcf-12bb97331649.jpg

8. vnstatvnstat與另外大多數(shù)工具有點(diǎn)不一樣。它實(shí)際上運(yùn)行后臺(tái)服務(wù)/守護(hù)進(jìn)程,始終不停地記錄所傳輸數(shù)據(jù)的大小。之外,它可以用來(lái)制作顯示網(wǎng)絡(luò)使用歷史情況的報(bào)告

5055f18a-02f7-11ec-9bcf-12bb97331649.jpg

運(yùn)行沒(méi)有任何選項(xiàng)的vnstat,只會(huì)顯示自守護(hù)進(jìn)程運(yùn)行以來(lái)所傳輸?shù)臄?shù)據(jù)總量。

50653e60-02f7-11ec-9bcf-12bb97331649.jpg

想實(shí)時(shí)監(jiān)控帶寬使用情況,請(qǐng)使用“-l”選項(xiàng)(實(shí)時(shí)模式)。然后,它會(huì)顯示入站數(shù)據(jù)和出站數(shù)據(jù)所使用的總帶寬量,但非常精確地顯示,沒(méi)有關(guān)于主機(jī)連接或進(jìn)程的任何內(nèi)部詳細(xì)信息。

50b23684-02f7-11ec-9bcf-12bb97331649.jpg

vnstat更像是一款制作歷史報(bào)告的工具,顯示每天或過(guò)去一個(gè)月使用了多少帶寬。它并不是嚴(yán)格意義上的實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)的工具。

vnstat支持許多選項(xiàng),支持哪些選項(xiàng)方面的詳細(xì)信息請(qǐng)參閱參考手冊(cè)頁(yè)。

安裝vnstat

50be0e6e-02f7-11ec-9bcf-12bb97331649.jpg

9. bwm-ngbwm-ng(下一代帶寬監(jiān)控器)是另一款非常簡(jiǎn)單的實(shí)時(shí)網(wǎng)絡(luò)負(fù)載監(jiān)控工具,可以報(bào)告摘要信息,顯示進(jìn)出系統(tǒng)上所有可用網(wǎng)絡(luò)接口的不同數(shù)據(jù)的傳輸速度。

50cd2b2e-02f7-11ec-9bcf-12bb97331649.jpg

如果控制臺(tái)足夠大,bwm-ng還能使用curses2輸出模式,為流量繪制條形圖。

安裝bwm-ng:在CentOS上,可以從Epel來(lái)安裝bwm-ng。

10. cbm:Color Bandwidth Meter

這是一款小巧簡(jiǎn)單的帶寬監(jiān)控工具,可以顯示通過(guò)諸網(wǎng)絡(luò)接口的流量大小。沒(méi)有進(jìn)一步的選項(xiàng),僅僅實(shí)時(shí)顯示和更新流量的統(tǒng)計(jì)信息。

11. speedometer這是另一款小巧而簡(jiǎn)單的工具,僅僅繪制外觀漂亮的圖形,顯示通過(guò)某個(gè)接口傳輸?shù)娜胝玖髁亢统稣玖髁俊?/p>

安裝speedometer

5108206c-02f7-11ec-9bcf-12bb97331649.jpg

12. pktstat

pktstat可以實(shí)時(shí)顯示所有活動(dòng)連接,并顯示哪些數(shù)據(jù)通過(guò)這些活動(dòng)連接傳輸?shù)乃俣?。它還可以顯示連接類型,比如TCP連接或UDP連接;如果涉及HTTP連接,還會(huì)顯示關(guān)于HTTP請(qǐng)求的詳細(xì)信息。

516fa4f8-02f7-11ec-9bcf-12bb97331649.jpg

13. netwatch

netwatch是netdiag工具庫(kù)的一部分,它也可以顯示本地主機(jī)與其他遠(yuǎn)程主機(jī)之間的連接,并顯示哪些數(shù)據(jù)在每個(gè)連接上所傳輸?shù)乃俣取?/p>

14. trafshow與netwatch和pktstat一樣,trafshow也可以報(bào)告當(dāng)前活動(dòng)連接、它們使用的協(xié)議以及每條連接上的數(shù)據(jù)傳輸速度。它能使用pcap類型過(guò)濾器,對(duì)連接進(jìn)行過(guò)濾。

只監(jiān)控TCP連接

51b9b7c8-02f7-11ec-9bcf-12bb97331649.jpg

15. netloadnetload命令只顯示關(guān)于當(dāng)前流量負(fù)載的一份簡(jiǎn)短報(bào)告,并顯示自程序啟動(dòng)以來(lái)所傳輸?shù)目傋止?jié)量。沒(méi)有更多的功能特性。它是netdiag的一部分。

16. ifstatifstat能夠以批處理式模式顯示網(wǎng)絡(luò)帶寬。輸出采用的一種格式便于用戶使用其他程序或?qū)嵱霉ぞ邅?lái)記入日志和分析。

安裝ifstat:Ubuntu、Debian和Fedora用戶在默認(rèn)軟件庫(kù)里面就有它。CentOS用戶則需要從Repoforge獲得它,因?yàn)镋pel里面沒(méi)有它。

51daa58c-02f7-11ec-9bcf-12bb97331649.jpg

17. dstatdstat是一款用途廣泛的工具(用python語(yǔ)言編寫(xiě)),它可以監(jiān)控系統(tǒng)的不同統(tǒng)計(jì)信息,并使用批處理模式來(lái)報(bào)告,或者將相關(guān)數(shù)據(jù)記入到CSV或類似的文件。這個(gè)例子顯示了如何使用dstat來(lái)報(bào)告網(wǎng)絡(luò)帶寬。

安裝dstat

51e4745e-02f7-11ec-9bcf-12bb97331649.jpg

18. collectlcollectl以一種類似dstat的格式報(bào)告系統(tǒng)的統(tǒng)計(jì)信息;與dstat一樣,它也收集關(guān)于系統(tǒng)不同資源(如處理器、內(nèi)存和網(wǎng)絡(luò)等)的統(tǒng)計(jì)信息。這里給出的一個(gè)簡(jiǎn)單例子顯示了如何使用collectl來(lái)報(bào)告網(wǎng)絡(luò)使用/帶寬。

51f2fe0c-02f7-11ec-9bcf-12bb97331649.jpg

結(jié)束語(yǔ):上述幾個(gè)使用方便的命令可以迅速檢查L(zhǎng)inux服務(wù)器上的網(wǎng)絡(luò)帶寬使用情況。不過(guò),這些命令需要用戶通過(guò)SSH登錄到遠(yuǎn)程服務(wù)器。另外,基于Web的監(jiān)控工具也可以用來(lái)實(shí)現(xiàn)同樣的任務(wù)。

ntop和darkstat是面向Linux系統(tǒng)的其中兩個(gè)基本的基于Web的網(wǎng)絡(luò)監(jiān)控工具。除此之外還有企業(yè)級(jí)監(jiān)控工具,比如nagios,它們提供了一批功能特性,不僅僅可以監(jiān)控服務(wù)器,還能監(jiān)控整個(gè)基礎(chǔ)設(shè)施。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11212

    瀏覽量

    208722
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4707

    瀏覽量

    87091
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7486

    瀏覽量

    88544

原文標(biāo)題:18 個(gè)工具分析 Linux 系統(tǒng)占用網(wǎng)絡(luò)帶寬大的程序!

文章出處:【微信號(hào):gh_3980db2283cd,微信公眾號(hào):開(kāi)關(guān)電源芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HarmonyOS開(kāi)發(fā):【基于命令行(安裝庫(kù)和工具集)】

    使用命令行進(jìn)行設(shè)備開(kāi)發(fā)時(shí),可以通過(guò)以下步驟安裝編譯OpenHarmony需要的庫(kù)和工具
    的頭像 發(fā)表于 04-25 21:03 ?357次閱讀
    HarmonyOS開(kāi)發(fā):【基于<b class='flag-5'>命令行</b>(安裝庫(kù)和<b class='flag-5'>工具</b>集)】

    香港vps的centos如何切換命令行和桌面?

    要在CentOS上切換命令行和桌面環(huán)境,您可以通過(guò)以下步驟進(jìn)行: 1、安裝桌面環(huán)境:如果您的CentOS VPS上還沒(méi)有安裝圖形桌面環(huán)境,您需要安裝一個(gè)。一般來(lái)說(shuō),常用的桌面環(huán)境有GNOME、KDE
    的頭像 發(fā)表于 04-10 17:41 ?553次閱讀

    Linux上如何通過(guò)命令行來(lái)更改日期和時(shí)間?

    Linux上如何通過(guò)命令行來(lái)更改日期和時(shí)間? 在Linux上,我們可以使用命令行工具來(lái)更改日期和時(shí)間。操作系統(tǒng)中有一
    的頭像 發(fā)表于 01-16 17:10 ?2702次閱讀

    idea如何輸入命令行參數(shù)

    在許多軟件開(kāi)發(fā)和系統(tǒng)管理的任務(wù)中,我們經(jīng)常需要向應(yīng)用程序傳遞命令行參數(shù)。命令行參數(shù)是在運(yùn)行時(shí)傳遞給程序的值,用于指定程序的行為和配置選項(xiàng)。本文將詳細(xì)介紹如何在不同的編程語(yǔ)言和操作系統(tǒng)中輸入命令行參數(shù)
    的頭像 發(fā)表于 12-06 15:01 ?1036次閱讀

    eclipse怎么使用命令行

    。JDK是運(yùn)行Java程序所必需的環(huán)境,而Eclipse則是一個(gè)基于Java開(kāi)發(fā)的IDE。在確保安裝完畢后,我們可以通過(guò)以下步驟來(lái)在命令行
    的頭像 發(fā)表于 12-06 11:26 ?2351次閱讀

    Uboot啟動(dòng)延時(shí)和讀取命令行輸入

    就會(huì)中斷等待,進(jìn)入命令行輸入模式。 如果沒(méi)有配置啟動(dòng)延時(shí)功能或者啟動(dòng)延時(shí)超過(guò)了設(shè)置的時(shí)間, U-Boot 運(yùn)行啟動(dòng)命令行參數(shù),啟動(dòng)命令參數(shù)在頂層配置文件中,由 CONFIG_BOOTCOMMAND 宏定義。 2.讀取
    的頭像 發(fā)表于 12-04 17:16 ?1415次閱讀

    pycharm命令行終端運(yùn)行代碼

    Python是一種非常流行的編程語(yǔ)言,許多開(kāi)發(fā)者使用它來(lái)編寫(xiě)各種應(yīng)用程序和腳本。為了方便開(kāi)發(fā)者編寫(xiě)和測(cè)試代碼,PyCharm是一種集成開(kāi)發(fā)環(huán)境(IDE),它提供了許多功能和工具,其中包括命令行終端
    的頭像 發(fā)表于 11-22 11:20 ?4428次閱讀

    linux中top命令詳解

    Linux系統(tǒng)中的top命令是一個(gè)非常強(qiáng)大和常用的命令,用于實(shí)時(shí)監(jiān)控和管理系統(tǒng)的運(yùn)行狀態(tài)。它能夠顯示系統(tǒng)的整體性能數(shù)據(jù),以及各個(gè)進(jìn)程的資源占
    的頭像 發(fā)表于 11-17 10:25 ?1978次閱讀

    總結(jié)linux命令行的主要用法

    Linux命令行是一種在Linux操作系統(tǒng)中通過(guò)文本界面來(lái)執(zhí)行指令和管理系統(tǒng)的方式。它提供了豐富的功能和靈活性,幫助用戶完成各種任務(wù)。本文將詳細(xì)介紹Linux
    的頭像 發(fā)表于 11-17 10:19 ?599次閱讀

    linux命令行運(yùn)行步驟

    現(xiàn)光標(biāo)右邊出現(xiàn)了一個(gè)類似于“ ”或“#”的字符,這就是命令行提示符。在大多數(shù)Linux發(fā)行版中,普通用戶的提示符是“ ”,而管理員或root用戶的提示符是“#”。 查找可用的命令
    的頭像 發(fā)表于 11-17 10:18 ?735次閱讀

    linux虛擬機(jī)命令行界面如何操作

    Linux虛擬機(jī)是一種運(yùn)行在虛擬化環(huán)境下的操作系統(tǒng),與物理機(jī)器相似,它也有一個(gè)命令行界面,也稱為終端或控制臺(tái)。通過(guò)命令行界面,您可以使用命令
    的頭像 發(fā)表于 11-17 09:57 ?1627次閱讀

    linux虛擬機(jī)怎么調(diào)出命令行

    Linux虛擬機(jī)是一種模擬運(yùn)行Linux操作系統(tǒng)的虛擬環(huán)境,它可以在Windows、Mac、Linux等主機(jī)系統(tǒng)上運(yùn)行。在Linux虛擬機(jī)中,你可以通過(guò)終端或
    的頭像 發(fā)表于 11-17 09:55 ?3615次閱讀

    linux查看端口占用情況

    摘要:本文將詳細(xì)介紹在Linux操作系統(tǒng)下如何查看端口占用情況。我們將會(huì)講解如何使用命令行工具以及圖形界面工具來(lái)查看端口占
    的頭像 發(fā)表于 11-17 09:39 ?1414次閱讀

    linux切換到命令行模式

    Linux中,可以通過(guò)以下步驟切換到命令行模式: 打開(kāi)終端??梢栽趹?yīng)用菜單中找到終端或命令行終端。 在終端中輸入命令“exit”或“l(fā)ogout”,然后按回車鍵。 系統(tǒng)會(huì)提示您輸入管
    的頭像 發(fā)表于 11-13 16:47 ?1693次閱讀

    查看Linux系統(tǒng)內(nèi)存使用情況的幾種方法

    Linux系統(tǒng)中,內(nèi)存監(jiān)控是優(yōu)化系統(tǒng)性能的關(guān)鍵。本文為你介紹12種方法,幫助你全面掌握Linux系統(tǒng)的內(nèi)存使用情況。這些方法包括查看/proc/meminfo、使用atop、free
    的頭像 發(fā)表于 11-13 09:30 ?1.3w次閱讀
    查看<b class='flag-5'>Linux</b>系統(tǒng)內(nèi)存<b class='flag-5'>使用情況</b>的幾種方法