文章原文: Linux查看網絡流量
做爲一個非職業運維,不時須要查看Linux服務器上的網絡流量情況。本文介紹幾個經常使用的Linux查看網絡流量命令,並簡要介紹其用法。部分命令系統已經內置,某些命令則須要從軟件倉庫或者自行編譯安裝,本文以CentOS系統爲例介紹軟件安裝方法。html
ip
命令來自 iproute2util
包,是查看、配置網絡/路由的工具。做爲 ifconfig
的替代品,ip
命令功能更強大,用法更語義化。linux
ip
命令在大多數系統上都已經默認安裝,也可經過 yum install -y iproute
安裝。ip
的 "-s -h" 參數查看各網卡的總流量,下圖是 ip -s -h link
的輸出結果:ios
nload
命令能夠查看各個網絡設備的當前網絡速率,也會展現流經設備的總流量。服務器
nload
來自EPEL軟件庫,CentOS安裝命令爲:yum install -y epel-release && yum install -y nload
。查看eth0網卡流量 nload eth0
命令輸出以下:網絡
PS:netstat -s
和 ifconfig -s
均可以查看收發的總包(netstat
分協議給出),但不會給出字節數據。運維
nload
命令能夠輸出當前網速,上面已經介紹過,本節再也不贅述。tcp
dstat
是一個用來替換vmstat
、iostat
、netstat
、nfsstat
和ifstat
的全能系統信息統計工具,支持數據實時刷新,輸出直觀易懂。工具
dstat
默認沒有安裝,安裝命令爲:yum install -y dstat
。dstat -tnf 1 10
輸出接下來10秒內每秒的網絡數據:性能
sar
是System Activity Report的縮寫,是一款全面的Linux系統運行狀態統計和性能分析工具,可從磁盤IO、CPU負載、內存使用等多個維度對系統活動進行報告。spa
sar
命令來自 sysstat
包,可以使用這個命令安裝:yum install -y sysstat
。sar -n TCP 1 10
可查看接下來10秒內的tcp數據:
ss
和 netstat
是查看活動連接/監聽端口的經常使用命令。ss
是 netstat
的替代,性能更好,建議使用。
ss
是 iproute2util
包的一部分,所以在大多數系統上默認安裝,也可經過yum install -y iproute
安裝。netstat
來自 net-tools
包,新版系統上須要自行安裝:yum install -y net-tools
。
下圖是用ss
查看tcp鏈接的輸出:
iftop
是一款實時流量監控工具,能夠查看每一個鏈接的實時速率。
iftop
來自EPEL軟件庫,安裝命令是:yum install -y epel-release && yum install -y iftop
。iftop -nN -i eth0
實時查看eth0網卡的各個鏈接和網速:
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