如何查看哪个制造商拥有 MAC 地址 range/prefix
How to see what manufacturer owns a MAC address range/prefix
我正在寻找一种方法来以编程方式获取在他们购买的 block/range 中拥有 MAC 地址的供应商的名称。最好通过查询一些 API 或数据库,语言不可知。或者如果应用程序有其他我不知道的方式。
例如,运行 nmap -sn 192.168.1.0/24
具有 root 权限会产生
...
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 Whosebug question references a site that appears to do this,但它似乎自 2013 年以来就没有更新过,也没有公开任何 API 端点。最值得注意的是,它没有更新的 MAC 地址块,Raspberry Pi 基金会为他们的新模型保留(在 Raspberry Pi 团队下,或类似的东西)。
- 我发现 IEEE 通过 their site 处理这些注册,但它似乎是针对他们的客户的,我找不到他们的搜索功能的公开端点。
- 在上面链接的同一个 IEEE 页面上,我似乎可以获得他们整个数据库的 CSV 文件。然而,这看起来很大,并且必须积极保持最新。 nmap 是否附带从这些文件本地生成的更新数据库?
如果像我设想的 public-面向 API 不存在,我会自己制作一个来取乐。我首先想知道我是否在考虑这个错误,以及是否有我没有找到的官方“规范”方式。如有任何帮助,我们将不胜感激,谢谢。
nmap 的维护者将前缀列表作为工具的一部分。你可以在这里看到它:
https://github.com/nmap/nmap/blob/master/nmap-mac-prefixes
他们通过定期导入此站点上的 public 注册表来保持最新状态:
https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries
请注意,这些文件是有速率限制的,因此您应该不将那些 csv 文件临时查询为软件包的一部分;相反,您应该做 nmap 所做的事情,并保留一个定期同步的内部列表。
我不知道有 public 可用的工具来查询它们作为 API;然而,创建一个与 nmap 相同的工作方式将是相当微不足道的。 nmap 每年不会更新该文件超过一次或两次,这让我怀疑该列表不会经常发生重大变化,以至于保留您自己的列表太繁重(您甚至可以经常下载 nmap 的列表)。
我正在寻找一种方法来以编程方式获取在他们购买的 block/range 中拥有 MAC 地址的供应商的名称。最好通过查询一些 API 或数据库,语言不可知。或者如果应用程序有其他我不知道的方式。
例如,运行 nmap -sn 192.168.1.0/24
具有 root 权限会产生
...
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 Whosebug question references a site that appears to do this,但它似乎自 2013 年以来就没有更新过,也没有公开任何 API 端点。最值得注意的是,它没有更新的 MAC 地址块,Raspberry Pi 基金会为他们的新模型保留(在 Raspberry Pi 团队下,或类似的东西)。
- 我发现 IEEE 通过 their site 处理这些注册,但它似乎是针对他们的客户的,我找不到他们的搜索功能的公开端点。
- 在上面链接的同一个 IEEE 页面上,我似乎可以获得他们整个数据库的 CSV 文件。然而,这看起来很大,并且必须积极保持最新。 nmap 是否附带从这些文件本地生成的更新数据库?
如果像我设想的 public-面向 API 不存在,我会自己制作一个来取乐。我首先想知道我是否在考虑这个错误,以及是否有我没有找到的官方“规范”方式。如有任何帮助,我们将不胜感激,谢谢。
nmap 的维护者将前缀列表作为工具的一部分。你可以在这里看到它: https://github.com/nmap/nmap/blob/master/nmap-mac-prefixes
他们通过定期导入此站点上的 public 注册表来保持最新状态: https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries
请注意,这些文件是有速率限制的,因此您应该不将那些 csv 文件临时查询为软件包的一部分;相反,您应该做 nmap 所做的事情,并保留一个定期同步的内部列表。
我不知道有 public 可用的工具来查询它们作为 API;然而,创建一个与 nmap 相同的工作方式将是相当微不足道的。 nmap 每年不会更新该文件超过一次或两次,这让我怀疑该列表不会经常发生重大变化,以至于保留您自己的列表太繁重(您甚至可以经常下载 nmap 的列表)。