網上有很多适用于Linux作業系統的開源網絡監視工具。比如說:
你可以用指令iftop來檢查帶寬使用情況、netstat用來檢視接口統計報告、還有其他的一些工具Bandwidthd、Speedometer、Nethogs、Darkstat、jnettop、ifstat、iptraf、nload和ntop等。
但是這些工具都是統計網卡的進出資料,如果你想要找一個像windows上360安全衛士那樣,能夠按程序實時統計每個程式網絡帶寬使用率,那麼NetHogs就是你所需要的唯一工具。
top可以檢視程序占用的cpu、記憶體等資訊,可以随時監測占用最大cpu和記憶體的程序是哪個。Nethogs可以說是網絡帶寬top,他可以檢視程序占用的帶寬資訊,和top一樣,随時重新整理。
Nethogs是一個終端下的網絡流量監控工具,它有别于其他統計和監控網卡流量工具,特别之處在于可以監控每個程序的網絡帶寬占用情況,這樣可以更直覺擷取網絡使用情況。它支援IPv4和IPv6協定、支援本地網卡及PPP連結。如果發生了網絡阻塞你可以啟動NetHogs立即看到哪個PID造成的這種狀況.這樣就很容易找出哪個程式跑飛了然後突然占用你的帶寬.
一、下載下傳安裝
wget http://jaist.dl.sourceforge.net/project/nethogs/nethogs/0.8/nethogs-0.8.0.tar.gz -P /usr/local/src
yum install -y gcc gcc-c++ libpcap libpcap-devel
cd /usr/local/src
tar xf nethogs-0.8.0.tar.gz
cd nethogs
make && make install
二、NetHogs用法
nethogs [option] [device(s)]
該程式需要 root 權限,預設是監控 eth0 網卡 ,是以直接輸入 sudo nethogs 也可以,如果有多網卡的話就必須進行指定。
# nethogs

正如上圖所示,send列和received列顯示的是按照每個程序的流量統計。總的收發資料帶寬在最下方,而且可以用互動指令控制排序。
三、NetHogs 指令行參數
以下就是NetHogs指令行的參數,用’-d’來添加重新整理頻率參數,`device name` 用來檢測給定的某個或者某些裝置的帶寬(預設是eth0).例如:設定5秒鐘的重新整理頻率,鍵入如下指令即可:
# nethogs -d 5
如果隻用來監視裝置(eth0)的網絡帶寬可以使用如下指令:
# nethogs eth0
如果要同時監視eth0和eth1接口,使用以下指令即可:
# nethogs eth0 eth1
其他參數和用法:
-d: delay for refresh rate,default is 1.
-h: display available commands usage.
-p: sniff in promiscious mode (not recommended).
-t: tracemode.
-b: bughunt mode - implies tracemode.
-V: prints Version info.
NetHogs 互動控制
以下是NetHogs的一些很有用的互動控制(鍵盤快捷鍵):
m cycle between display modes (kb/s, kb, b, mb)
r sort by 'received’
s sort by 'sent’
q quit