查看参数帮助命令:
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|GH: 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
方法/步骤
1、进入linux,使用“ cat /etc/services ”命令,可以查看所有服务默认的端口列表信息。
2、使用“netstat”命令,查看正在连接的端口【连接】列表信息。
3、使用“nestat -a”命令,查看所有服务端口【监听、连接】列表信息。
4、套接字的种类除了t(TCP)、u(UDP)之外,还有w(RAW)、x(UNIX)套接字。
5、使用" netstat -ap"查看所有服务端口和对应的程序名称。
Linux查看网络流量
在GUI下面,有一大把的工具可以显示网络流量,那么,命令行下面怎么办?
显然办法是有的,比如,ifconfig,会有这样的输 出:
RX bytes:1224128649 (1.1 GiB) TX bytes:34114947 (32.5 MiB)
过 一会再看,数值有所变化,两者的差值就是过去一段时间的流量。可是,这也太不人性化了……
正所谓自己动手,丰衣足食,我们自己来写一个脚 本,实时显示并刷新!
脚本如下,还是哪句话,本人功力有限,写脚本的原则是够用就好。
#!/bin/bash
if [ -n "$1" ]then
eth_name=$1
else
eth_name="eth0"
fi
i=0
send_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_o
recv_n=$recv_o
while [ $i -le 100000 ]do
send_l=$send_n
recv_l=$recv_n
sleep 1
send_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}'`
clear
echo "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
该脚本(假设名叫traffic)默认显示eth0的流量,如果你有多个网卡,请将网卡作为参数传进去,比如:
./traffic eth1
运行结果如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)