openwrt collect ip traffic

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

#!/bin/sh

# @Create on 2013-12-01

echo "Collecting data…"

echo ""

cat /proc/net/arp | grep : | grep ^172.16.100 | 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 10

echo "Download speed:"

echo ""

iptables -nvx -L FORWARD | grep DOWNLOAD | awk ‘{print $2/1024/10" 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/10" 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