日志文件的来源:
AAA 服务器的功能包括验证、授权和记日志。那么 Unix 服务器也具有这三个功能,
因此可以充当一个 AAA 服务器。
验证:我们通过 telnet 登陆 unix 系统时,总要先输入用户名和密码,系统验证成
功后,用户方能进入 unix 系统进行各种操作。
授权:
记日志:当我们登陆和退出 unix 系统时,系统都会在日志文件中记上一笔,记在
何处呢?登陆到某台服务器,然后进入目录/var/adm,然后看到该目录下有一个
wtmpx 文件,日志就记录在此文件中,但此文件是一个二进制文件,用户用文本
编辑工具是无法正常的察看此文件内容的,unix 系统提供了一个专门用来查看此
文件的命令行工具 last。显示结果各个列的含义。
如何解析文件:
这是通过命令行工具来查看此日志文件,如果要在程序中读取该文件的信息并进行一
定的处理,怎么办呢?系统提供了一些读写该日志文件的函数。Utmpx 结构中每个成员的
含义,比较一下 utmpx 结构和 bidr 结构。
匹配代表用户同一次访问的登陆和退出记录
要去匹配登陆和退出记录,相邻的两条记录如果 pid 一样,且时间较早的入口类型是
7,时间较晚的入口类型是 8,就认为这两条记录代表了用户同一次访问的登陆和退出记
录。
跨时间段问题的解决
由于采集系统时每小时执行一次,匹配记录时会出现三种情况:
某一用户同一次访问的登陆和退出记录都包含在这一小时的记录中。
这种情况可以直接计算出用户本次访问总共的耗时时间。
只有某一用户同一次访问的登陆记录包含在这一小时的记录中。
说明此用户在采集系统运行时,还未退出,这样就不能计算出用户本次访问的耗
时时间,必须等用户退出后再计算,所以应将此记录存到存储登陆记录的文件中。
只有某一用户同一次访问的退出记录包含在这一小时的记录中。
说明用户是在采集系统此次采集之前登陆的,那么在存储登陆记录的文件中肯定
有此记录,根据匹配原则进行匹配。
关于从日志文件中读出的数据的过滤:
过滤掉 ut_line 以 ftp 开头的
过滤掉 ut_user 以“.”开头的
日 志
文件
采集系统 接收系统
数据库
读取
BIDR Pro*c
TCP:socket