公司里面时常有非法的DHCP服务器, 一般不是员工有意为之的, 可能是病毒或者木马自带的. 这样的DHCP服务器有个名字: rogur DHCP.
这样的DHCP服务器可能会带来网络安全或者公司信息泄密问题.
其实最好的办法是通过硬件解决, 交换机如果支持DHCP SNOOPING功能, 可以设置屏蔽非法DHCP发出的响应.
目前不具备这个条件, 因此, 考虑通过软件侦测到rogur DHCP, 然后纠正错误.
这里选择的是scapy, 功能很强大, 不只是可以侦测DHCP.
想侦测到非法的DHCP难度还是比较大的:
- DHCP使用UDP协议, 不像TCP建立可靠连接, 因此无法从建立连接角度发现服务器端;
- nmap一般可以扫描UDP端口, 不过也是采用推测的办法, 如果UDP服务器端对扫描发送的零长度请求不回应, 也无法扫描到, 往往rogur DHCP就是这样的.
scapy可以模拟DHCP客户端, 按照DHCP协议发送伪造的DHCP请求, 引诱rogur DHCP上钩.
安装scapy:
sudo apt-get install python-scapy
在ubuntu server下, 安装还是很简单的.
scapy是个交互的运行环境, 启动它:
sudo scapy
然后, 可以写命令伪造请求, 然后查看接收到的DHCP响应, 并列出服务器的IP地址和MAC地址.