DHCP 数据包在交换机的所有端口上广播?

DHCP 数据包在交换机的所有端口上广播?

我想要监控连接到 4 端口交换机/路由器的客户端 PC 上的 DHCP 数据包。

我是否也能够看到连接到此交换机其他端口的客户端发送或接收的 DHCP 数据包?

答案1

DHCP 发现并请求(从客户端到服务器):是的。这些是广播,因此同一网段上的每个人都会收到它们。

DHCP 提供和确认(从服务器到客户端):通常不会。在交换网络上,这些数据包只会转发给请求它们的客户端,并使用交换机的 ARP 表来确定物理端口。另外,我记得使用埃特卡普大概10到15年前就是为了这个目的。

-然而-

你可以通过嗅探找到它。其概念如下:

  1. 欺骗目标的 MAC 地址

  2. 接收并读取数据包

  3. 处理完数据包后重新插入(转发),以便数据包能够到达正确的目的地

许多软件套件以各种形式和形式结合了上述三个步骤,但最常见的一种是Wireshark适用于多种平台。这还允许您查看操作系统通常会忽略的 DHCP 请求。tcpdump 也是一种非常常见的工具,但据我所知,它仅适用于 Linux 和类 Unix 系统,而且它不进行欺骗嗅探。

基本上,除了数据包捕获功能之外,您所追求的是允许“通过 ARP 中毒进行统一嗅探”的功能。

答案2

您将能够看到播送来自服务器和客户端的消息,但有些信息将通过单播而不是广播,这取决于客户端的状态以及它如何选择遵循 RFC 2131 规范。您可能能够看到交换机上其他端口的一些单播流量,但不要指望。续订通常使用单播。

http://www.freesoft.org/CIE/RFC/2131/33.htm

当 DHCP 客户端知道 DHCP 服务器的地址时,无论是处于 INIT 状态还是 REBOOTING 状态,客户端可能使用该地址在 DHCPDISCOVER 或 DHCPREQUEST而不是IP广播地址。

该表总结了一些广播/单播状态。 http://www.freesoft.org/CIE/RFC/2131/28.htm

发现数据包始终被广播。请求数据包始终被广播如果客户端没有地址,可能续订时单播。提供和确认数据包可能取决于实现。我建议阅读 RFC 以熟悉何时使用广播。与续订相比,您更有可能在初始地址获取时看到流量。

相关内容