linux服务器统计ip地址流量,Linux使用shell脚本统计高速网络流量的步骤

在Linux系统软件实际操作中,可应用专用工具监控网络流量,但对髙速互联网的监控有一定的局限,针对髙速网络流量的监控可应用shell脚本,一个很精巧的shell脚本,应用ifconfig的连续輸出来统计分析网口的总流量,有必须的盆友能够参照下。

在文中中大家详细介绍一种简易的Shell 脚本,它能够监控网络流量并且不依赖于迟缓的libpcap库。这种脚本适用Gb之上经营规模的髙速网络接口,假如你对“聚集型”的网络流量很感兴趣得话,他们可统计分析每一个网络接口上的总流量。

脚本主要是根据sysfs虚似系统文件,它是由核心用于将机器设备或驱动器有关的信息内容輸出到客户室内空间的一种体制。网络接口的有关分析数据会根据“/sys/class/net/《ethX》/statistics”輸出。

举个事例,eth0的网络接口上剖析研讨会輸出到这种文档中:

/sys/class/net/eth0/statistics/rx_packets: 接到的数据包数据信息

/sys/class/net/eth0/statistics/tx_packets: 传送的数据包总数

/sys/class/net/eth0/statistics/rx_bytes: 接受的字节

/sys/class/net/eth0/statistics/tx_bytes: 传送的字节

/sys/class/net/eth0/statistics/rx_dropped: 当接到包数据包降低的数据量

/sys/class/net/eth0/statistics/tx_dropped: 传送包数据包降低的数据量

这种数据信息会依据核心数据信息产生变动的情况下自动更新。因而,你能撰写一系列的脚本开展剖析并测算流量监控。下边就这样的脚本(谢谢 joemiller 出示)。第一个脚本是统计分析每秒钟数据量,包括接受(RX)或推送(TX)。而后边的则是一个叙述数据传输中的接受(RX)推送(TX)网络带宽。这种脚本中安裝不用一切的专用工具。

精确测量网络接口每秒钟数据包:

#!/bin/bash

INTERVAL=“1” # update interval in seconds

if [ -z “$1” ]; then

echo

echo usage: $0 [network-interface]

echo

echo e.g. $0 eth0

echo

echo shows packets-per-second

exit

fi

IF=$1

while true

do

R1=`cat /sys/class/net/$1/statistics/rx_packets`

T1=`cat /sys/class/net/$1/statistics/tx_packets`

sleep $INTERVAL

R2=`cat /sys/class/net/$1/statistics/rx_packets`

T2=`cat /sys/class/net/$1/statistics/tx_packets`

TXPPS=`expr $T2 - $T1`

RXPPS=`expr $R2 - $R1`

echo “TX $1: $TXPPS pkts/s RX $1: $RXPPS pkts/s”

done

热搜词

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值