Outil de ligne de commande pour obtenir des informations sur le fournisseur OUI à partir de l'adresse MAC?


13

J'ai trouvé des outils qui semblent mettre à jour la base de données des fournisseurs d'adresses MAC OUI sur mon système, comme get-oui , airodump-ng-oui-update ou 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

Mais si je recherche des IP sur mon réseau:

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

Tant qu'il y a des MAC signalés comme Unknown vendor, je voudrais rechercher dans n'importe quelle base de données OUI ses informations.

Quelle est la méthode appropriée en ligne de commande pour effectuer cette recherche ?
Peut-être quelque chose comme:

oui-info 44:d9:e7

Remarque: Je sais qu'en utilisant le navigateur Web, je peux rechercher les 3 premières paires du MAC, mais je voudrais une méthode en ligne de commande, donc je pourrais l'écrire ou l'utiliser via une connexion à distance (SSH).

Réponses:


2

Bien qu'il puisse être écrit de manière plus élégante, les éléments suivants fonctionnent sur les distributions Linux sans aucune dépendance sur des packages spécialisés. Il analyse la sortie de la commande IP, isole la partie fournisseur de l'adresse mac en une variable qui est finalement acceptée via une base de données en ligne de préfixes fournisseur.

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

Avec un peu de créativité, vous pouvez l'adapter pour l'exécuter à distance via ssh. J'ai vu d'autres suggestions pour identifier les détails du fournisseur à l'aide dmidecodede l'empreinte digitale du système d'exploitation, mais j'ai rencontré des résultats incohérents avec cet outil lors des tests. Sur Raspberry Pi dmidecodeéchoue totalement. HTH-


C'est la meilleure réponse à mon humble avis, car elle donne une réponse sans avoir besoin d'outils (presque) installés, et, tant que IEEE.Org est mis à jour (cela devrait), ce doit être la meilleure base de données à laquelle accéder. Le seul inconvénient est le besoin d'Internet; pas un gros problème de nos jours.
Sopalajo de Arrierez

Il y avait beaucoup de bases de données en ligne OUI gérées par des particuliers / organisations. Mais j'ai choisi celui ieee.org car il y avait moins de risque qu'il disparaisse ou que le lien change. Heureux de pouvoir vous
aider-

13

Je ne pense pas qu'il existe un outil automatisé pour faire ce que vous demandez, mais cela peut être fait en travaillant directement sur les fichiers oui.txt.

Il identifie tout d'abord le fichier téléchargé, par exemple:

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

puis recherchez la chaîne qui vous intéresse. Vous devez supprimer :ou plutôt insérer un -:

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

Et une méthode indirecte, mais complètement fonctionnelle, et probablement valable sur n'importe quel * nix, même certains appareils embarqués. Merci.
Sopalajo de Arrierez

1
Pour faciliter l'utilisation, vous pouvez définir une fonction dans votre .bashrccomme suit: oui() { grep -i "$1" /var/lib/ieee-data/oui.txt; }et l'utiliser comme cecioui 44D9E7
Aralox

3

Une réponse similaire à celle de LilloX, mais en utilisant nMap (si installé dans le système):

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

Soi-disant travailler avec tout autre programme qui stocke des informations OUI, comme airodump-ng-oui-updateoui.txtdéposer dans ce cas), ou plusieurs autres:

  • /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

Vous pouvez récupérer le fournisseur réel en faisant une demande en utilisant quelque chose comme CURL à cette API:

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

OU

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

Pour les adresses MAC inconnues répertoriées, il a renvoyé les résultats suivants:

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

Pour utiliser le service, vous devez obtenir une apiKey gratuite si vous avez moins de 1000 demandes par jour.


Une méthode pratique, en effet. Cela semble être un site qui propose des services d'identification MAC (voir le prix pour un nombre élevé de demandes sur macaddress.io/pricing ), et, comme pour aujourd'hui (octobre 2018), les demandes d'API comme celle décrite dans cette réponse semblent être gratuites . Merci, Dmitri S.
Sopalajo de Arrierez

0

J'ai écrit un script pour mettre à jour les fichiers oui et iab. Le problème principal est que la forme des fichiers nmap n'est pas la même que pour btscan ou arpwatch etc., ils ont souvent des formes différentes (adresse MAC avec points doubles, avec tirets, sans délimiteurs, majuscules, minuscules, etc. .

Vous pouvez essayer ce script, il est stocké sur https://github.com/burningfog/refresh_oui .

Veuillez lire le fichier Lisez-moi et s'il y a des questions, donnez-moi un indice par courrier s'il vous plaît. S'il existe d'autres outils que ceux nommés dans github, veuillez me donner le chemin du fichier oui et quelques lignes de ce fichier afin que je puisse jeter un œil sur ce formulaire.

Salutations Brouillard brûlant


-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

Production:

? (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.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.