如何在 Linux 中从命令行轻松确定网络交换机的 IP 地址?

如何在 Linux 中从命令行轻松确定网络交换机的 IP 地址?

我正在尝试确定几个 Linux 机箱所插入的网络交换机的 IP 地址。

背景:我需要知道它们插入哪个物理端口,这样机器才能自动检测它们的“空间位置”(因为某个端口硬连线到特定位置)。

端口检测本身是通过 SNMP 完成的,效果很好,但显然我需要交换机的 IP。

我目前正在做的事情是:运行 nmap(meh...)并对整个子网进行 ping 扫描(或者扫描 telnet,因为交换机已打开此端口),然后检查 ARP 缓存并通过检查 MAC 地址来检索 IP,因为我知道要寻找哪个制造商的部件。

问题:有没有更简单的方法(避免使用 nmap),我已经尝试过 arp 广播,但似乎没有为交换机提供 arp 缓存条目。有问题的交换机是Planet Technology 的 IGS-801M,这六个设备直接插入,它们之间没有任何网络连接。

交换机通过 DHCP 或甚至自动分配(169.x.x.x)获取其 IP 分配,静态 IP 不是一种选择。

我也尝试了诸如 traceroute 之类的东西并希望交换机会显示为跳跃,但由于它只是(悄悄地)将东西转发到网关,所以它不会显示。

有任何想法吗?

答案1

很可能你的开关没有IP地址(作为一个路由器将)并打开数据链接

也许仍然可以检测到跳数(我猜这是你想要的),但不能用 Nmap;可能级别太高使你的开关隐形。也许这个家伙的netdisco 的推荐可以帮助。

以下是一本手册 ctrl+f对于level 2,我不知道,也许那里有一个明确的答案。但我不知道如果是的话,它是否会妨碍你的探索。

答案2

您可以尝试跟踪电缆,但众所周知,有时这会导致极大的挫败感。如果交换机已打开 CDP 或 lldp,您可以使用它来查找。

我知道 Debian 包含 CDP 和 LLDP 软件包,但不确定其他发行版是否包含。

答案3

IGS-801M具有支持 L2 到 L4 的安全功能。所以我猜它可能有一个 IP 地址。

  • Ping 广播 IP 地址当前网络的 PC 状态。所有 PC 默认配置为不响应广播 ping,作为一项安全措施。因此,您唯一能得到的响应来自交换机(如果有路由器,也可能来自路由器)

或者

  • 如果像您所说的那样,您知道 mac 的 OUI 部分,请检查 DHCP 服务器的 IP 绑定。

PS:您可以从 DHCP 服务器为 MAC 地址“保留”一个 IP。使用您能记住的 IP 对交换机的 MAC 地址执行此操作,这样您就不必每次都检查

答案4

此交换机工作在二层,因此交换机没有 IP 地址。IP 协议是三层,您应该搜索交换机是否有管理端口(以及连接该端口的地址)。

相关内容