Ferramenta de linha de comando para obter informações do fornecedor OUI a partir do endereço MAC?

11

Eu encontrei algumas ferramentas que parecem atualizar o banco de dados de fornecedores de endereço MAC OUI no meu sistema, como 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

Mas se eu pesquisar por IPs na minha rede:

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

Desde que haja alguns MACs relatados como Unknown vendor , gostaria de pesquisar em qualquer banco de dados OUI por suas informações.

Qual é a maneira correta de linha de comando para executar esta pesquisa ?
Talvez algo como:

oui-info 44:d9:e7

Nota: Eu sei que usando o navegador da web eu posso procurar pelos primeiros 3 pares do MAC, mas eu gostaria de algum método de linha de comando, então eu poderia fazer script ou usar via login remoto (SSH).

    
por Sopalajo de Arrierez 11.12.2015 / 14:14

7 respostas

1

Embora possa ser escrito de maneira mais elegante, o seguinte funciona em distribuições Linux sem nenhuma dependência de pacotes especializados. Ele analisa a saída do comando IP, isola a parte do fornecedor do endereço MAC em uma variável que é finalmente grep através de um banco de dados online de prefixos de fornecedores.

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

Com um pouco de criatividade, você pode adaptar isso para executar remotamente via ssh. Já vi outras sugestões para identificar detalhes do fornecedor usando dmidecode para impressão digital do sistema operacional, mas experimentei resultados inconsistentes com essa ferramenta durante o teste. Em Raspberry Pi dmidecode falha totalmente. HTH -

    
por 12.04.2019 / 02:47
12

Eu não acho que existe uma ferramenta automatizada para fazer o que você pede, mas pode ser feito trabalhando diretamente nos arquivos oui.txt.

Primeiro, identifica o arquivo baixado, por exemplo:

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

pesquise a string que você está interessado. Você deve remover : ou, em vez disso, inserir um - :

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

Uma resposta semelhante à do LilloX, mas usando nMap (se instalado no 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

Supostamente trabalhando com qualquer outro programa que armazene informações de OUI, como airodump-ng-oui-update (para oui.txt file neste caso), ou vários outros:

  • /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
por 15.12.2015 / 01:52
1

Você pode recuperar o fornecedor real fazendo uma solicitação usando algo como CURL para esta API:

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

OR

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

Para os endereços MAC desconhecidos listados, ele retornou os seguintes resultados:

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

Para usar o serviço, você precisa obter uma apiKey grátis se você tiver menos de 1000 solicitações por dia.

    
por 18.10.2018 / 13:46
0

Eu escrevi um script para atualizar arquivos oui e iab-files. O principal problema é que a forma de arquivos nmap não é a mesma que para btscan ou arpwatch etc., eles geralmente têm diferentes formas (Endereço MAC com pontos duplos, com hifens, sem delimitadores, maiúsculas, minúsculas, etc .

Você pode experimentar esse script, que é armazenado no link .

Por favor, leia o arquivo readme e se houver alguma dúvida, me dê uma dica por e-mail, por favor. Se existem outras ferramentas que não são nomeadas no github, por favor me dê o caminho para o arquivo oui e algumas linhas deste arquivo para que eu possa dar uma olhada nesse formulário.

Saudações Névoa Ardente

    
por 06.11.2017 / 13:30
-1
cat 'locate nmap-mac-prefixes' | grep -i ^YOUR_OID_START
    
por 27.10.2017 / 09:45
-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

Saída:

? (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.
    
por 10.08.2018 / 19:10