Linux查看網(wǎng)絡(luò)流量
成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為汝南等服務(wù)建站,汝南等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為汝南企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
在GUI下面,有一大把的工具可以顯示網(wǎng)絡(luò)流量,那么,命令行下面怎么辦?顯然辦法是有的,比如,ifconfig,會(huì)有這樣的輸 出:RX bytes:1224128649 (1.1 GiB) TX bytes:34114947 (32.5 MiB)過 一會(huì)再看,數(shù)值有所變化,兩者的差值就是過去一段時(shí)間的流量。可是,這也太不人性化了……正所謂自己動(dòng)手,豐衣足食,我們自己來寫一個(gè)腳 本,實(shí)時(shí)顯示并刷新!腳本如下,還是哪句話,本人功力有限,寫腳本的原則是夠用就好。
#!/bin/bashif [ -n "$1" ]; theneth_name=$1elseeth_name="eth0"fii=0send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`recv_o=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`send_n=$send_orecv_n=$recv_owhile [ $i -le 100000 ]; dosend_l=$send_nrecv_l=$recv_nsleep 1send_n=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`recv_n=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`i=`expr $i + 1`send_r=`expr $send_n - $send_l`recv_r=`expr $recv_n - $recv_l`total_r=`expr $send_r + $recv_r`send_ra=`expr /( $send_n - $send_o /) / $i`recv_ra=`expr /( $recv_n - $recv_o /) / $i`total_ra=`expr $send_ra + $recv_ra`sendn=`ifconfig $eth_name | grep bytes | awk -F /( '{print $3}' | awk -F /) '{print $1}'`recvn=`ifconfig $eth_name | grep bytes | awk -F /( '{print $2}' | awk -F /) '{print $1}'`clearecho "Last second : Send rate: $send_r Bytes/sec Recv rate: $recv_r Bytes/sec Total rate: $total_r Bytes/sec"echo "Average value: Send rate: $send_ra Bytes/sec Recv rate: $recv_ra Bytes/sec Total rate: $total_ra Bytes/sec"echo "Total traffic after startup: Send traffic: $sendn Recv traffic: $recvn"done
該腳本(假設(shè)名叫traffic)默認(rèn)顯示eth0的流量,如果你有多個(gè)網(wǎng)卡,請(qǐng)將網(wǎng)卡作為參數(shù)傳進(jìn)去,比如:./traffic eth1
運(yùn)行結(jié)果如下:
常用兩個(gè)方法:直接命令查看、安裝個(gè)iftop查看;
直接命令查看
watch cat /proc/net/dev
安裝iftop然后再查看
yum ?-y install iftop
iftop
######################
安裝epel以此解決找不到iftop
cd?/usr/local/src
wget?
rpm?-ivh?epel-release-6-8.noarch.rpm
yum?clean?all
yum?makecache
在類Unix系統(tǒng)中可以使用top查看系統(tǒng)資源、進(jìn)程、內(nèi)存占用等信息。查看網(wǎng)絡(luò)狀態(tài)可以使用netstat、nmap等工具。若要查看實(shí)時(shí)的網(wǎng)絡(luò)流量,監(jiān)控TCP/IP連接等,則可以使用iftop。
iftop類似于top的實(shí)時(shí)流量監(jiān)控工具,可以用來監(jiān)控網(wǎng)卡的實(shí)時(shí)流量(可以指定網(wǎng)段)、反向解析IP、顯示端口信息等。
查看流量是從哪些端口發(fā)送出去的:
# iftop -P
-P 選項(xiàng)會(huì)在iftop 的輸出結(jié)果中開啟端口顯示
界面上面顯示的是類似刻度尺的刻度范圍,為顯示流量圖形的長條作標(biāo)尺用的。
中間的= =這兩個(gè)左右箭頭,表示的是流量的方向。
TX:發(fā)送流量
RX:接收流量
TOTAL:總流量
Cumm:運(yùn)行iftop到目前時(shí)間的總流量
peak:流量峰值
rates:分別表示過去 2s 10s 40s 的平均流量
要找到運(yùn)行在該端口的進(jìn)程,那么可以用netstat 或者lsof 來找到相應(yīng)的進(jìn)程。
使用netstat 命令來找到運(yùn)行在10910這個(gè)端口上的進(jìn)程:
# netstat -tunp | grep 10910
可以使用lsof 命令來找到運(yùn)行在10909這個(gè)端口上的進(jìn)程:
# lsof -i:10909
查看進(jìn)程PID為51919的應(yīng)用程序:
# ps -ef |grep 51919
linux查看網(wǎng)卡吞吐量和網(wǎng)卡流量用自帶命令,iptraf查看。
1 命令行直接輸入:iptraf(如果沒有,使用yum install iptraf安裝)
2.打開進(jìn)入選擇ip鏡像。
3. 選擇監(jiān)聽測試的接口,所有接口。
4.開啟監(jiān)聽狀態(tài)日志,系統(tǒng)默認(rèn)日志路徑。/var/log/iptraf/ip_traffic.log
4. 運(yùn)行之后,開啟進(jìn)行監(jiān)聽網(wǎng)卡流量
5.iptraf參考用法:
man iptraf 查看
此外還有很多工具命令可以查看:
watch命令:
watch -n 1 "/sbin/ifconfig eth0 | grep bytes"。