统计 DHCP 服务器 ip 分配情况的脚本

**************************************************************************************

作者 :ailms

版本 :v1.1

完成时间  :2008/02/02 0:28

**************************************************************************************


一、介绍

  由于 ISC DHCP 没有提供相应的统计工具,所以只能自己动手写一个。sourceforge.net 上也有很多,例如

QUOTE:
  
  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. 进行查询。(v1.1)

  7、每月15日的0点10分自动把 lease 记录以 lease.record. 备份,所以意味着默认只能查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. ,同时重启 lease_watch。

  
四、屏幕截图
  
   按 ip 选择:
  
  
  
  按 mac 选择 :
  
  
  
  按 hostname 选择:
  
  

  指定某个历史文件进行查询

  
  
  列出所有曾经被租用的 ip 以及其状态 :
  
  
  
  语法 :
 


  

你可能感兴趣的:(统计 DHCP 服务器 ip 分配情况的脚本)