查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx

上传人:b****5 文档编号:6239495 上传时间:2023-01-04 格式:DOCX 页数:13 大小:127.30KB
下载 相关 举报
查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx_第1页
第1页 / 共13页
查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx_第2页
第2页 / 共13页
查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx_第3页
第3页 / 共13页
查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx_第4页
第4页 / 共13页
查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx

《查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx》由会员分享,可在线阅读,更多相关《查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx(13页珍藏版)》请在冰豆网上搜索。

查看linux下dhcp服务器分配出去的IP地址及剩余IP地址.docx

查看linux下dhcp服务器分配出去的IP地址及剩余IP地址

怎样查看linux下dhcp服务器分配出去的IP地址及剩余IP地址

1。

你可以查看防火墙信息,如图,可以清晰的看到,192.1681.200的IP给了哪个MAC地址

2./var/lib/dhcpd/dhcpd.leases这个文件专门记录了DHCP的分配情况

一、介绍

由于ISCDHCP没有提供相应的统计工具,所以只能自己动手写一个。

上也有很多,例如

QUOTE:

phpDHCPhostslist:

一个php脚本,用于列出一个DHCP服务器上的host信息

rogueDetect:

发送一个“诱骗”作用的DHCPDISCOVER,并等待非权威的DHCP服务器消息,以找出未授权的DHCP服务器

phpDHCPAdmin:

一个基于web界面的管理DHCP工具。

有认证、错误检查、数据库驱动,简单易用

AnalyzesofbehaviorofprotocolDHCP:

dhcpmap能够“注入”和捕捉DHCP流量

dhcpphp:

一个PHP脚本,用于显示一个DHCP服务器的leases记录

webDHCP:

类似phpDHCPAdmin的工具

DHCPleaseparser:

是一个简单的守护进程,它把DHCP服务器的leases状态的变化记录到一个数据库,以便历史查询。

同时该工具还提供了一个历史记录以供查询

LanloardDHCPleasetracker:

一个CGI程序,用于跟踪DHCPleases

ISCDHCPdhcpd.confparserandeditor:

以一个友好的界面方便你编辑dhcpd.conf

DHCPdetector:

用于检测网络上的DHCP服务,主要是为了找出rogueDHCP

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)

二、限制

目前暂时不考虑DHCPFailover以及DHCPOmshell的分析(这两个东西都会在dhcpd.leases中写数据)。

该脚本只记录客户机的mac、客户机的主机名(如果有的话)以及lease的开始/结束时间/状态。

由于环境所限,只有1台客户机可供测试,所以欢迎各位朋友多多指正

三、脚本组成

a)lease_wath.sh,主要是跟踪/var/lib/dhcp/dhcpd.leases文件的输出,并固定输出到某个文件(默认是/tmp/lease.record)。

每次只能启动一个lease_watch.sh,否则程序会报错(Error!

Anotherlease_watchisrunning!

b)parse.sh:

完成上述的功能的第1~6项。

c)rotate.sh:

每月15日的0点10分自动把当前的/tmp/lease.record备份为/tmp/lease.record.,同时重启lease_watch。

四、屏幕截图

按ip选择:

按mac选择:

按hostname选择:

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

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

语法:

========================

从dhcpd.lease中提取MAC和IP地址.2008-01-1022:

17:

26

从DHCP的log中提取MAC和IP地址.

/var/lib/dhcpd/dhcp.lease中的一段记录如下:

lease192.168.1.238{

starts02007/11/2511:

57:

41;

ends02007/11/2517:

57:

41;

tstp02007/11/2517:

57:

41;

bindingstatefree;

hardwareethernet00:

0c:

29:

ac:

4e:

01;

uid"\377eth0\000\001\000\001\016\354\015J\000\014)\254N\001";

}

#catdhcpd.leases|egrep'lease|hardware'|sed's/lease//g'|sed's/{//g'|sed's/hardwareethernet//g

网友给的办法.测试了一下.重复的较多.主要是出现了.同一个MAC多次获取不同的IP地址的情况

在CU上找到更好的命令[url]

catdhcpd.leases|awk'BEGIN{RS=ORS="}"}{print$2,$21,"\n"}'

或者

awk'BEGIN{RS=ORS="}"}{print$2,$21,"\n"}'dhcpd.leases

解释:

RS输入的记录他隔符新行

ORS输出的记录分隔符新行

从头查找,遇到}结束,显示第2和第21个字段.ip在第2个字段.mac在第21个字段.

这样出来的结果基本符合我们的要求.

Allso

}192.168.1.25000:

0c:

29:

ac:

4e:

01;

}192.168.1.23800:

0c:

29:

ac:

4e:

01;

}192.168.1.24100:

0c:

29:

ac:

4e:

01;

}192.168.1.24600:

0c:

29:

ac:

4e:

01;

}192.168.1.24800:

0c:

29:

ac:

4e:

01;

}192.168.1.25100:

0c:

29:

05:

ac:

8a;

}192.168.1.25300:

0c:

29:

c2:

b3:

44;

}192.168.1.24700:

0a:

eb:

f3:

39:

dd;

}192.168.1.25400:

0c:

29:

c2:

b3:

44;

}192.168.1.24900:

0c:

29:

a8:

c7:

0a;

}192.168.1.24500:

0c:

29:

79:

e2:

aa;

}192.168.1.24400:

0c:

29:

79:

e2:

aa;

}192.168.1.24300:

0c:

29:

9d:

e8:

d8;

}192.168.1.24000:

0c:

29:

a8:

59:

21;

}192.168.1.24200:

0c:

29:

9d:

e8:

d8;

}192.168.1.23900:

16:

d3:

b6:

1b:

d2;

}

缺点就是第一行多了Allso每一行多了},也就是说我们要把这个结果再处理一下.

去掉第一行和最后一行,并把它排序.

改进一下命令,由于dhcpd.lease前面7行都是注释的内容,我们跳过这些行

tail-n+8dhcpd.lease

从第8行开始显示dhcpd.lease文件

#tail-n+8dhcpd.leases|less|awk'BEGIN{RS=ORS="}"}{print$2,$21,"\n"}'

192.168.1.25200:

0c:

29:

ac:

4e:

01;

}192.168.1.25000:

0c:

29:

ac:

4e:

01;

}192.168.1.23800:

0c:

29:

ac:

4e:

01;

}192.168.1.24100:

0c:

29:

ac:

4e:

01;

}192.168.1.24600:

0c:

29:

ac:

4e:

01;

}192.168.1.24800:

0c:

29:

ac:

4e:

01;

}192.168.1.25100:

0c:

29:

05:

ac:

8a;

}192.168.1.25300:

0c:

29:

c2:

b3:

44;

}192.168.1.24700:

0a:

eb:

f3:

39:

dd;

}192.168.1.25400:

0c:

29:

c2:

b3:

44;

}192.168.1.24900:

0c:

29:

a8:

c7:

0a;

}192.168.1.24500:

0c:

29:

79:

e2:

aa;

}192.168.1.24400:

0c:

29:

79:

e2:

aa;

}192.168.1.24300:

0c:

29:

9d:

e8:

d8;

}192.168.1.24000:

0c:

29:

a8:

59:

21;

}192.168.1.24200:

0c:

29:

9d:

e8:

d8;

}192.168.1.23900:

16:

d3:

b6:

1b:

d2;

}

现在还有该死的},我们用sed命令把它替换掉.

sed's/}//g'

替换所有的}为空

#tail-n+8dhcpd.leases|less|awk'BEGIN{RS=ORS="}"}{print$2,$21,"\n"}'|sed's/}//g'

192.168.1.25200:

0c:

29:

ac:

4e:

01;

192.168.1.25000:

0c:

29:

ac:

4e:

01;

192.168.1.23800:

0c:

29:

ac:

4e:

01;

192.168.1.24100:

0c:

29:

ac:

4e:

01;

192.168.1.24600:

0c:

29:

ac:

4e:

01;

192.168.1.24800:

0c:

29:

ac:

4e:

01;

192.168.1.25100:

0c:

29:

05:

ac:

8a;

192.168.1.25300:

0c:

29:

c2:

b3:

44;

192.168.1.24700:

0a:

eb:

f3:

39:

dd;

192.168.1.25400:

0c:

29:

c2:

b3:

44;

192.168.1.24900:

0c:

29:

a8:

c7:

0a;

192.168.1.24500:

0c:

29:

79:

e2:

aa;

192.168.1.24400:

0c:

29:

79:

e2:

aa;

192.168.1.24300:

0c:

29:

9d:

e8:

d8;

192.168.1.24000:

0c:

29:

a8:

59:

21;

192.168.1.24200:

0c:

29:

9d:

e8:

d8;

192.168.1.23900:

16:

d3:

b6:

1b:

d2;

我们再把结果排序一下,让它看上去舒服一些.

#tail-n+8dhcpd.leases|less|awk'BEGIN{RS=ORS="}"}{print$2,$21,"\n"}'|sed's/}//g'|sort-n

192.168.1.23800:

0c:

29:

ac:

4e:

01;

192.168.1.23900:

16:

d3:

b6:

1b:

d2;

192.168.1.24000:

0c:

29:

a8:

59:

21;

192.168.1.24100:

0c:

29:

ac:

4e:

01;

192.168.1.24200:

0c:

29:

9d:

e8:

d8;

192.168.1.24300:

0c:

29:

9d:

e8:

d8;

192.168.1.24400:

0c:

29:

79:

e2:

aa;

192.168.1.24500:

0c:

29:

79:

e2:

aa;

192.168.1.24600:

0c:

29:

ac:

4e:

01;

192.168.1.24700:

0a:

eb:

f3:

39:

dd;

192.168.1.24800:

0c:

29:

ac:

4e:

01;

192.168.1.24900:

0c:

29:

a8:

c7:

0a;

192.168.1.25000:

0c:

29:

ac:

4e:

01;

192.168.1.25100:

0c:

29:

05:

ac:

8a;

192.168.1.25200:

0c:

29:

ac:

4e:

01;

192.168.1.25300:

0c:

29:

c2:

b3:

44;

192.168.1.25400:

0c:

29:

c2:

b3:

44;

如果只是单纯要IP或者MAC

列出IP

catdhcpd.leases|grep-o'\<[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\>'

列出MAC

catdhcpd.lease|grep-o'\<[0-9a-f]\{2\}:

[0-9a-f]\{2\}:

[0-9a-f]\{2\}:

[0-9a-f]\{2\}:

[0-9a-f]\{2\}:

[0-9a-f]\{2\}\>'

本文出自“风吹云动”博客,请务必保留此出处

1.DHCP配置文件中的parameters(参数):

表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。

主要内容见表1

参数

解释

ddns-update-style

配置DHCP-DNS互动更新模式。

default-lease-time

指定确省租赁时间的长度,单位是秒。

max-lease-time

指定最大租赁时间长度,单位是秒。

hardware

指定网卡接口类型和MAC地址。

server-name

通知DHCP客户服务器名称。

get-lease-hostnamesflag

检查客户端使用的IP地址。

fixed-addressip

分配给客户端一个固定的地址。

authritative

拒绝不正确的IP地址的要求。

2.DHCP配置文件中的declarations(声明):

用来描述网络布局、提供客户的IP地址等。

主要内容见表2:

声明

解释

shared-network

用来告知是否一些子网络分享相同网络。

subnet

描述一个IP地址是否属于该子网。

range起始IP终止IP

提供动态分配IP的范围。

host主机名称

参考特别的主机。

group

为一组参数提供声明。

allowunknown-clients﹔denyunknown-client

是否动态分配IP给未知的使用者。

allowbootp;denybootp

是否响应激活查询。

allowbooting﹔denybooting

是否响应使用者查询。

filename

开始启动文件的名称,应用于无盘工作站。

next-server

设置服务器从引导文件中装如主机名,应用于无盘工作站。

3.DHCP配置文件中的option(选项):

用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:

选项

解释

subnet-mask

为客户端设定子网掩码。

domain-name

为客户端指明DNS名字。

domain-name-servers

为客户端指明DNS服务器IP地址。

host-name

为客户端指定主机名称。

routers

为客户端设定默认网关。

broadcast-address

为客户端设定广播地址。

ntp-server

为客户端设定网络时间服务器IP地址。

time-offset

为客户端设定和格林威治时间的偏移时间,单位是秒。

++++++++++++++++++++

rpm-qa |grepdhcpd#查看主机是否安装dhcp包

#cp/usr/share/doc/dhcp*/dhcpd.conf.sample/etc/dhcpd.conf

/var/lib/dhcpd/dhcpd.leases为dhcp服务器和客户端租约建立的启动和到期时间的记录文件。

#cat/etc/dhcpd.conf

ddns-update-stylenone;#设置不要更新DDNS的设置

subnet192.168.23.0netmask255.255.255.0{#定义网段IP范围,须在本机所处网段范围内,{}内的信息表示此网段的配置信息

#---defaultgateway

optionrouters192.168.23.1;    #设置客户端默认网关

optionsubnet-mask255.255.255.0;#设置客户端子网掩码

optiondomain-name"domain.org";#设置域名

optiondomain-name-servers192.168.23.128;#设置网络内部DNS服务器的IP地址

optiontime-offset-18000;#EasternStandardTime

rangedynamic-bootp192.168.23.129192.168.23.254;#定义DHCP地址池的服务范围,需排除静态地址

default-lease-time21600;#设置默认租约时间

max-lease-time43200;#设置最大租约时间

hostns{#设置静态IP地址,用于网络内固定服务器IP,不要置于定义好的DHCP地址池范围内,否则会引起IP冲突。

hardwareethernet00:

0C:

29:

00:

5B:

78;#设置静态主机的mac地址,与IP进行绑定

fixed-address192.168.23.128;

}

}

配置/etc/dhcpd.conf

#为注释,除括号一行外,每行都应以;结尾,

设置的项目都具有独特的名称。

形式为<参数代号><设置内容>,如default-time20000

某些项目必须利用option设置,形式为option<参数代码><设置内容>

DHCP的ip分为静态ip和动态ip,如果设置静态ip需要知道要设置主机的MAC地址,#ping目标主机ip,#arp–n查看。

parameters(参数):

表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户

Defaults-lease-time:

默认租约时间,默认单位为秒

Max-lease-time:

最大租约时间,客户端超过租约但尚未更新IP时,最长可以使用该IP的时间

ddns-update-style配置DHCP-DNS互动更新模式

default-lease-time指定确省租赁时间的长度,单位是秒

hardware指定网卡接口类型和MAC地址

server-name通知DHCP客户服务器名称

get-lease-hostnamesflag检查客户端使用的IP地址

fixed-addressip分配给客户端一个固定的地址

authritative拒绝不正确的IP地址的要求

option(选项):

用来配置DHCP可选参数,全部用option关键字作为开始

optionrouters:

为客户端设定默认网关

optionsubnet-mask:

为客户端设定子网掩码

optiondomain-name:

为客户端指明DNS名字

optiondomain-name-servers:

为客户端指明DNS服务器IP地址

optiontime-offset:

为客户端设定和格林威治时间的偏移时间,单位是秒

optionntp-server:

为客户端设定网络时间服务器IP地址

optionhost-name为客户端指定主机名称。

若客户端使用windows,不要选择host-name,即不要为其指定主机名称。

optionbroadcast-address为客户端设定广播地址

declarations(声明):

描述网络布局、提供客户的IP地址等

shared-network:

告知是否一些子网络分享相同网络

subnet:

描述一个IP地址是否属于该子网

range:

起始IP终止IP提供动态分配IP的范围

host:

主机名称参考特别的主机

group:

为一组参数提供声明

allowunknown-clients/denyunknown-client:

是否动态分配IP给未知的使用者

allowbootp/denybootp:

是否响应激活查询

allowbooting/denybooting:

是否响应使用者查询

filename:

开始启动文件的名称,应用于无盘工作站

next-server:

设置服务器从引导文件中装如主机名,应用于无盘工作站。

配置文件修改完成后,#/usr/sbin/dhcpd即可运行dhcpd服务,如有错误则会将错误信息显示在屏幕上。

可以通过netstat–unlt|grep67查看dhcp的信息。

也可以通过查看/var/log.messages查看dhcp的日志信息

DHCP客户端

1.配置网卡设置dhcp方式获取IP地址。

2.然后重启网卡获取IP地址,在服务器端可以查看/var/log/messages日志信息查看客户端是否在向DHCP客户端申请IP地址,可以查看/var/db/dhcp.leases查看租约申请记录。

3.#/var/log/messages服务器端日志查看dhcp客户端申请IP地址的过程

Oct521:

50:

39masterdhcpd:

DHCPDISCOVERfrom00:

0c:

29:

54:

6b:

77viaeth0

Oct521:

50:

39masterdhcpd:

DHCPOFFERon192.168.23.132to00:

0c:

29:

54:

6b:

77(win2003)viaeth0

Oct521:

50:

39masterdhcpd:

DHCPREQUESTfor192.168.23.132(192.168.23.254)from00:

0c:

29:

54:

6b:

77(win2003)viaeth0

Oct521:

50:

39masterdhcpd:

DHCPACKon192.168.23.132to00:

0c:

29:

54:

6b:

77(win2003)viaeth0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1