Strumento da riga di comando per ottenere informazioni sul fornitore OUI dall'indirizzo MAC?


13

Ho trovato alcuni strumenti che sembrano aggiornare il database del fornitore di indirizzi MAC OUI sul mio sistema, come get-oui , airodump-ng-oui-update o 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

Ma se cerco IP sulla mia rete:

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

Fintanto che ci sono alcuni MAC segnalati come Unknown vendor, vorrei cercare su qualsiasi database OUI per le sue informazioni.

Qual è il modo corretto da riga di comando per eseguire questa ricerca ?
Forse qualcosa del tipo:

oui-info 44:d9:e7

Nota: so che utilizzando il browser web posso cercare su Google per le prime 3 coppie del MAC, ma vorrei un metodo da riga di comando, in modo da poterlo scriptare o utilizzare tramite accesso remoto (SSH).

Risposte:


2

Sebbene possa essere scritto in modo più elegante, i seguenti lavori su distribuzioni Linux senza dipendenze da pacchetti specializzati. Analizza l'output del comando IP, isola la parte del fornitore dell'indirizzo mac in una variabile che viene infine eseguita tramite un DB online di prefissi del fornitore.

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

Con un po 'di creatività è possibile adattare questo per eseguire in remoto tramite SSH. Ho visto altri suggerimenti per identificare i dettagli del fornitore utilizzando dmidecodeper l'impronta digitale del sistema operativo, ma durante i test ho riscontrato risultati incoerenti con quello strumento. Su Raspberry Pi dmidecodefallisce totalmente. HTH-


Questa è la risposta migliore a mio modesto parere, perché fornisce una risposta senza la necessità di (quasi) strumenti installati e, finché IEEE.Org viene aggiornato (dovrebbe), deve essere il miglior database a cui accedere. L'unico aspetto negativo è la necessità di Internet; al giorno d'oggi non è un grosso problema.
Sopalajo de Arrierez,

C'erano molti database online OUI gestiti da privati ​​/ organizzazioni. Ma ho scelto quello ieee.org perché c'era meno rischio che sparisse o che il collegamento cambiasse. Sono contento di
poterti aiutare-

13

Non penso che ci sia uno strumento automatizzato per fare ciò che chiedi, ma puoi farlo lavorando direttamente sui file oui.txt.

Innanzitutto identifica il file scaricato, ad esempio:

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

quindi cerca la stringa che ti interessa. Devi rimuovere :o invece inserire un -:

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

E metodo indiretto, ma completamente funzionale e probabilmente valido su qualsiasi * nix, anche su alcuni dispositivi integrati. Grazie.
Sopalajo de Arrierez,

1
Per facilità d'uso, puoi definire una funzione .bashrccome segue: oui() { grep -i "$1" /var/lib/ieee-data/oui.txt; }e usarla in questo modooui 44D9E7
Aralox

3

Una risposta simile a quella di LilloX, ma utilizzando nMap (se installato nel sistema):

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

Presumibilmente lavorando con qualsiasi altro programma che memorizza informazioni OUI, come airodump-ng-oui-update(per oui.txtarchiviare in questo caso), o molti altri:

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

Puoi recuperare il fornitore effettivo inviando una richiesta utilizzando qualcosa come CURL a questa API:

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

O

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

Per gli indirizzi MAC sconosciuti elencati, ha restituito i seguenti risultati:

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

Per utilizzare il servizio, è necessario ottenere un apiKey che è gratuito se hai meno di 1000 richieste al giorno.


Un metodo pratico, davvero. Questo sembra essere un sito che offre servizi di identificazione MAC (vedi i prezzi per un numero elevato di richieste su macaddress.io/pricing ) e, come oggi (ottobre 2018), le richieste API come quelle descritte in questa risposta sembrano essere gratuite . Grazie, Dmitri S.
Sopalajo de Arrierez,

0

Ho scritto uno script per l'aggiornamento di file oui e iab. Il problema principale è che la forma dei file nmap non è la stessa di btscan o arpwatch ecc., Hanno spesso forme diverse (indirizzo MAC con punti doppi, trattini, senza delimitatori, lettere maiuscole, lettere minuscole ecc. .

Puoi provare questo script, è memorizzato su https://github.com/burningfog/refresh_oui .

Si prega di leggere il file Leggimi e se ci sono domande mi dia un suggerimento per posta, per favore. Se ci sono altri strumenti oltre a quelli nominati in github, per favore dammi il percorso per il file oui e alcune righe da questo file in modo da poter dare un'occhiata a quel modulo.

Saluti che bruciano la nebbia


-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

Produzione:

? (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.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.