linux流量監控
A. linux查看網路流量命令
方法一、nload工具
查看參數幫助命令:
nload –help
-a :這個好像是全部數據的刷新時間周期,單位是秒,默認是300.
-i :進入網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s.
-m :不顯示流量圖,只顯示統計數據。
-o :出去網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s.
-t :顯示數據的刷新時間間隔,單位是毫秒,默認500。
-u :設置右邊Curr、Avg、Min、Max的數據單位,默認是自動變的.注意大小寫單位不同!
h|b|k|m|g h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.
H|B|K|M|G H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.
-U:設置右邊Ttl的數據單位,默認是自動變的.注意大小寫單位不同(與-u相同)!
Devices:自定義監控的網卡,默認是全部監控的,使用左右鍵切換。
如只監控eth0命令: nload eth0
方法二、iftop工具
1、iftop界面相關說明
界面上面顯示的是類似刻度尺的刻度范圍,為顯示流量圖形的長條作標尺用的。
中間的<= =>這兩個左右箭頭,表示的是流量的方向。
TX: 發送流量
RX: 接收流量
TOTAL:總流量
Cumm: 運行iftop到目前時間的總流量
peak: 流量峰值
rates: 分別表示過去 2s 10s 40s 的平均流量
2、iftop相關參數
常用的參數 《Linux就該這么學》
-i 設定監測的網卡,如:# iftop -i eth1
-B 以bytes為單位顯示流量(默認是bits),如:# iftop -B
-n 使host信息默認直接都顯示IP,如:# iftop -n
-N 使埠信息默認直接都顯示埠號,如: # iftop -N
-F 顯示特定網段的進出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),幫助,顯示參數信息
-p 使用這個參數後,中間的列表顯示的本地主機信息,出現了本機以外的IP信息;
-b 使流量圖形條默認就顯示;
-f 這個暫時還不太會用,過濾計算包用的;
-P 使host信息及埠信息默認就都顯示;
-m設置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M
進入iftop畫面後的一些操作命令(注意大小寫)
按h切換是否顯示幫助;
按n切換顯示本機的IP或主機名;
按s切換是否顯示本機的host信息;
按d切換是否顯示遠端目標主機的host信息;
按t切換顯示格式為2行/1行/只顯示發送流量/只顯示接收流量;
按N切換顯示埠號或埠服務名稱;
按S切換是否顯示本機的埠信息;
按D切換是否顯示遠端目標主機的埠信息;
按p切換是否顯示埠信息;
按P切換暫停/繼續顯示;
按b切換是否顯示平均流量圖形條;
按B切換計算2秒或10秒或40秒內的平均流量;
按T切換是否顯示每個連接的總流量;
按l打開屏幕過濾功能,輸入要過濾的字元,比如ip,按回車後,屏幕就只顯示這個IP相關的流量信息;
按L切換顯示畫面上邊的刻度;刻度不同,流量圖形條會有變化;
按j或按k可以向上或向下滾動屏幕顯示的連接記錄;
按1或2或3可以根據右側顯示的三列流量數據進行排序;
按<根據左邊的本機名或IP排序;
按>根據遠端目標主機的主機名或IP排序;
按o切換是否固定只顯示當前的連接;
按f可以編輯過濾代碼,這是翻譯過來的說法,我還沒用過這個!
按!可以使用Shell命令,這個沒用過!沒搞明白啥命令在這好用呢!
按q退出監控。
方法三、 ifstat
參數:
-a 監測能檢測到的所有網路介面的狀態信息
-z 隱藏流量是無的介面,例如那些介面雖然啟動了但是未用的
-i 指定要監測的介面,後面跟網路介面名
時間:
-T 報告所有監測介面的全部帶寬
-w 用指定的列寬,而不是為了適應介面名稱的長度而去自動放大列寬
-W 如果內容比終端窗口的寬度還要寬就自動換行
-b 用kbits/s顯示帶寬而不是kbytes/s
B. suse linux系統怎樣監控流量
如果採用編譯安裝可以到iftop官網下載最新的源碼包。
安裝前需要已經安裝好基本的編譯所需的環境,比如make、gcc、autoconf等。安裝iftop還需要安裝libpcap和libcurses。
CentOS上安裝所需依賴包:
yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel
Debian上安裝所需依賴包:
apt-get install flex byacc libpcap0.8 libncurses5
下載iftop
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
C. linux怎麼監控網路運行情況
介紹Linux環境下網路工具的使用,netstat從內部查看網路的狀況,顯示網路連接、路由表、介面等信息,我們使用netstat –lntup,l是監聽,n是用數字格式顯示,如用ip地址、埠號都用數字表示,t是tcp信息,u是udp信息,p是埠。
埠掃描工具nmap,是一款黑客使用的工具,建議大家不要用來掃描公網ip,以避免有法律糾紛爭議,我們用nmap常用參數nmap –sT 172.1.1.1來掃描內網一台伺服器,該台伺服器開放的埠有22、23、443.
我們還可以對操作系統信息進行掃描,用命令nmap –sS -O 172.1.1.1來掃描該台設備的版本信息進行掃描,通過掃描不僅知道埠開放的情況,也知道掃描的設備是什麼型號。
我們介紹tcpmp的使用,從管理的網路裡面獲取流量,對獲取的包進行分析,我們通過命令tcpmp -i eth0 對網卡eth0的流量進行抓取,參數-i是介面的意思。當前我們獲取了信息包括CDP的一些信息,可以通過cdp信息查看到核心交換機的信息,還可以看到一些生成樹的信息。
下面我們介紹一款在Linux環境下更為直觀的抓包軟體wireshark,首先需要對該軟體進行安裝,我們通過yum install wireshark安裝軟體,按照系統提示一步步安裝,直至安裝全部完成。
我們同時還可以安裝圖形化的wireshark軟體,通過命令yum list wire*看可以顯示可以安裝的首字母是wire所有軟體,這里的*是通配符,匹配任意字元,這里的wireshark-gnome.x86_64是圖形化的軟體,我們通過yum install wireshark-gnome.x86_64,安裝成功後的使用在windows下面使用是相同的,可以選擇一塊網卡進行抓包並對抓的包進行過濾分析。
D. Linux流量監控的幾個方法
看你用哪個linux系統啊,建議你用專業的linux系統,比如WFilter NGF系統,基於Linux,專門做上網行為管理和流控技術。流量監控只是其中的小功能。
E. 如何在Linux上配置基於Web的網路流量監控系統
在Linux上安裝ntopng
如果你是Debian、Ubuntu或Linux Mint,執行以下命令:
F. 如何監控LINUX網路狀態
下面是按功能劃分的命令名稱。
監控總體帶寬使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
監控總體帶寬使用(批量式輸出)――vnstat、ifstat、dstat和collectl
每個套接字連接的帶寬使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
每個進程的帶寬使用――nethogs
1. nload
nload是一個命令行工具,讓用戶可以分開來監控入站流量和出站流量。它還可以繪制圖表以顯示入站流量和出站流量,視圖比例可以調整。用起來很簡單,不支持許多選項。
所以,如果你只需要快速查看總帶寬使用情況,無需每個進程的詳細情況,那麼nload用起來很方便。
$ nload
安裝nload:Fedora和Ubuntu在默認軟體庫裡面就有nload。CentOS用戶則需要從Epel軟體庫獲得nload。
# fedora或centos $ yum install nload -y # ubuntu/debian $ sudo apt-get install nload
2. iftop
iftop可測量通過每一個套接字連接傳輸的數據;它採用的工作方式有別於nload。iftop使用pcap庫來捕獲進出網路適配器的數據包,然後匯總數據包大小和數量,搞清楚總的帶寬使用情況。
雖然iftop報告每個連接所使用的帶寬,但它無法報告參與某個套按字連接的進程名稱/編號(ID)。不過由於基於pcap庫,iftop能夠過濾流量,並報告由過濾器指定的所選定主機連接的帶寬使用情況。
$ sudo iftop -n
n選項可以防止iftop將IP地址解析成主機名,解析本身就會帶來額外的網路流量。
安裝iftop:Ubuntu/Debian/Fedora用戶可以從默認軟體庫獲得它。CentOS用戶可以從Epel獲得它。
# fedora或centos yum install iftop -y # ubuntu或 debian $ sudo apt-get install iftop
3. iptraf
iptraf是一款互動式、色彩鮮艷的IP區域網監控工具。它可以顯示每個連接以及主機之間傳輸的數據量。下面是屏幕截圖。
$ sudo iptraf
安裝iptraf:
# Centos(基本軟體庫) $ yum install iptraf # fedora或centos(帶epel) $ yum install iptraf-ng -y # ubuntu或debian $ sudo apt-get install iptraf iptraf-ng
4. nethogs
nethogs是一款小巧的"net top"工具,可以顯示每個進程所使用的帶寬,並對列表排序,將耗用帶寬最多的進程排在最上面。萬一出現帶寬使用突然激增的情況,用戶迅速打開nethogs,就可以找到導致帶寬使用激增的進程。nethogs可以報告程序的進程編號(PID)、用戶和路徑。
$ sudo nethogs
安裝nethogs:Ubuntu、Debian和Fedora用戶可以從默認軟體庫獲得。CentOS用戶則需要Epel。
# ubuntu或debian(默認軟體庫) $ sudo apt-get install nethogs # fedora或centos(來自epel) $ sudo yum install nethogs -y
5. bmon
bmon(帶寬監控器)是一款類似nload的工具,它可以顯示系統上所有網路介面的流量負載。輸出結果還含有圖表和剖面,附有數據包層面的詳細信息。
安裝bmon:Ubuntu、Debian和Fedora用戶可以從默認軟體庫來安裝。CentOS用戶則需要安裝repoforge,因為Epel裡面沒有bmon。
# ubuntu或debian $ sudo apt-get install bmon # fedora或centos(來自repoforge) $ sudo yum install bmon
bmon支持許多選項,能夠製作HTML格式的報告。欲知更多信息,請參閱參考手冊頁。
6. slurm
slurm是另一款網路負載監控器,可以顯示設備的統計信息,還能顯示ASCII圖形。它支持三種不同類型的圖形,使用c鍵、s鍵和l鍵即可激活每種圖形。slurm功能簡單,無法顯示關於網路負載的任何更進一步的詳細信息。
$ slurm -s -i eth0
安裝slurm
# debian或ubuntu $ sudo apt-get install slurm # fedora或centos $ sudo yum install slurm -y
7. tcptrack
tcptrack類似iftop,使用pcap庫來捕獲數據包,並計算各種統計信息,比如每個連接所使用的帶寬。它還支持標準的pcap過濾器,這些過濾器可用來監控特定的連接。
安裝tcptrack:Ubuntu、Debian和Fedora在默認軟體庫裡面就有它。CentOS用戶則需要從RepoForge獲得它,因為Epel裡面沒有它。
# ubuntu, debian $ sudo apt-get install tcptrack # fedora, centos(來自repoforge軟體庫) $ sudo yum install tcptrack
8. vnstat
vnstat與另外大多數工具有點不一樣。它實際上運行後台服務/守護進程,始終不停地記錄所傳輸數據的大小。之外,它可以用來製作顯示網路使用歷史情況的報告。
$ service vnstat status * vnStat daemon is running
運行沒有任何選項的vnstat,只會顯示自守護進程運行以來所傳輸的數據總量。
$ vnstat Database updated: Mon Mar 17 15:26:59 2014 eth0 since 06/12/13 rx: 135.14 GiB tx: 35.76 GiB total: 170.90 GiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+------------- Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s ------------------------+-------------+-------------+------------- estimated 9.28 GiB | 2.83 GiB | 12.11 GiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+------------- yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s ------------------------+-------------+-------------+------------- estimated 199 MiB | 63 MiB | 262 MiB |
想實時監控帶寬使用情況,請使用"-l"選項(實時模式)。然後,它會顯示入站數據和出站數據所使用的總帶寬量,但非常精確地顯示,沒有關於主機連接或進程的任何內部詳細信息。
$ vnstat -l -i eth0 Monitoring eth0... (press CTRL-C to stop) rx: 12 kbit/s 10 p/s tx: 12 kbit/s 11 p/s
vnstat更像是一款製作歷史報告的工具,顯示每天或過去一個月使用了多少帶寬。它並不是嚴格意義上的實時監控網路的工具。
vnstat支持許多選項,支持哪些選項方面的詳細信息請參閱參考手冊頁。
安裝vnstat
# ubuntu或debian $ sudo apt-get install vnstat # fedora或 centos(來自epel) $ sudo yum install vnstat
9. bwm-ng
bwm-ng(下一代帶寬監控器)是另一款非常簡單的實時網路負載監控工具,可以報告摘要信息,顯示進出系統上所有可用網路介面的不同數據的傳輸速度。
$ bwm-ng bwm-ng v0.6 (probing every 0.500s), press 'h' for help input: /proc/net/dev type: rate / iface Rx Tx T ot================================================================= == eth0: 0.53 KB/s 1.31 KB/s 1.84 KB lo: 0.00 KB/s 0.00 KB/s 0.00 KB------------------------------------------------------------------------------------------------------------- total: 0.53 KB/s 1.31 KB/s 1.84 KB/s
如果控制台足夠大,bwm-ng還能使用curses2輸出模式,為流量繪制條形圖。
$ bwm-ng -o curses2
安裝bwm-ng:在CentOS上,可以從Epel來安裝bwm-ng。
# ubuntu或debian $ sudo apt-get install bwm-ng # fedora或centos(來自epel) $ sudo apt-get install bwm-ng
10. cbm:Color Bandwidth Meter
這是一款小巧簡單的帶寬監控工具,可以顯示通過諸網路介面的流量大小。沒有進一步的選項,僅僅實時顯示和更新流量的統計信息。
$ sudo apt-get install cbm
11. speedometer
這是另一款小巧而簡單的工具,僅僅繪制外觀漂亮的圖形,顯示通過某個介面傳輸的入站流量和出站流量。
$ speedometer -r eth0 -t eth0
安裝speedometer
# ubuntu或debian用戶 $ sudo apt-get install speedometer
12. pktstat
pktstat可以實時顯示所有活動連接,並顯示哪些數據通過這些活動連接傳輸的速度。它還可以顯示連接類型,比如TCP連接或UDP連接;如果涉及HTTP連接,還會顯示關於HTTP請求的詳細信息。
$ sudo pktstat -i eth0 -nt $ sudo apt-get install pktstat
13. netwatch
netwatch是netdiag工具庫的一部分,它也可以顯示本地主機與其他遠程主機之間的連接,並顯示哪些數據在每個連接上所傳輸的速度。
$ sudo netwatch -e eth0 -nt $ sudo apt-get install netdiag
14. trafshow
與netwatch和pktstat一樣,trafshow也可以報告當前活動連接、它們使用的協議以及每條連接上的數據傳輸速度。它能使用pcap類型過濾器,對連接進行過濾。
只監控TCP連接
$ sudo trafshow -i eth0 tcp $ sudo apt-get install netdiag
15. netload
netload命令只顯示關於當前流量負載的一份簡短報告,並顯示自程序啟動以來所傳輸的總位元組量。沒有更多的功能特性。它是netdiag的一部分。
$ netload eth0 $ sudo apt-get install netdiag
16. ifstat
ifstat能夠以批處理式模式顯示網路帶寬。輸出採用的一種格式便於用戶使用其他程序或實用工具來記入日誌和分析。
$ ifstat -t -i eth0 0.5 Time eth0 HH:MM:SS KB/s in KB/s out 09:59:21 2.62 2.80 09:59:22 2.10 1.78 09:59:22 2.67 1.84 09:59:23 2.06 1.98 09:59:23 1.73 1.79
安裝ifstat:Ubuntu、Debian和Fedora用戶在默認軟體庫裡面就有它。CentOS用戶則需要從Repoforge獲得它,因為Epel裡面沒有它。
# ubuntu, debian $ sudo apt-get install ifstat # fedora, centos(Repoforge) $ sudo yum install ifstat
17. dstat
dstat是一款用途廣泛的工具(用python語言編寫),它可以監控系統的不同統計信息,並使用批處理模式來報告,或者將相關數據記入到CSV或類似的文件。這個例子顯示了如何使用dstat來報告網路帶寬。
安裝dstat
$ dstat -nt -net/total- ----system---- recv send| time 0 0 |23-03 10:27:13 1738B 1810B|23-03 10:27:14 2937B 2610B|23-03 10:27:15 2319B 2232B|23-03 10:27:16 2738B 2508B|23-03 10:27:17
18. collectl
collectl以一種類似dstat的格式報告系統的統計信息;與dstat一樣,它也收集關於系統不同資源(如處理器、內存和網路等)的統計信息。這里給出的一個簡單例子顯示了如何使用collectl來報告網路使用/帶寬。
$ collectl -sn -oT -i0.5 waiting for 0.5 second sample... # <----------Network----------> #Time KBIn PktIn KBOut PktOut 10:32:01 40 58 43 66 10:32:01 27 58 3 32 10:32:02 3 28 9 44 10:32:02 5 42 96 96 10:32:03 5 48 3 28
安裝collectl
# Ubuntu/Debian用戶 $ sudo apt-get install collectl #Fedora $ sudo yum install collectl
G. LINUX下用C++代碼實現流量監控,統計各個時間點流量的消耗
可以使用騰訊手機管家監控的在手機上打開騰訊手機管家點擊健康優化界面
在健康優化界面點擊流量監控,然後在流量統計界面點擊設
置流量套餐進入套餐設置向導在套餐設置向導界面,
輸入套餐限額和月結算日然後點擊下一步接著設置流量套餐。
後點擊「完成騰訊手機管家的流量監控的基本設置已經完成。
H. linux 系統是如何對流量的進行監控和過濾的
iptables裡面有系統默認的設置,流量過濾在這個裡面設置,你可以自己添加
top 這個命令式監控進程和流量的
I. linux下有沒有比較好的網路監控軟體
OpManager的linux network monitor主動監控linux伺服器和機器的運行狀況、性能和可用性。您可以使用OpManager預定義的Linux監控設備模板,並通過選項監控Linux設備的特定參數,從而深入到基本內容。OpManager的linux網路監控功能還可以跟蹤cpu利用率和資源,以幫助進行網路容量規劃。https://www.manageengine.cn/network-monitoring/linux-network-monitoring.html
J. Linux如何實現監控埠流量
用node寫的監控腳本,希望能幫到你。