免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6640 | 回复: 5
打印 上一主题 下一主题

[vpn] pptp用户监控与统计 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-25 11:26 |只看该作者 |倒序浏览
本人想统计一下pptp用户拨入的时间及来源IP地址、登出时间及访问多少数据。现我编写了一个shell脚本程序,加在了/etc/ppp/ip-up及ip-down文件中,这样每个用户拨入服务器后将增加一条日志:

tail /etc/ppp/userlog:

Fri Feb 20 11:04:19 CST 2006     usernamexxx        IP:192.168.1.67 logon Successfull      remoteIP:218.141.40.26
Fri Feb 20 11:48:54 CST 2006     usernamexxx      logout  data:RX170.3 KiB) TX1.0 MiB)


一、ip-up程序如下:

#!/bin/bash
# This file should not be modified -- make local changes to
# /etc/ppp/ip-up.local instead

PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH

LOGDEVICE=$6
REALDEVICE=$1

[ -f /etc/sysconfig/network-scripts/ifcfg-${LOGDEVICE} ] && /etc/sysconfig/network-scripts/ifup-post ifcfg-${LOGDEVICE}

/etc/ppp/ip-up.ipv6to4 ${LOGDEVICE}

#################### Log  ########################

        pptplogdirectory="/etc/ppp"
        dialinfo=`/sbin/ifconfig $1`
        dialtime=`/bin/date`
        userip=`ifconfig $1|grep inet|awk '{print $3}'|awk -F: '{print $2}'`
        localinfo=`/bin/cat /etc/ppp/chap-secrets|grep $userip|awk '{print "username:"$1"\t","localIP:" $4,"logon Successfull"}'`

        if [ -e $pptplogdirectory/userlog ];then

                /bin/cat /etc/ppp/chap-secrets|grep $userip|awk '{print logontime"\t","username:"$1"\t","IP:"$4,"logon Successfull""\t","remoteIP:"'$6'}' logontime="`/bin/date`" >>$pptplogdirectory/userlog
            else
                /bin/touch $pptplogdirectory/userlog
        fi
####################################################

#/sbin/ifconfig $1 mtu 1600

#[ -x /etc/ppp/login.sh ] && /etc/ppp/login.sh "$@"
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"

exit 0

二、/etc/ppp/ip-down可改为:

#!/bin/bash
# This file should not be modified -- make local changes to
# /etc/ppp/ip-down.local instead

PATH=/sbin:/usr/sbin:/bin:/usr/bin
#size=`/sbin/ifconfig $1|grep "("`
size=`/sbin/ifconfig $1|grep "("|awk '{print "RX:"$3,$4,"TX:"$7,$8}'`
export PATH size

LOGDEVICE=$6
REALDEVICE=$1

/etc/ppp/ip-down.ipv6to4 ${LOGDEVICE}

[ -x /etc/ppp/ip-down.local ] && /etc/ppp/ip-down.local "$@"


#################### Log  ########################

        pptplogdirectory="/etc/ppp"
        if [ -e $pptplogdirectory/userlog ];then

                /bin/cat /etc/ppp/chap-secrets|grep $5|awk '{print logouttime"\t","username:"$1"\t","logout""\t","data:"datasize}' logouttime="`/bin/date`" datasize="$size" >>$pptplogdirectory/userlog
                #echo $5 >> /etc/ppp/userlog
        else
                /bin/touch $pptplogdirectory/userlog
        fi
####################################################

/etc/sysconfig/network-scripts/ifdown-post ifcfg-${LOGDEVICE}

exit 0

[ 本帖最后由 jiangdaoyou 于 2006-4-18 16:11 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-04-18 23:28 |只看该作者
我使用radius做认证,并记帐到数据库很方便就可以监控与统计

论坛徽章:
0
3 [报告]
发表于 2006-04-22 15:06 |只看该作者
last
ac -p
也可实现部分功能

论坛徽章:
0
4 [报告]
发表于 2011-11-21 08:54 |只看该作者
radius 这个应该是最方便的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP