作者 :ailms <ailms{@}qq{dot}com>
版本 :v1.1
完成时间 :2008/02/02 0:28
**************************************************************************************
一、介绍
由于 ISC DHCP 没有提供相应的统计工具,所以只能自己动手写一个。sourceforge.net 上也有很多,例如
php DHCP hosts list : 一个 php 脚本,用于列出一个 DHCP 服务器上的 host 信息
rogueDetect :发送一个“诱骗”作用的 DHCP DISCOVER ,并等待非权威的 DHCP 服务器消息,以找出未授权的 DHCP 服务器
phpDHCPAdmin :一个基于 web 界面的管理 DHCP 工具。有认证、错误检查、数据库驱动,简单易用
Analyzes of behavior of protocol DHCP :dhcpmap 能够“注入”和捕捉 DHCP 流量
dhcpphp :一个 PHP 脚本,用于显示一个 DHCP 服务器的 leases 记录
webDHCP :类似 phpDHCPAdmin 的工具
DHCP lease parser :是一个简单的守护进程,它把 DHCP 服务器的 leases 状态的变化记录到一个数据库,以便历史查询。
同时该工具还提供了一个历史记录以供查询
Lanloard DHCP lease tracker :一个 CGI 程序,用于跟踪 DHCP leases
ISC DHCP dhcpd.conf parser and editor :以一个友好的界面方便你编辑 dhcpd.conf
DHCPdetector :用于检测网络上的 DHCP 服务,主要是为了找出 rogue DHCP
reportdhcp.pl :一个用于汇报 DHCP 统计信息的 perl 脚本,需要启用 web 服务
所以俺也动手写了一个,功能比较简单,主要有 :
1、查询某个 mac 的租用记录 (v1.0)
2、查询某个 ip 地址的租用记录 (v1.0)
3、查询某个主机名的租用记录 (v1.0)
4、允许指定查询的开始时间和结束时间。开始时间默认为当天0点,结束时间默认为当前。(v1.0)
5、列出所有曾经被租用的 ip 以及它们目前的状态 (v1.0)
6、许指定某个备份的 lease.record.<date> 进行查询。(v1.1)
7、每月15日的0点10分自动把 lease 记录以 lease.record.<date> 备份,所以意味着默认只能查15天内的数据 (v1.1)
二、限制
目前暂时不考虑 DHCP Failover 以及 DHCP Omshell 的分析(这两个东西都会在 dhcpd.leases 中写数据)。
该脚本只记录客户机的 mac、客户机的主机名(如果有的话)以及 lease 的开始/结束时间/状态。
由于环境所限,只有1台客户机可供测试,所以欢迎各位朋友多多指正
三、 脚本组成
a) lease_wath.sh ,主要是跟踪 /var/lib/dhcp/dhcpd.leases 文件的输出,并固定输出到某个文件(默认是 /tmp/lease.record)。
每次只能启动一个 lease_watch.sh ,否则程序会报错(Error!Another lease_watch is running!)
b) parse.sh :完成上述的功能的第1~6 项 。
c) rotate.sh :每月15日的0点10分自动把当前的 /tmp/lease.record 备份为 /tmp/lease.record.<date> ,同时重启 lease_watch。
四、屏幕截图
按 ip 选择:
按 mac 选择 :
按 hostname 选择:
指定某个历史文件进行查询
列出所有曾经被租用的 ip 以及其状态 :
语法 :