Linux查看網絡流量
查看總流量
ip
ip
命令來自 iproute2util
包,是查看、配置網絡/路由的工具。作為 ifconfig
的替代品,ip
命令功能更強大,用法更語義化。
ip
命令在大多數系統上都已經默認安裝,也可通過 yum install -y iproute
安裝。ip
的 "-s -h" 參數查看各網卡的總流量,下圖是 ip -s -h link
的輸出結果:

nload
nload
命令可以查看各個網絡設備的當前網絡速率,也會展示流經設備的總流量。
nload
來自EPEL軟件庫,CentOS安裝命令為:yum install -y epel-release && yum install -y nload
。查看eth0網卡流量 nload eth0
命令輸出如下:

PS:netstat -s
和 ifconfig -s
都可以查看收發的總包(netstat
分協議給出),但不會給出字節數據。
查看實時網速網速
nload
命令可以輸出當前網速,上面已經介紹過,本節不再贅述。
dstat
dstat
是一個用來替換vmstat
、iostat
、netstat
、nfsstat
和ifstat
的全能系統信息統計工具,支持數據實時刷新,輸出直觀易懂。
dstat
默認沒有安裝,安裝命令為:yum install -y dstat
。dstat -tnf 1 10
輸出接下來10秒內每秒的網絡數據:

sar
sar
是System Activity Report的縮寫,是一款全面的Linux系統運行狀態統計和性能分析工具,可從磁盤IO、CPU負載、內存使用等多個維度對系統活動進行報告。
sar
命令來自 sysstat
包,可使用這個命令安裝:yum install -y sysstat
。sar -n TCP 1 10
可查看接下來10秒內的tcp數據:

查看連接/進程流量
ss/netstat
ss
和 netstat
是查看活動鏈接/監聽端口的常用命令。ss
是 netstat
的替代,性能更好,建議使用。
ss
是 iproute2util
包的一部分,因此在大多數系統上默認安裝,也可通過yum install -y iproute
安裝。netstat
來自 net-tools
包,新版系統上需要自行安裝:yum install -y net-tools
。
下圖是用ss
查看tcp連接的輸出:

iftop
iftop
是一款實時流量監控工具,可以查看每個連接的實時速率。
iftop
來自EPEL軟件庫,安裝命令是:yum install -y epel-release && yum install -y iftop
。iftop -nN -i eth0
實時查看eth0網卡的各個連接和網速:

nethogs
nethogs
是為了查看單個進程流量而設計的工具,按照進程進行帶寬分組。
nethogs
來自EPEL軟件庫,安裝命令是:yum install -y epel-release && yum install -y nethogs
。nethogs -d 2 eth0
每2秒刷新流經eth0網卡的進程流量信息:

其他
tcpdump
可以用來抓包,保存的數據可以用wireshark打開和查看。
參考
2. 30 Linux System Monitoring Tools Every SysAdmin Should Know