昨天大雪(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]# |