注 .:要探知网.络上其他的非法 DHCP 服务器,可以用 tcpdump 等抓包软件,--- 印刷
本方法只.是用于在没有安装该类软件或者对 tcpdump 不熟悉的情况下的.一种代替方法, 婚庆
尽量从 DH.CP 协议本身入手
一、首先简单介绍一下 D.HCP 的工作流程 乙肝
1、客户机发送 DHCPDISCOVER 广播消息 ,这个消息.的 src ip 是 0.0.0.0 ,dst ip 是 255..255.255.255 。src mac 是客户机的 .mac ,dst mac 是 --------------彩票
ff.:ff:.ff:ff:ff:ff 。 注意!如果这个客户机之前获得某个 ip ,则它会使用 option requ.ested-ip-address 来申明希望继续使用某个 ip ,否则为空.
2.、每个收到这个广播的 DHCP 服务器都会返回一个 DHCPOFFER ,src ip 是 DHCP 服务器的 ip ,dst ip 是 0.0.0..0 ,src. mac 是服务器的 mac ,dst mac 是--- 印刷
客户机的 mac. 。注意,服务器会在发送 DHCPOFFER 之前对要分配的 ip 发送一个 ping .包,如果收.到响应则表示该 ip 被占用,不能分配,否则则可以被分配 乙肝
3、客户机可能会收到多个 DHCPOFFER ,这时它处于 RFC 2131 中所规定的 SELECTING 状.态。它可以从多.个 OFFER 中挑.选一个合适的。 建材
. 默认是只接受第1个收到的 OFFER ,忽略其他的。.这里正是我们需要修改的。电影
4、客户机发送一个 DHCPREQUEST 消息,src ip 是 0.0.0.0 ,dst ip 是 255.255.255.255. 。src mac 是客户机的 mac , ds.t mac 是 ff:ff:ff:f.f:ff:ff。域名
然后通过 option server-identifier 告诉所有 DH.CP 服务器它.选择的是那个 DHCP 服务器的 OFFER。.
. 注意,在这个时间,.客户机实际上已经拿到了 ip 了,可以实现点-点的通信了学习
5、其他没有被接受的 DHCP 服务器在收到 DHCPREQUEST 后就会知道.自己的 OFFER 没有被接受,也就不再关.心了.
6、那个被选中的 DHCP 服务器返回一个 DHCP ACK 消息,src ip 是自.己的 ip ,dst ip 是客户机的 ip 。src mac 是服.务器的 mac ,dst. mac 是客户机的 mac--- 印刷
7、这就完成.了一个 lease 。.
8、如果客户机.是续约,且 Server 发现之前的 ip 已经过期,而且被另外一台客户机所申请,且该服务器是“权威.的“则会返回一个 DHCPN.AK ,客户机则放弃申请域名
该 ip ,并从 D.HCPDISCOVER 开始,而不是从. DHCPREQUEST 开始。.
二、什么是 R.ogue DHCP ?
由于目前 DHCP 没有认证.功能,如果有人无心启动了 DHCP 服务,但又没有配置好 /etc/dhcpd..conf ,这时就会.干扰正常的 ip 租用。.
举.个例子,我有一个 “权威” 的 DHCP 服务器 172..17.64.34 ,提供的地址是从 172.17.64.244 ~ 248. 。这时有人非法启动了一个 DHCP 服务器 ,.
其 ip 为 172..17.64.39 , 分配的地址为 .172.17.64.249~254 。教育
假设有一台客户机,它.申请 ip 时 ,那台”非法“的 DHCP 服务器先返回一个 DHCPOFFER ,则客户机会拿着那个”非法.的 ip“。 美容
然后在后续的过.程也会继续申请该 ip ,这就可能.造成那些由”权威“的 DHCP 服务器分配的 ip 发生冲突的情况。 美容
三、什么是“权威的”.DHCP 服务器.
就是允许返回 DHCPNAK 的 DHCP 服务器。默认 ISC D.HCP 服务.器都不会认为自己是“权威的” 健康
只有那些“权威的.” DHCP 服务器才能对一个非法的 request 返回一个 DHC.PNAK。.
你必须在 /etc/dh.cpd.co.nf 中加入下面的指令--------------彩票
authoritative;
复制代码
具体方法
该方法需要一台空闲的客户机。
1、设置接口
BOOTPROTO=dhcp
PEERDNS=no
复制代码
2、设.置 /etc/dhclient.conf : 汽车
sel.ect-timeout 5; 女人
interface "e.th1" {.
. send fqdn..server-update on; 婚庆
send dhcp-client-identifier "my-dhcp-client..n7css.com.";.教育
. send fqdn.fqdn "my-dh.cp-client.n7css.com."; 电子
. se.nd fqdn.encoded on;.
. send host-name "m.y-dhcp-client.n7css.com."; 婚庆
} . 女人
复制代码
第一句是最主要的。目的让客户机不要立即选择 DHCPOFFER ,而是等待5秒。否则 dhclient 只会打印它所接受的那个 DHCP.OFFE.R 婚庆
3、以 root 身.份执行命令教育
[root@my-dhcp-client roo.t]# d.hclient -1 eth1 汽车
Intern.et Systems .Consortium DHCP Client V3.0.1.
Cop.yri.ght 2004 Internet Systems Consortium.(广告)
All rights reserve.d. 健康
For info, please visit
http://www.isc.org/products/DHCP.
. . . .投资
L.isten.ing on LPF/eth1/00:01:02:97:75:d3.
Sending on. LPF/eth1/00:01:02:.97:75:d3 电子
Sending on . Socke.t/fallback虚拟主机
DHCPDISCOVER on eth1 to 255.255.255.255 por.t 67 interval. 7.
DHCP.OFFER from 172.17.64..39.
DHCPOFFER from 172.17...64.34服务器
DHCPREQUEST on et.h1 to 255.255..255.255 port 67( 游戏 )
DHCPA.CK from 172.17.64.34 女人
bound to .172.17.64.247 -- ren.ewal in 2726 seconds. 汽车
[root@m.y-dhcp-client. root]#域名
复制代码
可以看到上面指出 dhclient 收到两个. DHCPOFFER ,一个是来自 172.17.64.39 ,一个是来自 172.17.64.3.4 , 乙肝
所以你只要用
gre.p DHCPOFFER |grep -v '172..17.64.39' |awk '{print $3}' (广告)
复制代码
就可以找出有那些非法的 DHCP .服务器了 汽车
此外还有一个想法,就是利.用 dhclient.conf 中的 requir.e 来强制客户机只能从那些服务器获得 ip服务器
只有 server 返回某个选项时(我们可以自定义一个 opti..on space ),客户机才接受这个 offer ,否则拒绝--- 印刷
不知道有没有人试过? http://upload.bbs.csuboy.com/Mon_1004/126_6627_a65c98fee2add0b.gif[/img]
[ 本帖最后由 ailms 于 2008-2-20 09:.39 .编辑 ] 鲜花