局域网通过一根电话线或ISDN,在代理服务器软件或网关软件的帮助下,整个局域网内的工作站都可以接入Internet。这的确为用户提供了一种经济实用的Internet接入方案。但是,大多数的软件都没有提供对上网进行计费的功能。这对于那些网吧、学生机房用户的收费十分不便,笔者通过对各种代理软件、网关软件进行的分析,找到了一个简单方便的解决办法,下面笔者将有关内容介绍给大家。
轻松实现计费管理从Sygate开始 使用各种代理服务器软件或网关软件,主要是为了实现整个局域网接入Internet,但是,大多数的此类软件,几乎都不提供计费功能。这就造成了局域网上的用户无法合理收费。 笔者所在的公司有20余台计算机。由于各部门独立核算,这就要求代理软件能够提供计费功能。公司目前使用的是网关软件Sygate,它可以将整个局域网上的用户接入Internet,它安装简单,但是,它没有提供计费功能。后来,笔者注意到Sygate软件提供了一个dbf文件,它将每台计算机上网的时间、传输的数据包大小都记录在这个文件中,只要对数据库中的数据进行统计,就可以准确得到每台计算机的上网时间及数据流量。在此,按上网时间计算,明显不合适,所以笔者采用了统计各台计算机上网数据量的方式。每月统计一次,月底按各台计算机数据量百分比进行收费。 基于Sygate的计费程序笔者已经写了一个,不过,比较粗糙。有兴趣的朋友,可以自己对数据库的数据流量和用户使用时间进行统计。这不需要什么高的编程技巧,只要会使用Foxbase的人就可以作到。
MS Proxy助你实现更准确的计费 MS Proxy是大多数人使用的一个代理软件。由于它出自微软之手,所以它同NT的集成性很好,对用户的访问有严格的管理,而且用户管理同NT的用户管理相集成,安全性、准确性都较其他的代理软件高。MS Proxy提供了三种代理方式,分别为:WWW Proxy、Winsock Proxy、Socket Proxy。这几种代理分别针对于不同的访问,不同的操作系统间通过代理建立连接。 如果你使用的是MS Porxy代理服务器,计费相对要更准确一些,灵活性也较其他的代理软件高。MS Proxy可以将用户的访问日志记录到文本文件中,也可以将数据通过ODBC记录到数据库中。作为计费,最好将数据记录到数据库中。计费时,只要对数据库中记录的时间及数据流量进行统计,就可以得到每台计算机的总流量,达到计费的目的。 MS Proxy缺省情况下是将日志记录存放在一个文本文件中。如果用户自己计算机上没有安装数据库系统,也可以通过对其文本格式的日志文件进行分析,作出统计结果。文件的存放位置为:
C:\Winnt\System32\Msplogs\ W3filename.log (for the Web Proxy service) C:\Winnt\System32\Msplogs\ WSfilename.log(for the WinSock Proxy service) C:\Winnt\System32\Msplogs\ SPfilename.log(for the Socks Proxy service) C:\Winnt\System32\Msplogs\ PFfilename.log (for packet filter events)
采用ODBC和SQL使你的管理更出色 将用户的访问日志记录到数据库中是一种好的选择,数据库更容易分析及统计。 首先,通过ODBC建立数据源,再通过IIS管理器,将以上三种代理服务的日志记录到数据库中。 Inetlog表可以由MS Proxy提供的一段SQL语句生成。 生成此表的SQL语句为:
CREATE TABLE inetlog ( ClientIP varchar(32), ClientUserName varchar(32), ClientAgent varchar(128), ClientAuthenticate varchar(5), logTime datetime, service varchar(12), servername varchar(32), referredserver varchar(32), DestHost varchar(32), DestHostIP varchar(32), DestHostPort int, processingtime int, bytessent int, bytesrecvd int, protocol varchar(8), transport varchar(8), operation varchar(8), uri varchar(255), mimetype varchar(32), objectsource varchar(10), resultcode int, CacheInfo int )
直接在ISQL_w中运行此语句,就可生成Inetlog表。当然,表名你可随便取。 以后的工作就是统计数据流量或时间了。
分析日志文本文件,解决Wingate的小难题 如果你使用的是Wingate,那么你也很幸运,它同样记录了网络中客户机的访问情况。它的客户机访问情况记录在一个日志文件中,此日志文件是个文本文件。在日志记录方面,Wingate相对较差一些,它没有提供将日志记录到数据库的功能。如果要实现计费,管理员就不得不对其日志文件进行分析。Wingate日志文件保存的路径为: C:\Wingate\log 在此目录中,共有11种日志文件,分别对应DNS、FTP、Telnet、POP等,其中对记录流量及访问时间有用的文件分别为WWW Proxy、FTP Proxy、VDOLive Proxy、SOCKS Proxy、POP3 Server Proxy及DNS Proxy。这些文件均为文本文件,我们在程序中可以以文本方式打开以上各日志文件,分别对其进行统计。 Wingate运行时的日志记录,从中可以清楚地看到,什么时间,由哪一台机器或哪一个人,访问了什么信息,信息的长度,所用的时间等一目了然。准确地分析、统计日志文件中的相关数据,可以实现上网计费。 以上为Wingate记录的WebPorxy访问日志。
笔者从实际工作中总结出,要实现局域网中的电脑通过代理服务器上网的计费,是可以的。通常情况下,管理员首先要查看一下代理服务器的日志功能,查看日志可不可记录到数据库中。要实现计费,最好是将日志记录到数据库中。如果代理服务器不支持将日志记录到数据库中,则需要查看其日志文件(日志文件大多为文本文件)。通过对文本进行分析,也可以达到计费的目的。笔者没有对其他的代理服务器软件做过仔细考察,用户可以根据自己实际情况查看帮助文件。
|