【发布时间】:2022-01-19 00:46:02
【问题描述】:
我正在寻找一种方法来以编程方式获取在他们购买的块/范围内拥有 MAC 地址的供应商的名称。最好通过查询某些 API 或数据库,与语言无关。或者,如果应用程序有其他我不知道的方式。
例如,以 root 权限运行 nmap -sn 192.168.1.0/24 会产生
...
Nmap scan report for 192.168.1.111
Host is up (0.35s latency).
MAC Address: B8:27:EB:96:E0:0E (Raspberry Pi Foundation)
...
...这告诉我 Raspberry Pi 基金会“拥有”该 MAC 地址,在他们拥有的前缀范围内:B8:27:EB。
但是,我不确定nmap 是如何知道这一点的,也不知道我自己是如何发现这一点的。解析 nmap 输出对我来说不是一个理想的解决方案。这是我从网上挖掘的结果:
- This stackoverflow question 引用了 site that appears to do this,但它似乎自 2013 年以来没有更新,也没有公开任何 API 端点。最值得注意的是,它没有 Raspberry Pi 基金会为其较新型号(在 Raspberry Pi Team 下,或类似的东西)保留的较新的 MAC 地址块。
- 我发现 IEEE 通过 their site 处理这些注册,但它似乎是为他们的客户提供的,我找不到他们的搜索功能的暴露端点。
- 在上面链接的同一个 IEEE 页面上,我似乎可以获得他们整个数据库的 CSV 文件。然而,这似乎很大,并且必须积极保持最新。 nmap 是否带有从本地这些文件生成的更新数据库?
如果像我设想的那样面向公众的 API 不存在,我会自己制作一个来取乐。我首先想知道我是否在考虑这个错误,以及是否有我没有找到的官方“规范”方式。任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: api-design mac-address nmap ieee