MACアドレスからOUIベンダー情報を取得するコマンドラインツール?


13

get-ouiairodump-ng-oui-update、または次のような、システム上のOUI MACアドレスベンダーデータベースを更新するように思われるいくつかのツールを見つけました。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

注:Webブラウザーを使用すると、MACの最初の3ペアをgoogleで検索できることはわかっていますが、コマンドラインメソッドが必要なので、スクリプトを作成するか、リモートログイン(SSH)で使用できます。

回答:


2

よりエレガントに書くこともできますが、以下は特殊なパッケージに依存せずにLinuxディストリビューション全体で機能します。IPコマンドの出力を解析し、macアドレスのベンダー部分を変数に分離します。変数は、ベンダープレフィックスのオンラインDBを介して最終的に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経由でリモートで実行するように適合させることができます。dmidecodeOSフィンガープリンティングに使用しているベンダーの詳細を特定する他の提案を見てきましたが、テスト時にそのツールで一貫性のない結果が発生しました。Raspberry Piではdmidecode完全に失敗します。HTH-


私の謙虚な意見ではこれが最良の答えです。なぜなら、(ほとんど)インストールされたツールを必要とせずに答えを提供し、IEEE.Orgが更新され続ける(そうするべき)限り、アクセスするのに最適なデータベースでなければならないからです。唯一の欠点は、インターネットの必要性です。最近では大きな問題ではありません。
ソパラホデアリエーレス

個人/組織が運営する多くのOUIオンラインデータベースがありました。しかし、私がieee.orgを選択したのは、それが消えたり、リンクが変更されたりするリスクが少ないためです。喜んでお手伝いします
--F1Linux

13

私はあなたが尋ねたことをする自動化されたツールがあるとは思わないが、ファイル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.

そして、間接的な方法ですが、完全に機能的であり、おそらく* nix、一部の組み込みデバイスでも有効です。ありがとうございます。
ソパラホデアリエレス

1
使いやすくするために、.bashrc次のように関数を定義できます。 oui() { grep -i "$1" /var/lib/ieee-data/oui.txt; }そして、このように使用しますoui 44D9E7
-Aralox

3

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

1

このAPIへのCURLなどを使用してリクエストを行うことにより、実際のベンダーを取得できます。

curl -XGET "https://api.macaddress.io/v1?apiKey=at_2d31hlNQAO1PXZVTecL6yoVAxI8IW&output=vendor&search=bc:f1:f2:12:b4:93"

または

wget -qO- "https://api.macaddress.io/v1?apiKey=at_2d31hlNQAO1PXZVTecL6yoVAxI8IW&output=vendor&search=bc:f1:f2:12:b4:93"

リストされた未知のMACアドレスについて、次の結果を返しました。

bc:f1:f2:12:b4:93 -> Cisco Systems, Inc
f0:db:e2:de:11:80 -> Apple, Inc
d8:61:94:e5:0b:1d -> Objetivos y Sevicios de Valor Añadido
84:11:9e:2b:1c:d6 -> Samsung Electronics Co, Ltd
ec:1f:72:5d:42:d0 -> Samsung Electro-Mechanics(Thailand)
44:d9:e7:0a:0b:98 -> Ubiquiti Networks Inc

このサービスを使用するには、1日あたり1000件未満のリクエストがある場合は無料のapiKeyを取得する必要があります。


実際、実用的な方法です。これはMAC識別サービスを提供するサイトのようです(macaddress.io/pricingで多数のリクエストの価格をご覧ください)。そして、今日(2018年10月)に関しては、この回答で説明されているようなAPIリクエストは無料のようです。おかげで、あなた、ドミトリS.
SopalajoデArrierez

0

ouiファイルとiabファイルを更新するためのスクリプトを作成しました。主な問題は、nmap-filesの形式がbtscanやarpwatchなどの場合と同じではなく、多くの場合異なる形式(二重点を持つMACアドレス、区切り文字なし、大文字、小文字など)を持つことです。 。

このスクリプトを試すことができます。これはhttps://github.com/burningfog/refresh_ouiに保存されています

readmeファイルをお読みください。質問がある場合は、メールごとにヒントを教えてください。githubで指定されている以外のツールがある場合は、ouiファイルのパスとこのファイルのいくつかの行を教えてください。そうすれば、そのフォームを確認できます。

燃える霧のご挨拶


-1
cat `locate nmap-mac-prefixes` | grep -i ^YOUR_OID_START

-2
#!/bin/bash

arp -an | egrep -v incomplete | while read line ; do mac=$( echo $line | awk -F' ' '{print $4}' | sed 's/:/-/g' | tr "[:lower:]" "[:upper:]" | cut -c 1-8 ) ; vendor=$( egrep "$mac" /usr/share/hwdata/oui.txt ) ; echo "$line : $vendor" ; done

出力:

? (192.168.88.36) at 60:03:08:a8:4e:86 [ether]  on eth0 : 60-03-08   (hex)              Apple, Inc.
? (192.168.88.38) at d8:8f:76:6f:59:0a [ether]  on eth0 : D8-8F-76   (hex)              Apple, Inc.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.