Linux查看網絡流量


Linux查看網絡流量

作為一個非職業運維,不時需要查看Linux服務器上的網絡流量狀況。本文介紹幾個常用的Linux查看網絡流量命令,並簡要介紹其用法。部分命令系統已經內置,某些命令則需要從軟件倉庫或者自行編譯安裝,本文以CentOS系統為例介紹軟件安裝方法。

查看總流量

ip

ip 命令來自 iproute2util 包,是查看、配置網絡/路由的工具。作為 ifconfig 的替代品,ip 命令功能更強大,用法更語義化。

ip命令在大多數系統上都已經默認安裝,也可通過 yum install -y iproute 安裝。ip 的 "-s -h" 參數查看各網卡的總流量,下圖是 ip -s -h link 的輸出結果:

 

ip命令輸出結果

 

nload

nload 命令可以查看各個網絡設備的當前網絡速率,也會展示流經設備的總流量。

nload 來自EPEL軟件庫,CentOS安裝命令為:yum install -y epel-release && yum install -y nload。查看eth0網卡流量 nload eth0命令輸出如下:

 

nload查看網絡流量

 

PS:netstat -s 和 ifconfig -s 都可以查看收發的總包(netstat分協議給出),但不會給出字節數據。

查看實時網速網速

nload 命令可以輸出當前網速,上面已經介紹過,本節不再贅述。

dstat

dstat 是一個用來替換vmstatiostatnetstatnfsstatifstat的全能系統信息統計工具,支持數據實時刷新,輸出直觀易懂。

dstat 默認沒有安裝,安裝命令為:yum install -y dstatdstat -tnf 1 10 輸出接下來10秒內每秒的網絡數據:

 

dstat輸出

 

sar

sar 是System Activity Report的縮寫,是一款全面的Linux系統運行狀態統計和性能分析工具,可從磁盤IO、CPU負載、內存使用等多個維度對系統活動進行報告。

sar 命令來自 sysstat 包,可使用這個命令安裝:yum install -y sysstatsar -n TCP 1 10可查看接下來10秒內的tcp數據:

 

sar查看tcp數據

 

查看連接/進程流量

ss/netstat

ss 和 netstat 是查看活動鏈接/監聽端口的常用命令。ss 是 netstat 的替代,性能更好,建議使用。

ss 是 iproute2util 包的一部分,因此在大多數系統上默認安裝,也可通過yum install -y iproute安裝。netstat 來自 net-tools 包,新版系統上需要自行安裝:yum install -y net-tools

下圖是用ss查看tcp連接的輸出:

 

ss查看tcp連接

 

iftop

iftop 是一款實時流量監控工具,可以查看每個連接的實時速率。

iftop 來自EPEL軟件庫,安裝命令是:yum install -y epel-release && yum install -y iftopiftop -nN -i eth0實時查看eth0網卡的各個連接和網速:

 

iftop查看實時網速

 

nethogs

nethogs 是為了查看單個進程流量而設計的工具,按照進程進行帶寬分組。

nethogs 來自EPEL軟件庫,安裝命令是:yum install -y epel-release && yum install -y nethogsnethogs -d 2 eth0 每2秒刷新流經eth0網卡的進程流量信息:

 

nethogs輸出

 

其他

tcpdump可以用來抓包,保存的數據可以用wireshark打開和查看。

參考

1. Linux sar命令詳解

2. 30 Linux System Monitoring Tools Every SysAdmin Should Know


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM