![使用笔记本电脑找出它连接到 HP 交换机端口上的哪个端口](https://linux22.com/image/668763/%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%E6%89%BE%E5%87%BA%E5%AE%83%E8%BF%9E%E6%8E%A5%E5%88%B0%20HP%20%E4%BA%A4%E6%8D%A2%E6%9C%BA%E7%AB%AF%E5%8F%A3%E4%B8%8A%E7%9A%84%E5%93%AA%E4%B8%AA%E7%AB%AF%E5%8F%A3.png)
我认为大多数人都是反过来问这个问题的——访问交换机并查询 MAC 地址。
我测试了我的笔记本电脑,想知道是否有软件(可能是 HP 的)可以告诉我笔记本电脑当前插入了哪个交换机和端口?请假设我没有交换机管理权限。如果这确实是交换机会给出的信息(安全隐患)——如果有人能指出将使用哪种协议,我可以编写自己的应用程序。
我的工作需要是:我会去一个随机的房间,将我的笔记本电脑插入墙上的以太网端口,它会告诉我连接到哪个交换机和端口。
谢谢你的建议。
答案1
这取决于交换机及其配置。
可能正在运行几种协议(思科交换机上的 CDP、北电上的 NDP、LLDP 等),它们可以告诉您位于哪个交换机和端口。
要收集这些信息你只需监听网络流量。
使用 tcpdump 获取 CDP 数据包:
tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[20:2] == 0x2000'
对于 lldp:
tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[12:2] == 0x88cc'
我会检查存在哪些品牌的交换机,然后找出它们可能使用的发现协议,然后嗅探候选者(可能需要几分钟才能收到数据包)。