linux 查询dhcp服务,查找局域网中的DHCP服务器

某天,在xenserver中的某一台主机启动后发现IP地址是DHCP获得的,但是网段却是我从没有配置过的。想了很久都不记得自己曾经架过这么一台DHCP服务器。我要做的就是揪出它,看看是哪台机器在提供DHCP服务。google了下,找到了通过抓包的方法,经验证是可行的。

查看dhcp client的IP地址是172.20.10.54

eth0      Link encap:Ethernet  HWaddr 00:16:3E:14:0A:74

inet addr:172.20.10.54  Bcast:172.20.10.255  Mask:255.255.255.0

inet6 addr: fe80::216:3eff:fe14:a74/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:2657 errors:0 dropped:0 overruns:0 frame:0

TX packets:188 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:232533 (227.0 KiB)  TX bytes:33943 (33.1 KiB)

登陆到dhcp client上,利用dump.html' target='_blank'>

stat.html' target='_blank'>netstat -an|grep 67

netstat -an|grep 68

查看哪个端口目前在监听,tcpdump的port选项就填正listen的那个端口。

开始抓包

[root@linuxso.com ~]# tcpdump -e -i eth0 -nn port 67

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

09:12:24.805483 00:16:3e:14:0a:75 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:16:3e:14:0a:75, length: 300

09:12:24.806055 00:16:3e:14:0a:75 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:16:3e:14:0a:75, length: 300

09:13:39.274700 00:16:3e:14:0a:73 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:16:3e:14:0a:73, length: 300

09:14:36.020156 00:16:3e:14:0a:74 > 14:fe:b5:d9:05:d8, ethertype IPv4 (0x0800), length 342: 172.20.10.116.68 > 172.20.10.230.67: BOOTP/DHCP, Request from 00:16:3e:14:0a:74, length: 300

09:14:36.020564 14:fe:b5:d9:05:d8 > 00:16:3e:14:0a:74, ethertype IPv4 (0x0800), length 342: 172.20.10.230.67 > 172.20.10.116.68: BOOTP/DHCP, Reply, length: 300

如果用tcpdump这个命令等了一会还是没有包出来后,可以人为的ping某台机器试试,例如

[root@linuxso.com ~]# ping 172.20.10.117

PING 172.20.10.117 (172.20.10.117) 56(84) bytes of data.

64 bytes from 172.20.10.117: icmp_seq=1 ttl=64 time=0.367 ms

64 bytes from 172.20.10.117: icmp_seq=2 ttl=64 time=0.157 ms

64 bytes from 172.20.10.117: icmp_seq=3 ttl=64 time=0.172 ms

64 bytes from 172.20.10.117: icmp_seq=4 ttl=64 time=0.159 ms

64 bytes from 172.20.10.117: icmp_seq=5 ttl=64 time=0.157 ms

这样就能利用tcpdump抓到dhcp的包了,就能发现到底是哪台dhcp服务器在作祟了。

可以看到原来是172.20.10.230这台服务器在提供dhcp服务,ssh连上去停掉dhcp服务即可!!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值