.\" Copyright (C) Roy Hills, NTA Monitor Ltd. .\" .\" Copying and distribution of this file, with or without modification, .\" are permitted in any medium without royalty provided the copyright .\" notice and this notice are preserved. .\" .TH GET-OUI 1 "August 13, 2016" .\" Please adjust this date whenever revising the man page. .SH NAME get-oui \- Fetch the arp-scan OUI file from the IEEE website (on Debian and Debian based systems, data is fetched from ieee-data package) .SH SYNOPSIS .B get-oui .RI [ options ] .SH DESCRIPTION .B get-oui fetches the Ethernet OUI file from the IEEE website, and saves it in the format used by arp-scan. .PP The OUI file contains all of the OUIs (Organizationally Unique Identifiers) that have been registered with IEEE. Each OUI entry in the file specifies the first 24-bits of the 48-bit Ethernet hardware address, leaving the remaining 24-bits for use by the registering organisation. For example the OUI entry "080020", registered to Sun Microsystems, applies to any Ethernet hardware address from .I 08:00:20:00:00:00 to .I 08:00:20:ff:ff:ff inclusive. Each OUI assignment represents a total of 2^24 (16,777,216) Ethernet addresses. .PP Every major Ethernet hardware vendor registers an OUI for their equipment, and larger vendors will need to register more than one. For example, 3Com have a total of 37 OUI entries. Organisations that only produce a small number of Ethernet devices will often obtain an IAB registration instead. See .BR get-iab (1) for details. .PP This script can be used to update the .B arp-scan OUI file from the latest data on the IEEE website. Most of the Ethernet addresses in use belong to an OUI registration, so this is the most important of the files that .B arp-scan uses to decode Ethernet hardware addresses. You should therefore run .B get-oui occasionally to keep the .B arp-scan OUI file up to date. .PP The OUI data is fetched from the URL .I http://standards-oui.ieee.org/oui/oui.txt (on Debian and Debian based systems, data is fetched from ieee-data package) and the output file is saved to the file .I ieee-oui.txt in the current directory. The URL to fetch the data from can be changed with the .B -u option, and the output file name can be changed with the .B -f option. .PP The .I ieee-oui.txt file that is produced by this script is used by .B arp-scan to determine the Ethernet card vendor from its hardware address. .PP The directory that .B arp-scan will look for the .I ieee-oui.txt file depends on the options used when it was built. If it was built using the default options, then it will look in .IR /usr/local/share/arp-scan . .SH OPTIONS .TP .B -h Display a brief usage message and exit. .TP .B -f Write the output to the specified file instead of the default .I ieee-oui.txt. .TP .B -u Use the specified URL to fetch the raw OUI data from instead of the default .I http://standards-oui.ieee.org/oui/oui.txt. (on Debian and Debian based systems, data is fetched from ieee-data package) .TP .B -v Display verbose progress messages. .SH FILES .TP .I ieee-oui.txt The default output file. .SH EXAMPLES .nf $ get-oui \-v Renaming ieee-oui.txt to ieee-oui.txt.bak Fetching OUI data from http://standards-oui.ieee.org/oui/oui.txt Fetched 3467133 bytes Opening output file ieee-oui.txt 22402 OUI entries written to file ieee-oui.txt .fi .SH NOTES .B get-oui is implemented in Perl, so you need to have the Perl interpreter installed on your system to use it. .PP .B get-oui uses the .I LWP::UserAgent Perl module to fetch the data from the IEEE website. You must have this module installed on your system for it to work. This module is available on most distributions, often called .IR libwww-perl . It is also available in source form from CPAN. .PP You can use a proxy server by defining the .I http_proxy environment variable. .SH AUTHOR Roy Hills .SH "SEE ALSO" .TP .BR arp-scan (1) .TP .BR get-iab (1) .TP .BR arp-fingerprint (1) .PP .I http://www.nta-monitor.com/wiki/ The arp-scan wiki page.