在网络拓扑中定位计算机

Locate Computer in Network topology

我问自己好几天了,找不到明确的答案。

想象一个有多个房间的网络,每个房间都有自己的(第 2 层)交换机。 然后将它们以星形拓扑连接到另一个交换机,然后再连接到路由器。 所有客户端都从同一范围获取 IP,所有客户端都在同一子网和同一 VLAN 中。

你知道如何在不涉及交换机的情况下确定哪个客户端连接到哪个交换机的方法吗?例如,仅在客户端发生的技术和机制。

目标是能够绘制网络中客户端分布的自动地图,但是,正如我所说,不涉及交换机(例如访问它是 API 或类似的东西)。

问候 我

我意识到没有办法做到这一点。 问题是,在 OSI 模型的第 2 层上工作的普通网络交换机不适用于 traceroute 等工具。

如果您想跟踪路由到,假设:google.com,您的跟踪路由应用程序将 TTL 为 1 的数据包发送到您的默认网关。您的默认网关随后会降低 TTL 并丢弃该包,因为它已达到 TTL 0。 因此,它会回答您的计算机,并且您的计算机可以从收到第一个答案的地方进行记录。 然后它再次发送一个包到 google.com,但这次 TTL 为 2,并且该过程从头开始。

现在你不能用交换机做你能用路由器做的事,因为(普通的第 2 层)交换机不知道 IP...

Cisco 提供 layer2 traceroute 实用程序,但这仅限于 cisco 生态系统并且仅适用于 cisco 硬件。

所以,我担心答案是,一般来说这是不可能的。

恐怕你是对的:一般来说,在 "normal" 网络中(这意味着:在只有标准交换机和路由器的网络中),没有办法这样做。

只有当交换机被管理时,您才可以编写一个脚本来轮询来自交换机的 arp 表,但这当然不适用于非托管交换机。