确定我的networking中是否有stream氓DHCP服务器的最佳方法是什么?
我想知道大多数pipe理员如何处理这类问题。 我通过search发现了DHCP Probe ,并想过尝试一下。 有没有人有经验呢? (我想知道之前花时间来编译和安装)。
你知道任何有用的工具或最佳做法findstream氓DHCP服务器?
一个简单的方法是简单地在计算机上运行一个像tcpdump / wireshark这样的嗅探器,并发出一个DHCP请求。 如果你看到从你真实的DHCP服务器以外的任何报价,那么你知道你有一个问题。
回顾并添加一些其他答案:
暂时禁用您的生产DHCP服务器,看看其他服务器是否响应。
你可以通过在Windows机器上运行ipconfig /all
来获取服务器的IP地址,然后通过使用arp -a
来查找IP地址来获得MAC地址。
在Mac上,运行ipconfig getpacket en0
(或en1)。 见http://www.macosxhints.com/article.php?story=20060124152826491 。
DHCP服务器信息通常在/ var / log / messages中。 sudo grep -i dhcp /var/log/messages*
当然,禁用生产DHCP服务器可能不是一个好的select。
使用专门查找恶意DHCP服务器的工具
请参阅http://en.wikipedia.org/wiki/Rogue_DHCP了解工具列表(其中许多工具已在其他答复中列出)。
configuration交换机以阻止DHCP提供
大多数pipe理型交换机都可以configuration为防止恶意DHCP服务器:
dhcpdump ,它以tcpdump的formsinput,只显示与DHCP相关的数据包。 帮助我find了rootkit的Windows,在我们的局域网中伪装成DHCP。
Wireshark / DHCP浏览器/ DHCP探测方法适用于一次性或定期检查。 不过,我build议您查看您的networking上的DHCP监听支持。 此function将为networking上的恶意DHCP服务器提供持续保护,并得到许多不同的硬件供应商的支持。
这是思科文档中指出的function集。
•validation从不受信任的来源接收的DHCP消息,并过滤出无效的消息。
•速率限制来自可信和不可信来源的DHCPstream量。
•构build和维护DHCP监听绑定数据库,其中包含有关具有租用IP地址的不可信主机的信息。
•使用DHCP监听绑定数据库validation来自不受信任主机的后续请求。
dhcploc.exe是Windows系统上最快最方便的方式。 它在XP支持工具中可用。 支持工具位于每个OEM /零售XP磁盘上,但可能或不可能位于某些OEM提供的“恢复磁盘”上。 你也可以从MS 下载它们。
这是一个简单的命令行工具。 你运行dhcploc {yourIPaddress} ,然后按'd'键做一个虚假的发现。 如果在不按任何键的情况下保持运行状态,则会显示每个DHCP请求并接听。 按'q'退出。
Scapy是一个基于python的包制作工具,适用于这些sorting任务。 这里有一个如何做到这一点的例子。
扩展l0c0b0x关于使用bootp.type == 2
作为filter的注释。 bootp.typefilter仅在Wireshark / tshark中可用。 它在tcpdump中是不可用的,他的评论的上下文位置使我相信。
Tshark完美地为此工作。
我们将networking划分为多个广播域,每个广域都有自己的基于Linux的探测器,在“本地”广播域和pipe理子网上以某种方式存在。 Tshark与ClusterSSH相结合,使我可以轻松地在networking的另一个angular落寻找DHCPstream量或(对于其他任何事情)。
这将使用LinuxfindDHCP答复:
# ifconfig ethX promisc # tshark -i ethX -n port 68 -R 'bootp.type == 2'
一旦你确定在networking上有一个stream氓DHCP服务器,我发现解决这个问题的最快捷的方法是…
给整个公司发一封电子邮件说:
“你们哪一个在局域网中增加了一个无线路由器,你已经为其他人杀死了互联网”
期待一个不客气的反应,或冲突的设备消失,快:)
禁用主DHCP服务器并(重新)configuration连接。
如果你得到一个IP地址,你有一个stream氓。
如果你有一个Linux的方便,标准的dhcpclient告诉你的DHCP服务器的IP地址(否则你可以嗅探stream量,看看DHCP响应来自哪里)。
有几种方法,如果你运行一个小的networking,最简单的方法是closures/禁用/取消你的DHCP服务器,然后在客户端上运行IPCONFIG /续订或类似的,如果你获得和IP你有什么rou onnetworking。
另一种方法是使用Wireshark数据包捕获器/分析器来查看您的networkingstream量并查找DHCP连接,这里有一个实验室工作表。
另外还有一些可用的实用程序,它们是您在原始文章中提到的DHCP探针。
您可以使用Microsoft的RogueChecker:
原始链接: http : //blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
链接与下载: https : //web.archive.org/web/20141022013752/http : //blogs.technet.com/b/teamdhcp/archive/2009/07/03/rogue-dhcp-server-detection.aspx
也读了这个资料:
您可以对您的networking执行ping扫描,然后将其与您的DHCP服务器分配的DHCP租约数进行比较。
您需要对静态设备(路由器接口和打印机)的数量有一个大概的了解,这个设备会略微偏离这个数字,但是这应该是一个在多个networking上快速而准确地识别它们的方法。