从MAC地址获取OUI供应商信息的命令行工具?

从MAC地址获取OUI供应商信息的命令行工具?

我发现一些工具似乎可以更新OUI MAC 地址供应商数据库在我的系统上,比如得到奥伊,airodump-ng-oui-更新或者update-oui

update-oui(8)                          OUI                         update-oui(8)

NAME
       update-oui - download new version of the OUI and IAB lists

SYNOPSIS
       update-oui

DESCRIPTION
       update-oui  fetches  the  current  version  of the OUI and IAB lists from
       http://standards.ieee.org/regauth/oui/index.shtml and installs it, if the
       installed versions is older than 5 days.

       This utility requires curl, wget or libwww-perl to be installed.

OPTIONS
       -q     Be quiet. Do not output messages.

       -f     Force the update, even if the file is newer than 5 days.

FILES
       /usr/share/misc/
              Directory holding symbolic links to oui.txt and iab.txt

但如果我在我的网络上搜索 IP:

luis@Zarzamoro:~$ sudo netdiscover -i eth1

 92 Captured ARP Req/Rep packets, from 12 hosts.   Total size: 5520
 _____________________________________________________________________________
   IP            At MAC Address      Count  Len   MAC Vendor
 -----------------------------------------------------------------------------
 192.168.4.31    bc:f1:f2:12:b4:93    60    3600   Unknown vendor
 192.168.4.24    f0:db:e2:de:11:80    02    120   Unknown vendor
 192.168.4.242   00:1d:7e:9c:6e:fc    05    300   Cisco-Linksys, LLC
 192.168.4.243   00:1c:10:64:63:ac    05    300   Cisco-Linksys, LLC
 192.168.4.244   00:1c:10:64:5f:94    05    300   Cisco-Linksys, LLC
 192.168.4.1     d8:61:94:e5:0b:1d    05    300   Unknown vendor
 192.168.4.246   00:1a:70:2f:ab:4b    04    240   Cisco-Linksys, LLC
 192.168.4.10    84:11:9e:2b:1c:d6    01    060   Unknown vendor
 192.168.4.11    ec:1f:72:5d:42:d0    02    120   Unknown vendor
 192.168.4.245   00:1a:70:2f:aa:63    01    060   Cisco-Linksys, LLC
 192.168.4.248   00:1a:70:2f:aa:d1    01    060   Cisco-Linksys, LLC
 192.168.4.251   44:d9:e7:0a:0b:98    01    060   Unknown vendor

只要有一些 MAC 报告为Unknown vendor,我就想在任何 OUI 数据库中搜索其信息。

什么是正确的命令行执行此操作的方法搜索
也许是这样的:

oui-info 44:d9:e7

注意:我知道使用网络浏览器可以搜索 MAC 的前 3 对,但我想要一些命令行方法,这样我可以编写脚本或通过远程登录 (SSH) 使用。

答案1

我认为没有一个自动化工具可以完成您所要求的操作,但可以通过直接处理文件 oui.txt 来完成。

首先它标识下载的文件,例如:

root@kalilloX:~# locate oui.txt
/var/lib/ieee-data/oui.txt

然后搜索您感兴趣的字符串。您必须删除:或插入-

root@kalilloX:~# grep -i "44d9e7" /var/lib/ieee-data/oui.txt
44D9E7     (base 16)        Ubiquiti Networks, Inc.

答案2

与 LilloX 的答案类似,但是使用 nMap(如果系统中已安装):

luis@balanceador:~$ locate nmap-mac-prefixes
/usr/share/nmap/nmap-mac-prefixes
luis@balanceador:~$ grep 0024A5 -i /usr/share/nmap/nmap-mac-prefixes
0024A5 Buffalo

据称与存储 OUI 信息的任何其他程序一起使用,例如airodump-ng-oui-updateoui.txt在本例中为文件)或其他几个程序:

  • /usr/share/btscanner/oui.txt
  • /usr/share/bluelog/oui.txt
  • /usr/share/ieee-data/oui.txt
  • /usr/share/golismero/thirdparty_libs/netaddr/eui/oui.txt
  • /usr/share/metasploit-framework/vendor/bundle/ruby/2.1.0/gems/packetfu-1.1.11/examples/oui.txt
  • /etc/unicornscan/oui.txt
  • /var/lib/ieee-data/oui.txt

答案3

跨发行版全自动解决方案:

以下脚本自动执行该过程并适用于所有 Linux 发行版,因为它不依赖于专用软件包。它只是解析命令的输出ip,将 mac 地址的供应商部分隔离到一个变量中,该变量最终是grep通过供应商前缀的在线数据库进行编辑。

#!/bin/bash

OUI=$(ip addr list|grep -w 'link'|awk '{print $2}'|grep -P '^(?!00:00:00)'| grep -P '^(?!fe80)' | tr -d ':' | head -c 6)

curl -sS "http://standards-oui.ieee.org/oui.txt" | grep -i "$OUI" | cut -d')' -f2 | tr -d '\t'

只要发挥一点创造力,您就可以将其调整为通过 ssh 远程执行。我已经看到了其他建议来识别用于dmidecode操作系统指纹识别的供应商详细信息,但在测试时遇到了与该工具不一致的结果。在 Raspberry Pi 上dmidecode完全失败。 HTH-

答案4

我编写了一个用于更新 oui 和 iab 文件的脚本。主要问题是,nmap 文件的形式与 btscan 或 arpwatch 等不同,它们通常具有不同的形式(带双点的 MAC 地址、带连字符、不带分隔符、大写、小写等。

您可以尝试这个脚本,它存储在https://github.com/burningfog/refresh_oui

请阅读自述文件,如果有任何问题,请通过邮件给我提示。如果除了 github 中指定的工具之外还有其他工具,请给我 oui 文件的路径以及该文件中的一些行,以便我可以查看该表单。

问候燃烧的雾

相关内容