当前位置:操作系统 > Unix/Linux >>

如何查找网络中其他非法DHCP服务器

由于 DHCP 协议是二层的,无法找到网络中那台非法 DHCP 服务器的源、目的 IP 地址

  如果网络里面同时有多台 DHCP 服务器,而你的交换机没有阻止 DHCP 协议的发布,那么这个网是很危险的(我所在的小区里也有这样的情况,如果我架设了 DHCP,我会看到 /var/lib/dhcp/dhcpd.leases 看到很多被分配的 IP)

  我们可以采取用 tcpdump 抓包的方法,来判断对方的 MAC,如果有了 MAC 就好办了

  普通情况下,tcpdump 抓到的包都是 3 层的,只能看到 IP 头和其他 4 层头(比如 TCP/UDP)

  tcpdump 下面有个 -e 参数

  -e Print the link-level header on each dump line.

  这个是关键,还有一个关键部分就是 port,因为 dhcp 协议会用到 UDP/67,知道这两点就好办了,抓包,抓完以后看看 MAC 就可以了

  有了 MAC 就好办了,再用 arp -n 就能看到其 IP,接下来就是在网关上封掉他的 MAC,让他“投案自首”吧 ^_^

  [root@platinum root]# tcpdump -e -i eth1 -nn port 67 -c 3 2>&1|awk '/bootp/{print " --> "}'

  0:0c:85:ad:e5:af --> ff:ff:ff:ff:ff:ff

  e7:0a:19:80:03:09 --> 0:0c:85:ad:e5:af

  0:0c:85:ad:e5:af --> e7:0a:19:80:03:09

  [root@platinum root]#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,