确定 LAN 上设备之间的交换机

确定 LAN 上设备之间的交换机

我所在的网络中大多数设备都是 DHCP。如果我在设备 A 和 DHCP 服务器之间有几个交换机,我该如何找出它们是什么?

traceroute 只给我 1 跳,不管设备 A 和 DHCP 服务器之间有多少个交换机。

答案1

如果它们是思科交换机(可能性很高)并且已打开 CDP(可能性相当高),那么您可以嗅探网络中的 CDP 流量。

CDP 是链路层协议,可以帮助您确定第 2 层拓扑。(正是您要找的)

有关该协议的更多信息: http://en.wikipedia.org/wiki/Cisco_Discovery_Protocol

CDP 是思科专有的,但其他供应商也有类似的东西,还有一个称为 LLDP 的“官方标准”。

http://en.wikipedia.org/wiki/Link_Layer_Discovery_Protocol

在大多数 Linux 主机上,您可以安装一个名为“cdpr”的软件包,它将嗅探并报告解码后的 CDP 帧(如果收到)。

上述方法可以让您知道您的终端设备插入了哪个交换机,但您会错过中间的任何中间交换机跳数。

如果您没有看到任何 CDP 或 LLDP 帧,您可以通过查看生成树寻址来对所连接的交换拓扑做出一些推断。

祝你好运。

答案2

如果无法访问交换机来跟踪 mac 地址(例如,您知道设备 A 已连接到交换机 1 端口 10,然后您将搜索设备 B 的 mac 并跟踪到它所连接的端口),就无法找出两个设备之间有多少个交换机。

答案3

唯一的方法是访问交换机本身。如果您只能访问终端主机,则无法获得有关完整拓扑的信息。

如果您是网络管理员,我建议您尽快手动记录物理拓扑。可能有开源和/或供应商工具可以帮助您入门,但您的网络拓扑应该是您有计划地跟踪和修改的东西,而不是您定期发现的东西。

如果您是网络用户并且想要了解拓扑结构,最好的选择是与管理员沟通,通过某种自助服务门户或 API 提供此信息。

答案4

Traceroute 只会在路由器上为您提供跳数。交换机不进行任何路由,因此它们对 traceroute 不可见。您想要“查看”交换机之间的原因是什么?

相关内容