OpenWRT — 查看客户端(IP)即时流量

使用OpenWRT已经有一阵子了,平时就是自己使用,折腾挂卡,脱机,蛮有意思。

这两天多了室友,接入设备也多了起来,于是乎就想查看一下每一个接入设备的即时速度。小义学艺不精,对OpenWRT了解甚少,没有发现好的软件,但是找到了一个利用Iptables工具来统计即时流量的脚本,小试了一下,还不错。在这里分享给大家。

代码如下:

#!/bin/sh
# @Create on 2013-12-01

echo "Collecting data..."
echo ""
cat / proc/net /arp | grep : | grep ^192 | grep -v 00:00 :00: 00:00 :00| awk '{print $1}'> mac-ip
iptables -N UPLOAD
iptables -N DOWNLOAD
while read line;do iptables -I FORWARD 1 -s $line - j UPLOAD;done < mac-ip
while read line;do iptables -I FORWARD 1 -d $line - j DOWNLOAD;done < mac-ip

sleep 1

echo "Download speed:"
echo ""
iptables -nvx -L FORWARD | grep DOWNLOAD | awk '{print $2/1024/1" KB/s ",$1/10" packets/s", $9}' | sort -n -r
echo ""
echo "Upload speed:"
echo ""
iptables -nvx -L FORWARD | grep UPLOAD | awk '{print $2/1024/1" KB/s ",$1/10" packets/s", $8}' | sort -n -r

while read line;do iptables -D FORWARD -s $line - j UPLOAD;done < mac-ip
while read line;do iptables -D FORWARD -d $line - j DOWNLOAD;done < mac-ip
iptables -X UPLOAD
iptables -X DOWNLOAD

你可能感兴趣的:(OpenWRT — 查看客户端(IP)即时流量)