我认为大多数人都是反过来问这个问题的——访问交换机并查询 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'
我会检查存在哪些品牌的交换机,然后找出它们可能使用的发现协议,然后嗅探候选者(可能需要几分钟才能收到数据包)。