【问题标题】:How to see what manufacturer owns a MAC address range/prefix如何查看哪个制造商拥有 MAC 地址范围/前缀
【发布时间】: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


    【解决方案1】:

    nmap 的维护者将前缀列表作为工具的一部分。你可以在这里看到它: https://github.com/nmap/nmap/blob/master/nmap-mac-prefixes

    他们通过定期在此站点上导入公共注册表来保持最新状态: https://regauth.standards.ieee.org/standards-ra-web/pub/view.html#registries

    请注意,这些文件是有速率限制的,因此您应该将这些 csv 文件作为软件包的一部分进行临时查询;相反,您应该做 nmap 所做的事情,并保留一个定期同步的内部列表。

    我不知道有公开可用的工具将它们作为 API 进行查询;但是,创建一个与 nmap 相同的工作方式将是相当简单的。 nmap 每年更新该文件的次数不会超过一到两次,这让我怀疑该列表不会经常发生重大变化,以至于保留自己的列表会过于繁琐(您甚至可以每隔一段时间下载一次 nmap 的列表)。

    【讨论】:

      猜你喜欢
      • 2013-08-03
      • 2015-12-29
      • 1970-01-01
      • 2013-11-23
      • 2019-11-24
      • 1970-01-01
      • 2015-11-20
      • 2014-03-29
      • 1970-01-01
      相关资源
      最近更新 更多