插件窝 干货文章 Linux中查找DHCP包的有效命令是什么?

Linux中查找DHCP包的有效命令是什么?

port tcpdump sudo Wireshark 449    来源:    2025-04-08

在Linux系统中,要捕获和分析DHCP数据包,可以使用以下几种工具和命令:

1. tcpdump (基础抓包)

sudo tcpdump -i eth0 -n -v port 67 or port 68
  • 参数说明
    • -i eth0:指定网卡(根据实际接口替换,如ens33等)
    • -n:禁止IP反向解析(提升速度)
    • -v:显示详细信息(-vv更详细)
    • port 67 or 68:DHCP服务端(67)和客户端(68)端口

2. tshark (Wireshark命令行版)

sudo tshark -i eth0 -f "udp port 67 or port 68" -Y "bootp.option.type == 53"
  • 参数说明
    • -f:抓包过滤(BPF语法)
    • -Y:显示过滤(筛选DHCP消息类型,53为消息类型选项)

3. dhcpdump (专用工具)

sudo dhcpdump -i eth0
  • 需要安装sudo apt install dhcpdump(Debian/Ubuntu)
  • 输出优势:直接解析DHCP字段(如IP分配、MAC地址等)

4. Wireshark (图形化工具)

wireshark -k -f "udp port 67 or port 68" -i eth0
  • 交互式分析:适合复杂场景,支持协议解码树。

关键DHCP消息过滤(以tcpdump为例)

  • Discoversudo tcpdump -i eth0 -n 'udp port 67 and udp[247:4] = 0x010106'
  • Requestsudo tcpdump -i eth0 -n 'udp port 67 and udp[247:4] = 0x010103'

注意事项

  1. 需使用sudo权限(原始套接字需要root)。
  2. 虚拟化环境需抓取物理接口或对应虚拟网桥(如virbr0)。
  3. 如果无输出,检查防火墙是否放行UDP 67/68端口。

如需持续监控,可加-w dhcp.pcap保存为文件后用Wireshark分析。