Інструмент командного рядка для отримання інформації про постачальника OUI з MAC-адреси?


14

Я знайшов деякі інструменти, які, здається, оновлюють базу даних постачальників OUI MAC у моїй системі, як - от get-oui , airodump-ng-oui-update або 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

Примітка. Я знаю, що за допомогою веб-браузера я можу google для перших 3 пар MAC, але мені хотілося б певного методу командного рядка, тому я міг би його скриптувати або використовувати через віддалений вхід (SSH).

Відповіді:


2

Хоча це могло б бути написано більш елегантно, наступне працює у дистрибутивах Linux без будь-яких залежностей від спеціалізованих пакетів. Він аналізує висновок команди IP, виділяє частину постачальника mac-адреси на змінну, яка остаточно підкреслюється через онлайн-БД префіксів постачальника.

#!/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-


Це найкраща відповідь на мою скромну думку, оскільки вона дає відповідь без необхідності (майже) встановлених інструментів, і, поки IEEE.Org постійно оновлюється (слід), вона повинна бути найкращою базою даних для доступу. Єдиний мінус - потреба в Інтернеті; Не велике питання в наш час.
Sopalajo de Arrierez

Було багато онлайнових баз даних OUI, якими керували приватні особи / організації. Але я вибрав ieee.org, тому що було менше ризику його зникнення або зміни зв’язку. Радий, що можу допомогти вам
F1Linux

14

Я не думаю, що існує автоматизований інструмент для виконання того, що ви просите, але це можна зробити, працюючи безпосередньо над файлами 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, навіть на деяких вбудованих пристроях. Дякую тобі.
Sopalajo de Arrierez

1
Для зручності використання функцію можна визначити .bashrcтак: oui() { grep -i "$1" /var/lib/ieee-data/oui.txt; }і використовувати її такoui 44D9E7
Aralox

4

Аналогічна відповідь на відповідь 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-update(для oui.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

Ви можете знайти фактичного постачальника, зробивши запит, використовуючи щось подібне CURL до цього API:

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

Щоб скористатися послугою, вам потрібно отримати apiKey, який є безкоштовним, якщо вам менше 1000 запитів на день.


Дійсний метод, дійсно. Здається, це веб-сайт, який пропонує послуги ідентифікації MAC (див. Ціни на велику кількість запитів на macaddress.io/pricing ), і, на сьогодні (жовтень 2018 року), API-запити, як описано у цій відповіді, видаються безкоштовними . Дякую, Дмитро С.
Сопалайо де Аррієрес

0

Я написав сценарій для оновлення oui та iab-файлів. Основна проблема полягає в тому, що форма nmap-файлів не така, як у btscan або arpwatch тощо. Вони часто мають різні форми (MAC-адреса з подвійними крапками, з дефісами, без роздільників, верхніх регістрів, малих справ тощо) .

Ви можете спробувати цей сценарій, він зберігається на https://github.com/burningfog/refresh_oui .

Будь ласка, прочитайте файл readme, і якщо є запитання, будь ласка, підкажіть на пошту, будь ласка. Якщо є інші інструменти, ніж названі в github, будь ласка, дайте мені шлях до oui-файлу та деяких рядків цього файлу, щоб я міг ознайомитися з цією формою.

Привітання палаючий туман



-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.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.