在Linux下怎麼看網絡流量?
在Windows下,我們可以很方便的通過360來查看網絡流量,知道哪個進程佔用的網絡帶寬比較多。那在Linux下怎麼看流量呢,對於Web服務器來說這是很重要的。
下面這邊博客很仔細的介紹了Linux下看流量的方法:
Linux 各種查看網卡流量的方法 http://jasonyong.blog.51cto.com/47753/174197
我使用了其中一些,還找了網上其他一些資料,總結如下:
1. 使用 iptraf
iptraf是一個實時查看網絡流量的文本屏幕界面工具。
有些系統不一定安裝了,
如果是 RHEL,那麼就去找安裝盤中的 iptraf*.rpm 包安裝;
如果是 CentOS,那麼用 yum install -y iptraf 進行安裝
iptraf是一個文本全屏幕界面,操作起來比較簡單明瞭。最好使用 putty 來看,SecureCRT可能顯示亂碼。
它提供了很多統計方式:
(1)IP traffic monitor
(2)General interface statistics
(3)Detailed interface statistics
如果跟上 -B 參數,還可以後臺執行,把數據保存到文件中,位於 /var/log/iptraf 目錄。
2. nload
不是系統自帶程序。
3. ifstat
不是系統自帶程序。
4. sar
如果系統沒有安裝,
如果是 RHEL,那麼就去安裝盤中找 sysstat*.rpm 包安裝;
如果是 CentOS,那麼用 yum install -y sysstat 安裝。
http://www.turbolinux.com.cn/turbo/wiki/ 寫道
sysstat是一個工具包,包含有幾個很有用的系統檢測程序,iostat,mpstat和sar.
Turbolinux的各個版本上,都包含這個工具包.
iostat用於輸出CPU,I/O系統和磁盤分區的統計信息.可以用來分析磁盤I/O,帶寬等信息.
mpstat用於輸出CPU的各種統計信息. 可以用來分析程序運行時在內核態和用戶態的工作情況.
sar用於定時蒐集系統的各種狀態信息.然後可以對系統各個時間點的狀態進行監控.
sar有很多用途,如果要來監控網絡流量,使用下面的命令行方式:
sar -n DEV interval count
其中,interval是統計時間間隔,以秒爲單位;count是總共統計幾次,如果爲0就不斷的統計直到 Ctrl+C 打斷,否則執行count次就退出。
比如:sar -n DEV 1 4
比如:sar -n DEV 10 0
IFACE:LAN接口
rxpck/s:每秒鐘接收的數據包
txpck/s:每秒鐘發送的數據包
rxbyt/s:每秒鐘接收的字節數
txbyt/s:每秒鐘發送的字節數
下面的資料還介紹了sar的其他用途:
怎麼在Linux下察看網絡流量和硬盤使用情況 http://www.yesadmin.com/301/133723/index.html
5. watch more /proc/net/dev
不直觀。
6. watch ifconfig
不直觀。
7. iftop
不是系統自帶程序。
8. mtr
mtr也是一個文本屏幕程序,使用 yum install -y mtr 進行安裝。
沒有仔細用過。
9. ntop
提供Web界面查看。ntop還支持Windows平臺。
下面的資料介紹了ntop的安裝
基於linux的NTOP安裝配置 http://linuxtro.blog.51cto.com/1239505/292709
互動百科 寫道
NTOP是一種監控網絡流量的工具,用NTOP顯示網絡的使用情況比其他一些網管軟件 更加直觀、詳細。NTOP甚至可以列出每個節點計算機的網絡帶寬利用率。
NTOP是一個靈活的、功能齊全的,用來監控和解決局域網問題的工具。它同時提供命令行輸入和Web界面 ,可應用於嵌入式Web服務。
這個工具應該來說相當不錯。
10. tcpdump + 命令組合
https://bbs.et8.net/bbs/showthread.php?t=674503 寫道
tcpdump -i eth0 -nv > 111
#top10 ip
cat 111|awk '{print $2}'|cut -d"." -f1-4|grep 192.168|sort|uniq-c|sort -rn|head
如果沒有安裝 tcpdump,使用 yum install -y tcpdump 進行安裝。
我沒用出來,暫時也沒工去研究它。
11. vnstat
簡單實用的網絡流量統計工具 http://wowubuntu.com/vnstat.html
不曾使用過。