• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 27次 | 进入软件测试论坛讨论

领测软件测试网 昨天大雪(CU 某 ID 在 QQ 中的昵称)在群里问了一个问题,他们的网里有个人自己弄了 DHCP 服务器,扰乱了整个网络中 DHCP 的分配
由于交换机不带管理功能,所以难以处理,甚至有人出了“拔网线”的馊主意(具体是谁他心里清楚,也是 CU 某 ID)  javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">
经过思考,想出了一个巧妙查找网络中其他非法 DHCP 服务器的方法,经试验通过,写出来与大家分享一下

昨天大雪(CU 某 ID 在 QQ 中的昵称)在群里问了一个问题,他们的网里有个人自己弄了 DHCP 服务器,扰乱了整个网络中 DHCP 的分配
由于交换机不带管理功能,所以难以处理,甚至有人出了“拔网线”的馊主意(具体是谁他心里清楚,也是 CU 某 ID)  
经过思考,想出了一个巧妙查找网络中其他非法 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]#

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网