ch 1.1.1.1 (872.0 b) (70.0 b) 09/09/12 11:58:55 09/09/12 11:59:01 ppp0
ch pppoe-client的用户名
1.1.1.1 pppoe-client的ip
872.0b pppoe-client的RX
70.0b pppoe-client的TX
09/09/12 11:58:55 pppoe-client的登录时间
09/09/12 11:59:01 系统的当前时间
用这两个时间值就可以求出ch的登录时间(php写的)。
在/etc/ppp/里写了几个简单的脚本能实现上面的功能
cd /etc/ppp/
cat auth-up
PATH=/usr/sbin:/sbin:/usr/bin:/bin
export PATH
#echo $* `date +'%y/%m/%d %T'` >> /var/log/pptpd_time.file
echo $* `date +'%y/%m/%d %T'` >> /var/log/pppstats
#awk '{print $1,$2,$6,$7}' /var/log/pppstats >/var/log/pptpd_user.file
awk '{print $1,$2,$5,$6}' /var/log/pppstats >/var/log/pptpd_user.file
cat ip-down
PATH=/usr/sbin:/sbin:/usr/bin:/bin
export PATH
>/var/log/pptpd.log
>/var/log/pptpd_user.file
ppp=`echo $*|awk '{print $1}'`
sed -e '/'$ppp'/d' /var/log/pppstats >/var/log/pptpd.log
awk '{print $1,$2,$5,$6}' /var/log/pptpd.log >/var/log/pptpd_user.file
cp -f /var/log/pptpd.log /var/log/pppstats
cat pptpd_ip_tc.sh
#!/bin/sh
>/var/log/pptpdinfor.file
cat /var/log/pptpd_user.file | while read DEV NAME DATE TIME
do
IPADDR=`ifconfig $DEV | grep "P-t-P" | awk '{print $3}' | cut -d ":" -f2`
RX=`ifconfig $DEV | grep "RX bytes:" | awk '{print $3,$4}'`
TX=`ifconfig $DEV | grep "RX bytes:" | awk '{print $7,$8}'`
NOW_TIME=`date +'%y/%m/%d %T'`
echo -e "$NAME $IPADDR $RX $TX $DATE $TIME $NOW_TIME >>/var/log/pptpdinfor.file
done
暂时最终的效果:
用户 ip地址 接受带宽 传送带宽 登录时间 上线时间 操作
ch 1.1.1.1 (5.5KiB) (6.7KiB) 09/09/12 12:12:52 10 分 (这里我想做对每个用户的流量限制和看你不爽就把你给登出去的操作, 还没有写好)
哈哈, 这个该死的用户信息那天我怎么想都想不出来, 脑袋都疼了, 结果和美女聊聊天, 没有想到他自己就跑思路出来啦; 嘿嘿, 感觉还是有问题, 有待日后完善哈。 还请大家多多的指点下咯, 谢谢。。。
阅读(1228) | 评论(0) | 转发(0) |