เครื่องมือบรรทัดคำสั่งเพื่อรับข้อมูลผู้ขาย 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

ตราบใดที่มีรายงานว่า MACs บางตัวUnknown vendorฉันต้องการค้นหาฐานข้อมูล OUI ใด ๆ เพื่อหาข้อมูล

วิธีบรรทัดคำสั่งที่เหมาะสมในการค้นหานี้คืออะไร?
อาจจะชอบ:

oui-info 44:d9:e7

หมายเหตุ: ฉันรู้ว่าการใช้เว็บเบราว์เซอร์ฉันสามารถ google สำหรับ 3 คู่แรกของ MAC แต่ฉันต้องการวิธีบรรทัดคำสั่งบางส่วนดังนั้นฉันจึงสามารถสคริปต์หรือใช้ผ่านการเข้าสู่ระบบระยะไกล (SSH)

คำตอบ:


2

แม้ว่ามันสามารถเขียนได้อย่างหรูหรามากขึ้น แต่งานต่อไปนี้ใน Linux distros โดยไม่ต้องพึ่งพาแพ็คเกจพิเศษใด ๆ มันแยกวิเคราะห์ผลลัพธ์ของคำสั่ง IP แยกส่วนผู้จำหน่ายของที่อยู่ mac เป็นตัวแปรซึ่งในที่สุดgrep 'ed ผ่านฐานข้อมูลออนไลน์ของคำนำหน้าผู้ขาย

#!/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สำหรับการพิมพ์ลายนิ้วมือ OS แต่พบผลลัพธ์ที่ไม่สอดคล้องกับเครื่องมือนั้นเมื่อทำการทดสอบ เมื่อ 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.

และวิธีการทางอ้อม แต่ทำงานได้อย่างสมบูรณ์และอาจใช้ได้กับ * ระวังแม้กระทั่งอุปกรณ์ฝังตัวบางตัว ขอบคุณ.
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 ฟรีหากคุณมีคำขอน้อยกว่า 1,000 รายการต่อวัน


วิธีการปฏิบัติจริง ดูเหมือนว่าจะเป็นเว็บไซต์ที่ให้บริการระบุตัวตนของ MAC (ดูการกำหนดราคาสำหรับคำขอจำนวนมากที่macaddress.io/pricing ) และสำหรับวันนี้ (ตุลาคม 2561) คำขอ API อย่างที่อธิบายไว้ในคำตอบนี้ดูเหมือนจะฟรี . ขอบคุณ Dmitri S.
Sopalajo de Arrierez

0

ฉันเขียนสคริปต์เพื่ออัปเดต oui และ iab-files ปัญหาหลักคือรูปแบบของไฟล์ nmap นั้นไม่เหมือนกับ btscan หรือ arpwatch เป็นต้นพวกมันมักจะมีรูปแบบที่แตกต่างกัน (MAC-Address กับ double-points, hyphens โดยไม่มีตัวคั่นตัวพิมพ์เล็กและตัวพิมพ์เล็ก) .

คุณอาจจะลองสคริปต์นี้จะถูกเก็บไว้ที่https://github.com/burningfog/refresh_oui

โปรดอ่านไฟล์ readme และหากมีคำถามใด ๆ ให้ฉันคำแนะนำต่ออีเมลได้โปรด หากมีเครื่องมืออื่นที่ไม่ใช่ชื่อใน github โปรดให้เส้นทางสำหรับ oui-file และบางบรรทัดจากไฟล์นี้เพื่อที่ฉันจะได้ดูแบบฟอร์มนั้น

ทักทายการเผาไหม้หมอก



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