MAC 주소에서 OUI 공급 업체 정보를 얻는 명령 줄 도구?


13

나는 업데이트 할 것 몇 가지 도구 발견 OUI MAC 주소 벤더 데이터베이스 처럼, 내 시스템에 GET-OUI , airodump-ng를-OUI 업데이트 또는 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

참고 : 웹 브라우저를 사용하면 MAC의 첫 3 쌍을 구글 검색 할 수 있지만 명령 줄 방법을 원하므로 스크립트를 작성하거나 원격 로그인 (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 지문을 사용하여 공급 업체 세부 정보를 식별하기위한 다른 제안을 보았지만 테스트 할 때 해당 도구와 일치하지 않는 결과가 발생했습니다. 라즈베리 파이에서 dmidecode완전히 실패합니다. HTH-


이것은 (거의) 설치된 도구가 필요없는 답변을 제공하고 IEEE.Org가 업데이트를 유지하는 한 액세스 해야하는 가장 좋은 데이터베이스 여야하기 때문에 겸손한 견해로는 가장 좋은 대답입니다. 유일한 단점은 인터넷의 필요성입니다. 요즘 큰 문제는 아닙니다.
Sopalajo de Arrierez

개인 / 기관이 운영하는 많은 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에서 유효합니다. 감사합니다.
Sopalajo de Arrierez

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

이 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

이 서비스를 이용하려면 하루 1000 회 미만의 요청이있는 경우 무료로 apiKey를 받아야합니다.


실제로 실용적인 방법. 이것은 MAC 식별 서비스를 제공하는 사이트 인 것 같습니다 ( macaddress.io/pricing 에서 많은 요청에 대한 가격 참조 ). 오늘 (2018 년 10 월)에 따르면이 답변에 설명 된 것과 같은 API 요청은 무료로 보입니다. . 감사합니다, Dmitri S.
Sopalajo de Arrierez

0

oui 및 iab 파일을 업데이트하기위한 스크립트를 작성했습니다. 주요 문제는 nmap 파일의 형태가 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.