linux的服务器查看流量,查看linux服务器流量的方法总结

要查看linux服务器流量有点麻烦没那么直观与现成的方法,经使用总结方法有二种,安装第三方和自制shell脚本工具进行查看网卡流量。

方法一:

通用于linux系统,但安装方法有区别,centos系统下的iftop安装方法,

执行

yum install iftop

安装,如果不能正常安装成功,提示失败。则编译安装,编译安装前,请确认是否安装GCC,如果是新系统默认是没有安装有的,运行

yum install gcc

之后编译安装iftop:

yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel

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

./configure

make && make install

debian/ubuntu系统的安装方法,执行

apt-get install iftop

安装好后运行方法:

iftop -i eth0

TX,发送流量;RX,接收流量;TOTAL,总流量;Cumm,运行iftop期间流量;peak,流量峰值;rates,分别代表2秒、10秒、40秒的平均流量。 界面可使用快捷键:h帮助,n切换显示IP主机名,s是否显示本机信息,d是否显示远端信息,N切换端口服务名称,b切换是否时数流量图形条。

方法二:

1) 可以使用ifconfig命令查看网卡eth0的使用情况

ifconfig  eth0

eth0      Link encap:Ethernet  HWaddr 00:50:56:B2:1D:65

inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0

inet6 addr: 2001:da8:20d:31:2::/64 Scope:Global

inet6 addr: 2001:da8:20d:31:250:56ff:feb2:1d65/64 Scope:Global

inet6 addr: fe80::250:56ff:feb2:1d65/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:949925 errors:0 dropped:0 overruns:0 frame:0

TX packets:476662 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1350085212 (1.2 GiB)  TX bytes:33019912 (31.4 MiB)

2) 最后一行可以查看网卡接收和发送字节

ifconfig  eth0 | grep bytes

RX bytes:1350100537 (1.2 GiB)  TX bytes:33023756 (31.4 MiB)

3) 字节数是随着时间的增长不停的增加的,查看当前接收字节数,可使用如下命令

ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}'

1350116823

ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}'

1350120591

4) 由于字节数的不断增长,所以每间隔1秒取得值相减即为该秒的网速值

ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}' ; sleep 1s ; ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}'

1350168724

1350168876

5) 两个命令返回值相减,需要使用脚本来做操作

vi RX.sh

输入以下内容

RX0=$(ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}')

sleep 1s

RX1=$(ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}')

echo $((RX1-RX0))

sh RX.sh

240

得出的240,即为当前网卡的实时接收网速为240B/s

6) 如果需要显示单位为KB/s或者MB/s,需要在原来的值后面除以1024,但是默认使用echo除法只能显示整数,不能显示小数,这里需要使用awk命令

vi RX.sh

修改为以下内容

RX0=$(ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}')

sleep 1s

RX1=$(ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}')

awk "BEGIN{print ($RX1-$RX0)/1024}"

sh RX.sh

0.117188

7) 同理,可以使用脚本取到实时接收和实时发送的网速

vi Rb.sh

输入以下内容

RX0=$(ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}')

TX0=$(ifconfig eth0 |grep bytes | awk '{print $6}' | awk -F ":" '{print $2}')

sleep 1s

RX1=$(ifconfig eth0 |grep bytes | awk '{print $2}' | awk -F ":" '{print $2}')

TX1=$(ifconfig eth0 |grep bytes | awk '{print $6}' | awk -F ":" '{print $2}')

awk "BEGIN{print ($RX1-$RX0)/1024}" ; awk "BEGIN{print ($TX1-$TX0)/1024}"

sh Rb.sh

97.0039

11547.2

这是我从客户端下载该设备上文件时,得出的网速,接收97.0039KB/s,发送11547.2 KB/s

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值