Công cụ dòng lệnh để lấy thông tin nhà cung cấp OUI từ địa chỉ MAC?


13

Tôi đã tìm thấy một số công cụ dường như cập nhật cơ sở dữ liệu nhà cung cấp địa chỉ MAC OUI trên hệ thống của tôi, như get-oui , airodump-ng-oui-update hoặc 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

Nhưng nếu tôi tìm kiếm IP trên mạng của mình:

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

Miễn là có một số MAC được báo cáo Unknown vendor, tôi muốn tìm kiếm trên bất kỳ cơ sở dữ liệu OUI nào để biết thông tin của nó.

Cách dòng lệnh thích hợp để thực hiện tìm kiếm này là gì?
Có lẽ một cái gì đó như:

oui-info 44:d9:e7

Lưu ý: Tôi biết rằng bằng cách sử dụng trình duyệt web, tôi có thể google cho 3 cặp đầu tiên của MAC, nhưng tôi muốn một số phương pháp dòng lệnh, vì vậy tôi có thể viết kịch bản hoặc sử dụng thông qua đăng nhập từ xa (SSH).

Câu trả lời:


2

Mặc dù nó có thể được viết một cách thanh lịch hơn, những điều sau đây hoạt động trên các bản phân phối Linux mà không phụ thuộc vào các gói chuyên dụng. Nó phân tích cú pháp đầu ra của lệnh IP, cô lập phần nhà cung cấp của địa chỉ mac thành một biến cuối cùng được grep thông qua một DB trực tuyến của tiền tố nhà cung cấp.

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

Với một chút sáng tạo, bạn có thể điều chỉnh nó để thực hiện từ xa thông qua ssh. Tôi đã thấy các đề xuất khác để xác định chi tiết nhà cung cấp sử dụng dmidecodecho dấu vân tay của hệ điều hành, nhưng trải nghiệm kết quả không nhất quán với công cụ đó khi thử nghiệm. Trên Raspberry Pi dmidecodethất bại hoàn toàn. HTH-


Đây là câu trả lời tốt nhất theo quan điểm khiêm tốn của tôi, bởi vì nó đưa ra câu trả lời mà không cần (gần) các công cụ đã cài đặt, và, miễn là IEEE.Org luôn cập nhật (nên), nó phải là cơ sở dữ liệu tốt nhất để truy cập. Nhược điểm duy nhất là nhu cầu về internet; không phải là một vấn đề lớn hiện nay
Sopalajo de Arrierez

Có rất nhiều cơ sở dữ liệu trực tuyến OUI được điều hành bởi các cá nhân / tổ chức tư nhân. Nhưng tôi đã chọn ieee.org vì nó ít có nguy cơ biến mất hoặc liên kết thay đổi. Vui mừng tôi có thể giúp bạn ra ngoài
F1Linux

13

Tôi không nghĩ có một công cụ tự động để làm những gì bạn yêu cầu, nhưng có thể được thực hiện bằng cách làm việc trực tiếp trên các tệp oui.txt.

Trước hết, nó xác định tệp được tải xuống, ví dụ:

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

sau đó tìm kiếm chuỗi bạn quan tâm. Bạn phải xóa :hoặc thay vào đó chèn một -:

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

Và phương pháp gián tiếp, nhưng hoàn toàn có chức năng và có thể hợp lệ trên mọi * nix, thậm chí một số thiết bị nhúng. Cảm ơn bạn.
Sopalajo de Arrierez

1
Để dễ sử dụng, bạn có thể xác định một chức năng .bashrcnhư sau: oui() { grep -i "$1" /var/lib/ieee-data/oui.txt; }và sử dụng chức năng như thế nàyoui 44D9E7
Aralox

3

Một câu trả lời tương tự như của LilloX, nhưng sử dụng nMap (nếu được cài đặt trong hệ thống):

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

Được cho là làm việc với bất kỳ chương trình nào khác lưu trữ thông tin OUI, như airodump-ng-oui-update(để oui.txtgửi trong trường hợp này) hoặc một số chương trình khác:

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

Bạn có thể truy xuất nhà cung cấp thực tế bằng cách thực hiện một yêu cầu bằng cách sử dụng một cái gì đó như CURL cho API này:

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

HOẶC LÀ

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

Đối với các địa chỉ MAC không xác định được liệt kê, nó trả về các kết quả sau:

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

Để sử dụng dịch vụ, bạn cần nhận được một apiKey miễn phí nếu bạn dưới 1000 yêu cầu mỗi ngày.


Một phương pháp thực tế, thực sự. Đây dường như là một trang web cung cấp dịch vụ nhận dạng MAC (xem giá cho số lượng yêu cầu cao tại macaddress.io/pricing ) và, cho đến hôm nay (tháng 10 năm 2018), các yêu cầu API như được mô tả trong câu trả lời này dường như là miễn phí . Cảm ơn bạn, Dmitri S.
Sopalajo de Arrierez

0

Tôi đã viết một tập lệnh để cập nhật tập tin oui và iab. Vấn đề chính là, dạng của tệp nmap không giống với btscan hoặc arpwatch, v.v., chúng thường có các dạng khác nhau (Địa chỉ MAC có hai điểm, có dấu gạch nối, không có dấu phân cách, chữ hoa, chữ thường, v.v. .

Bạn có thể thử tập lệnh này, nó được lưu trữ tại https://github.com/burningfog/refresh_oui .

Xin vui lòng đọc các tập tin readme và nếu có bất kỳ câu hỏi cho tôi một gợi ý cho mỗi thư xin vui lòng. Nếu có các công cụ khác ngoài tên được đặt trong github, vui lòng cho tôi đường dẫn cho tệp oui và một số dòng từ tệp này để tôi có thể xem biểu mẫu đó.

Chúc mừng đốt cháy sương mù


-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

Đầu ra:

? (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.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.