如何在Linux下统计高速网络中的流量
2016-09-27 09:04
585 查看
参考:
http://www.geekfan.net/5558/
http://blog.jobbole.com/23638/
http://www.csdn.net/article/2014-03-05/2818640-internet-of-things-blog
脚本主要是基于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: 发包时丢弃的数据包
netpps.sh---测量网口每秒数据包
#/bin/bash
INTERVAL="1" # update interval in seconds
if [ -z "$1" ]; then
echo usage: $0 [network-interface]
echo e.g. $0 eth0
echo shows packets-per-second
exit
fi
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
netspeed.sh---网络带宽测量
#/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
exit
fi
IF=$1
while true
do
R1=`cat /sys/class/net/$1/statistics/rx_bytes`
T1=`cat /sys/class/net/$1/statistics/tx_bytes`
sleep $INTERVAL
R2=`cat /sys/class/net/$1/statistics/rx_bytes`
T2=`cat /sys/class/net/$1/statistics/tx_bytes`
TBPS=`expr $T2 - $T1`
RBPS=`expr $R2 - $R1`
TKBPS=`expr $TBPS / 1024`
RKBPS=`expr $RBPS / 1024`
echo "TX $1: $TKBPS kb/s RX $1: $RKBPS kb/s"
done
http://www.geekfan.net/5558/
http://blog.jobbole.com/23638/
http://www.csdn.net/article/2014-03-05/2818640-internet-of-things-blog
脚本主要是基于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: 发包时丢弃的数据包
netpps.sh---测量网口每秒数据包
#/bin/bash
INTERVAL="1" # update interval in seconds
if [ -z "$1" ]; then
echo usage: $0 [network-interface]
echo e.g. $0 eth0
echo shows packets-per-second
exit
fi
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
netspeed.sh---网络带宽测量
#/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
exit
fi
IF=$1
while true
do
R1=`cat /sys/class/net/$1/statistics/rx_bytes`
T1=`cat /sys/class/net/$1/statistics/tx_bytes`
sleep $INTERVAL
R2=`cat /sys/class/net/$1/statistics/rx_bytes`
T2=`cat /sys/class/net/$1/statistics/tx_bytes`
TBPS=`expr $T2 - $T1`
RBPS=`expr $R2 - $R1`
TKBPS=`expr $TBPS / 1024`
RKBPS=`expr $RBPS / 1024`
echo "TX $1: $TKBPS kb/s RX $1: $RKBPS kb/s"
done
相关文章推荐
- linux:如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- 如何在Linux下统计高速网络中的流量
- Linux 下统计高速网络中的流量
- 如何在Linux上配置基于Web的网络流量监控系统
- linux_如何在Linux上配置基于Web的网络流量监控系统
- Vnstat-linux网络流量统计工具
- Linux进程网络流量统计的实现过程
- linux下如何使用vnstat查看服务器带宽流量统计
- Linux下如何对端口流量进行统计
- 如何用Linux安全管理网络流量