arp-scan


Описание arp-scan

Это ARP сканнер.

arp-scan — это инструмент командной строки для обнаружения и снятия отпечатков. Он создает и отправляет ARP запросы указанным IP адресам и отображает полученные ответы.

arp-scan позволяет вам:

  • Отправлять ARP-пакеты на любое количество хостов-получателей, используя настраиваемую пропускную способность или скорость передачи.

Это полезно для обнаружения устройств, когда вам может потребоваться сканировать большие адресные пространства.

  • Гибким способом конструировать исходящий ARP пакет.

arp-scan предоставляет управление всеми полями пакета ARP и полями в заголовке Ethernet кадра.

  • Декодировать и отображать любые возвращённые пакеты.

arp-scan будет декодировать и отображать любые принятые ARP-пакеты и искать поставщика, используя MAC-адрес.

  • Снимать отпечатки IP хостов, используя инструмент arp-fingerprint.

Домашняя страница: https://github.com/royhills/arp-scan

Автор: Roy Hills

Лицензия: GPL-3.0

Справка по arp-scan

Использование:


arp-scan [опции] [хосты...]

Опции:

Примечание: там, где опция принимает значение, это значение указано буквой в 
треугольных скобках. Буква показывает, какой тип данных ожидается:

<s> Строка символов, например. --file=hostlist.txt.

<i> Целое число, которое может быть в десятеричной или шестнадцатеричной 
    форме если перед ним стоит 0x, например, --arppro=2048 или --arpro=0x0800.

<f> Число с плавающей запятой, например --backoff=1.5.

<m> Ethernet MAC-адрес, который может быть записал либо в формате
    01:23:45:67:89:ab, или как 01-23-45-67-89-ab. Алфавитные шестнадцатеричные
    символы могут быть как заглавными, так и прописными. Напр., --arpsha=01:23:45:67:89:ab.

<a> IPv4 адрес, например, --arpspa=10.0.0.1

<h> Бинарные данные, указанные как шестнадцатеричная строка, которая не 
    должна включать начальные 0x. Алфавитные hex символы могут быть как
    заглавные, так и прописные. Например --padding=aaaaaaaaaaaa

<x> Что-то ещё. Подробности смотрите в описании опции.

--help или -h		Показать справку и выйти.

--file=<s> или -f <s>	Считать имена хостов или адресов из указанного файла,
			а не из строки команды. Одно имя или IP
			адрес на строку. Используйте "-" для стандартного ввода.

--localnet или -l	Сгенерировать адреса из настройки сетевого интерфейса.
			Использовать IP адрес сетевого интерфейса и маску сети
			для генерации списка целевых хост адресов.
			Этот список будет включать сетевые и широковещательные
			адреса, так адрес 10.0.0.1 сетевого интерфейса с
			маской сети 255.255.255.0 сгенерирует 256 целевых
			хостов с 10.0.0.0 до 10.0.0.255 включительно. Если
			вы используете эту опцию, вы не можете указать опцию
			--file или указать любые целевые хосты в строке команды.
			Спецификации интерфейса берутся с интерфейса,
			на котором будет использоваться arp-scan, он
			может быть изменён опцией --interface.

--retry=<i> или -r <i>	Установить общее число попыток для каждого хоста на <i>,
			по умолчанию=2.

--timeout=<i> или -t <i>	Установить начальный на каждый хост таймаут в <i> мс, по 
            умолчанию=500.
			Это таймаут для первого пакета, отправляемого каждому хосту.
			последующие тайм-ауты умножаются на коэффициент 
			отсрочки, который устанавливается с --backoff.

--interval=<x> или -i <x> Установить минимальный пакетный интервал на <x>.
			Это контролирует использование исходящей полосы 
			пропускания путем ограничения скорости, на которой отправляются  
			пакеты. Пакетный интервал будет на менее, чем это число.
			Если вы хотите использовать до определённой полосы пропускания,
			тогда вместо этой проще использовать опцию --bandwidth.
			По умолчанию интервал указывается в миллисекундах,
			или в микросекундах, если к значению добавить "u".

--bandwidth=<x> или -B <x> Установить желаемую полосу пропускания на <x>, по умолчанию=256000.
			Это значение по умолчанию в битах в секунду. Если вы
			добавите к значению "K", тогда значение будет в килобитах
			в сек.; а если добавите к значению "M",
			единица будет в мегабитах в секунду.
			Суффиксы "K" и "M" представляют десятичное, а не двоичное
			умножение. Поэтому 64K это 64000, а не 65536.
			Вы не можете указать и --interval и --bandwidth
			поскольку они являются просто разными способами задать
			один и тот же базовый параметр

--backoff=<f> или -b <f>	Установить коэффициент отсрочки таймаута на <f>, по умолчанию=1.50.
			Таймаут для каждого хоста умножается на этот коэффициент
			после каждого таймаута. Поэтому если количество попыток 
			равно 3, начальный таймаут хоста 500ms, а коэффициент
			отсрочки 1.5, тогда первый таймаут будет
			500ms, второй 750ms, а третий 1125ms.

--verbose или -v		Отображать подробные сообщения о ходе выполнения.
			Использование более чем один раз усиливает эффект:
			1 — Показать используемые маску и сетевой адрес, когда
			    указана опция --localnet, отображать любое
			    ненулевое заполнение пакетов, отображать пакеты, 
			    полученные неизвестных хостов, и показывать, когда 
			    завершается каждый проход через список.
			2 — Показывать каждый отправленный и полученный пакет, 
			    когда записи удаляются из списка, строку фильтра pcap,
			    и подсчёт записей сопоставления MAC/Vendor.
			3 — Показать список хостов перед началом сканирования.

--version или -V		Показать версию программы и выйти.

--random или -R		Рандомизировать список хостов.
			Эта опция перемешивает порядок хостов в списке хостов,
			поэтому ARP пакеты отправляются хостам в случайном 
			порядке. Используется алгоритм перетасовки Кнута.

--numeric или -N		Только IP адреса, без имён хостов.
			С этой опцией все хосты должны быть указаны как
			IP адреса. Имена хостов не разрешены. Не будет 
			выполняться DNS преобразования.

--snap=<i> или -n <i>	Установить длину snap в pcap на <i>. По умолчанию=64.
			Это определяет длину фрейма захвата. Эта
			длина включает data-link заголовок.
			Значения по умолчанию обычно достаточно.

--interface=<s> или -I <s> Использовать сетевой интерфейс <s>.
			Если эта опция не указана, arp-scan будет искать
			самый нижний номер в списке системных интерфейсов,
			среди только настроенных (за исключением loopback).
			Указанный интерфейс должен поддерживать ARP.

--quiet или -q		Отображать только минимальный вывод.
			Если указана эта опция, тогда будет отображаться
			только минимальная информация. С этой опцией
			не используются файлы OUI.

--ignoredups или -g	Не показывать повторяющиеся пакеты.
			По умолчанию, повторяющиеся пакеты показываются
			и помечаются флагом "(DUP: n)".

--ouifile=<s> или -O <s>	Использовать IEEE Ethernet OUI файл <s> для определения производителя.
			Если эта опция не указана, именем файлом по умолчанию
			является ieee-oui.txt в текущей директории. Если он не
			найден, тогда используется файл
			/usr/share/arp-scan/ieee-oui.txt.

--iabfile=<s> или -O <s>	Использовать IEEE Ethernet IAB файл <s> для определения производителя.
			Если эта опция не указана, именем файлом по умолчанию
			является ieee-iab.txt в текущей директории. Если он не
			найден, тогда используется файл
			/usr/share/arp-scan/ieee-iab.txt.

--macfile=<s> или -O <s>	Использовать пользовательский Ethernet MAC файл <s> для 
            определения производителя.
			Если эта опция не указана, именем файлом по умолчанию
			является mac-vendor.txt в текущей директории. Если он не
			найден, тогда используется файл
			/usr/share/arp-scan/mac-vendor.txt.

--srcaddr=<m> или -S <m> Установить Ethernet MAC-адрес источника на <m>.
			Это устанавливает 48-битный аппаратный адрес в заголовках 
			Ethernet фрейма для исходящих ARP пакетов. Опция не
			меняет аппаратный адрес в ARP пакете, смотрите
			--arpsha для подробностей как изменить этот адрес.
			По умолчанию это Ethernet адрес исходящего
			интерфейса.

--destaddr=<m> или -T <m> Отправлять пакеты на Ethernet MAC адрес <m>
			Это устанавливает 48-битный аппаратный адрес в заголовках 
			Ethernet фрейма для пункта назначения.
			По умолчанию это широковещательный адрес ff:ff:ff:ff:ff:ff.
			Большинство операционных систем также ответят, если ARP
			запрос отправлен ан их MAC-адрес, или на
			многоадресный адрес, который они прослушивают.

--arpsha=<m> или -u <m>	Использовать <m> как адрес источника ARP  Ethernet
			Это устанавливает 48-битное поле ar$sha в пакете ARP
			Оно не меняет аппаратный адрес в заголовке
			фрейма, смотрите --srcaddr для подробностей как изменить
			этот адрес. Значением по умолчанию является Ethernet 
			адрес исходящего интерфейса.

--arptha=<m> или -w <m>	Использовать <m> в качестве целевого ARP  Ethernet адреса
			Это устанавливает 48-битное ar$tha поле в ARP пакете
			По умолчанию это ноль, поскольку это поле не используется
			для пакетов ARP запросов.

--prototype=<i> или -y <i> Установить тип Ethernet протокола на <i>, по умолчанию=0x0806.
			Это устанавливает 16-битное поле типа протокола в
			заголовке Ethernet фрейма.
			Установка на не-дефолтное значение приведёт к тому,
			что пакет будет проигнорирован целью, или отправлен
			в неправильный стек протокола.

--arphrd=<i> или -H <i>	Использовать <i> для типа ARP железа, по умолчанию=1.
			Это устанавливает 16-битное ar$hrd поле в ARP пакете.
			Нормальным значением является 1 (ARPHRD_ETHER). Большинство,
			но не все операционные системы также ответят на 6
			(ARPHRD_IEEE802). Некоторые системы отвечают на любое значение.

--arppro=<i> или -p <i>	Использовать <i> для типа ARP протокола, по умолчанию=0x0800.
			Это устанавливает 16-битное поле ar$pro в ARP пакете.
			Большинство операционных систем отвечают только на 0x0800 (IPv4)
			но некоторые также ответят на другие значения.

--arphln=<i> или -a <i>	Установить длину аппаратного адреса на <i>, по умолчанию=6.
			Это устанавливает 8-битное поле ar$hln в ARP пакете.
			Это устанавливает заявленную длину аппаратного адреса
			в ARP пакете. Установка его на любое значение, отличное
			от стандартного, сделает пакет не совместимым с RFC.
			Хотя некоторые операционные системы ещё могут на него ответить.
			Помните, что действительные длины полей ar$sha и
			ar$tha в ARP пакете не меняются этой опцией;
			она изменяет только поле ar$hln.

--arppln=<i> или -P <i>	Установить длину протокола адреса на <i>, по умолчанию=4.
			Это устанвливает 8-битное поле ar$pln в пакете ARP.
			Это устанавливает заявленную длину протокола адреса
			в ARP пакете. Установка его на любое значение, отличное
			от стандартного, сделает пакет не совместимым с RFC.
			Хотя некоторые операционные системы ещё могут на него ответить.
			Помните, что действительные длины полей ar$spa и ar$tpa
			ar$tpa в ARP пакете не меняются этой опцией;
			она изменяет только поле ar$pln.

--arpop=<i> или -o <i>	Использовать <i> для ARP операций, по умолчанию=1.
			Это устанвливает 16-битное поле ar$op в пакете ARP.
			Большинство операционных систем ответят только на значение 1
			(ARPOP_REQUEST). Хотя некоторые системы ответят
			также и на другие значения.

--arpspa=<a> или -s <a>	Использовать <a> как IP адрес источника.
			Адрес должен быть в формате xxx.xxx.xxx.xxx;
			или буквальная строка "dest", которая устанавливает
			адрес источника на тот же, как адрес целевого хоста.
			Это устанавливает 32-битное поле ar$spa в ARP пакете.
			Некоторые операционные системы проверяют его, и
			ответят только если адрес источника внутри сети
			интерфейса приёма. Другие не заботятся и
			отвечают на адреса из любого источника.
			По умолчанию используется адрес исходящего интерфейса.

			ПРЕДУПРЕЖДЕНИЕ: Установка ar$spa на IP адрес назначения
			может нарушить работу некоторых операционных систем, 
			поскольку они полагают, что есть конфликт в IP адресах, если 
			они получили ARP запрос для их собственного адреса.

--padding=<h> или -A <h>	Указывает отступ после пакета данных.
			Устанавливает отступ данных на шестнадцатеричное значение <h>.
			Эти данные добавляются к концу ARP пакета, после данных.
			Большинство, если не все, операционные системы проигнорируют
			любой отступ. По умолчанию отступ отсутствует, хотя
			Ethernet драйвер на отправляющей системе может 
			накладывать пакет на минимальную длину Ethernet фрейма.

--llc или -L		Использовать RFC 1042 LLC фрейминг с SNAP.
			Эта опция приводит к тому, что исходящие ARP пакеты используют
			IEEE 802.2 фрейминг со SNAP заголовком как описано
			в RFC 1042. По умолчанию используется Ethernet-II
			фрейминг.
			arp-scan будет декодировать и отображать полученные ARP 
			пакеты либо в Ethernet-II или в IEEE 802.2 форматах
			независимо от этой опции.

--vlan=<i> или -Q <i>	Использовать 802.1Q тэггинг с VLAN id <i>.
			Эта опция приводит к тому, что исходящие ARP пакеты
			802.1Q VLAN используют тэггинг с VLAN ID of <i>, 
			который должен быть в диапазоне от 0 до 4095 включительно.
			arp-scan всегда будет декодировать и отображать полученные ARP
			пакеты в 802.1Q формате независимо от этой опции.

--pcapsavefile=<s> или -W <s>	Записывать полученные пакеты в pcap файл <s>.
			Это опция приводит к тому, что полученные ARP ответы
			записываются в казанный pcap файл, а также декодируются
			и отображаются. Этот файл может быть проанализирован
			программами, которые понимают формат pcap, такими
			как "tcpdump" и "wireshark".

--rtt или -D		Отображение времени прохождения пакета.

Руководство по arp-scan

ИМЯ

arp-scan - Сканер ARP.

СИНОПСИС

arp-scan [опции] [хосты...]

Целевые хосты должны быть указаны в строке команды, кроме когда указана опция --file (в этом случае цели считываются из указанного файла) или если используется опция --localnet (в этом случае цели генерируются на основе IP адреса сетевого интерфейса и маски сети).

Для запуска arp-scan вам нужно будет быть root, или arp-scan должен быть запущен с SUID битом (с sudo), поскольку функции, которые использует эта программа для чтения и записи пакетов, требуют привилегий root.

Целевые хосты могут быть указаны как IP-адреса или имена хостов. Вы также можете указать цель как IPnetwork/биты (например, 192.168.1.0/24) — это укажет все хосты в данной сети (включая сетевые и широковещательные адреса); начальныйIP-конечныйIP (например, 192.168.1.3-192.168.1.27) — это укажет на все хосты в инклюзивном диапазоне; или IPnetwork:NetMask (например, 192.168.1.0:255.255.255.0) — это укажет на все хосты в данной сети по маске.

ОПИСАНИЕ

arp-scan отправляет ARP пакеты к хостам в локальной сети и показывает полученные ответы. Сетевой интерфейс, который вы хотите использовать, можно указать опцией --interface. Если опция отсутствует, arp-scan будет искать самый низкий номер в списке системных интерфейсов (за исключением loopback). По умолчанию ARP пакеты отправляются на широковещательный Ethernet адрес ff:ff:ff:ff:ff:ff, но это можно изменить опцией --destaddr.

Целевые хосты для сканирования можно указать тремя способами: указав цели в строке команды; указав опцией --file файл, содержащий цели; или указав опцию --localnet, которая приведёт к тому, что будут просканированы все возможные в сети хосты (данные формируются исходя из адреса сетевого интерфейса и маски сети). Для хостов, указанных в строке команды или опцией --file вы можете использовать IP адреса или имена хостов. Вы также можете использовать сетевые спецификации IPnetwork/биты, начальныйIP-конечныйIP или IPnetwork:NetMask.

Список целевых хостов храниться в памяти. Каждый хост в этом списке использует 28 байт памяти, следовательно сканирование сетей класса B (65,536 хостов) требует примерно 1.75MB памяти, а сканирование класса A (16,777,216 хостов) требует примерно 448MB.


arp-scan поддерживает Ethernet и беспроводные сети 802.11. Он также может поддерживать token ring и FDDI, но они не тестировались. Программа не поддерживает serial links, такие как PPP или SLIP, поскольку они не поддерживают ARP.

ARP протокол — это протокол второго уровня (канальный уровень), который используется для определения адреса третьего уровня (сетевой уровень) по заданному адресу второго уровня, говоря другими словами для определения MAC-адреса, имея IP-адрес другого компьютера. ARP был создан для работы с адресными форматами второго уровня и третьего уровня, но чаще всего используется дял сопоставления IP адреса аппаратному Ethernet адресу, и именно это поддерживает arp-scan. ARP работает только в локальных сетях и не является маршрутизируемым. Хотя ARP протокол использует IP адреса, он не является основанным на IP протоколе и arp-scan может использоваться на интерфейсе, который не настроен для IP.

ARP только используется IPv4 хостами, IPv6 вместо него использует NDP (протокол обнаружения соседей), который является другим протоколом и не поддерживается программой arp-scan.

Один ARP пакет отправляется для каждого целевого хоста с адресом целевого протокола (поле ar$tpa), установленного на IP адрес этого хоста. Если хост не отвечает, тогда ARP пакет будет отправлен повторно ещё один раз. Максимальное количество попыток можно изменить опцией --retry. Уменьшение количества попыток уменьшит время сканирование за счёт возможного риска пропустить некоторые результаты из-за потери пакетов.

Вы можете указать полосу пропускания, которую arp-scan будет использовать для исходящих ARP пакетов опцией --bandwidth. По умолчанию она использует полосу пропускания в 256000 бит в секунду. Увеличение полосы пропускания уменьшит время сканирования, но настройка слишком широкой полосы пропускания может привести к ARP шторму, который может нарушить работу сети. Также настройка слишком высокого значения полосы пропускания может привести к отправки пакетов быстрее, чем их может пересылать сетевой интерфейс, который в конечном итоге заполнит буфер передачи ядра, в результате чего появится сообщение об ошибке: No buffer space available. Другой способ указать скорость исходящих ARP пакетов — это опция --interval, которая является альтернативой для изменения того же самого лежащего в основе параметра.

Время, затраченное на выполнение сканирования в один проход (т. е. --retry=1) рассчитывается:

время = n*i + t + o

Где n — это количество хостов в списке, i — это временной интервал между пакетами (указывается опцией --interval или расчитывается из --bandwidth), t — это значение времени ожидания (указывается с --timeout) и o — это время на загрузку целей из списка и чтение файлов сопоставления MAC/вендора. Для небольших списков хостов, значение таймаута будет превалирующим, но для больших списков пакетный интервал это самое важное значение.

С 65,536 хостами дефолтная полоса пропускания 256,000 бит/секунду (что приведёт к пакетному интервалу в 2 мс), дефолтное время ожидания равно 500 мс, при единичном проходе (--retry=1) и предположительном дополнительном расходе времени в 1 секунду, сканирование должно занять 65536*0.002 + 0.5 + 1 = 132.57 секунд, т. е. примерно 2 минуты 13 секунд.

Любая часть исходящего ARP пакета может быть модифицирована через использование различных --arpXXX опций. Использование некоторых из этих опций может сделать исходящие ARP пакеты не совместимыми с RFC. Различные операционные системы обрабатывают различные нестандартные ARP пакеты по-разному и это можно использовать для снятия отпечатков этих систем. Смотрите arp-fingerprint(1) для информации о скрипте, который использует эти опции для снятия отпечатков целевой операционной системы.

Ниже приведена сводная таблица этих опций и изменений исходящего ARP пакета. В этой таблице колонка Поле приводит имя поля ARP пакета из RFC 826, Биты определяет количество битов в этом поле, Опции показывают опцию arp-scan для изменения этого поля и Примечания дают стандартное значение и другие заметки.

Опции исходящих ARP пакетов
Поле Биты Опция Примечания
ar$hrd 16 --arphrd По умолчанию это 1 (ARPHRD_ETHER)
ar$pro 16 --arppro По умолчанию это 0x0800
ar$hln 8 --arphln По умолчанию это 6 (ETH_ALEN)
ar$pln 8 --arppln По умолчанию это 4 (IPv4)
ar$op 16 --arpop По умолчанию это 1 (ARPOP_REQUEST)
ar$sha 48 --arpsha По умолчанию это аппаратный адрес интерфейса
ar$spa 32 -arpspa По умолчанию это IP адрес интерфейса
ar$tha 48 --arptha По умолчанию это ноль (00:00:00:00:00:00)
ar$tpa 32 Нет Устанавливается на IP адрес целевого хоста

Самой часто используемой опцией исходящего ARP пакета является --arpspa, которая устанавливает IP адрес источника в ARP пакете. Эта опция позволяет исходящему ARP пакету использовать IP адрес источника отличный от адреса интерфейса. С этой опцией возможно использовать arp-scan на интерфейсе без настроенного IP адреса, что может быть полезно если вы хотите быть уверенным, что тестирующий хост не взаимодействует с тестируемой сетью.

Предупреждение: установка ar$spa на IP адрес конечного пункта может нарушать работу некоторых операционных систем, поскольку они предполагают наличие коллизии IP адресов, если они получают ARP запрос для их собственного адреса.

Можно изменить значение заголовка Ethernet фрейма, который предшествует ARP пакету в исходящих пакетах. Таблица ниже суммирует данные по опциям, которые изменяют значения в заголовке Ethernet фрейма.

Опции исходящих Ethernet фреймов
Поле Биты Опция Примечания
Адрес назначения 48 --destaddr По умолчанию это ff:ff:ff:ff:ff:ff
Адрес источника 48 --srcaddr По умолчанию это адрес интерфейса
Тип протокола 16 --prototype По умолчанию это 0x0806

Самой часто используемой опцией Ethernet фрейма является --destaddr, которая устанавливает Ethernet адрес пункта назначения для ARP пакета, --prototype используется нечасто, поскольку она может привести к тому, что пакет будет интерпретирован как другой Ethernet протокол.


Любые ARP ответы, которые получены, отображаются в следующем формате:

<IP адрес> <Аппаратный адрес> <Производитель>

Где IP адрес — это IP адрес ответившей цели, Аппаратный адрес — это её аппаратный Ethernet адрес (также известный как MAC-адрес), а Производитель — это подробности о производителе, полученные на основе аппаратного адреса. Поля вывода разделены единичным символом табуляции.

Ответы отображаются в порядке их получения, который может отличаться от порядка отправки запросов, поскольку некоторые хосты могут отвечать быстрее других.

Определение производителя использует файлы ieee-oui.txt, ieee-iab.txt и mac-vendor.txt, которые поставляются с arp-scan. Файлы ieee-oui.txt и ieee-iab.txt сгенерированы из OUI и IAB данных с веб-сайта IEEE из баз данных по адресам http://standards-oui.ieee.org/oui/oui.txt и http://standards-oui.ieee.org/iab/iab.txt. Perl скрипты get-oui и get-iab, которые включены в пакет arp-scan, могут быть использованы для обновления этих файлов до последних данных с сайта IEEE. Файл mac-vendor.txt содержит другие сопоставления MAC к производителям, которые не охвачены файлами IEEE OUI и IAB, и может использоваться для добавления пользовательских сопоставлений.

Почти все хосты, которые поддерживают IP, ответят arp-scan если они получили ARP пакет с адресом целевого протокола (ar$tpa) установленного на их IP адрес. Сюда относятся файерволы и другие хосты с IP фильтрацией, которые отбрасывают весь IP трафик от тестирующей системы. По этой причине arp-scan полезный инструмент для быстрого определения всех активных IP хостов на заданном сегменте Ethernet сети.

ОПЦИИ

Описание опций в man странице полностью повторяет содержимое справки. Для знакомства с опциями смотрите выше раздел Справка.

ФАЙЛЫ

  • /usr/share/arp-scan/ieee-oui.txt

Спиоск IEEE OUI (Уникальный идентификатор организации) для сопоставления производителя.

  • /usr/share/arp-scan/ieee-iab.txt

List of IEEE IAB (Индивидуальный блок адресов IAB) для сопоставления производителя.

  • /usr/share/arp-scan/mac-vendor.txt

Список других Ethernet MAC для сопоставления производителя.

get-oui — обновление файла OUI с веб-сайта IEEE для arp-scan

get-oui получает файл Ethernet OUI с веб-сайта IEEE и сохраняет его в формате, используемом arp-scan.

Файл OUI содержит все OUI (Organizationally Unique Identifiers, организационные уникальные идентификаторы), зарегистрированные в IEEE. Каждая запись OUI в файле определяет первые 24 бита 48-битного аппаратного адреса Ethernet, оставляя оставшиеся 24 бита для использования регистрирующей организацией. Например, запись OUI «080020», зарегистрированная в Sun Microsystems, применяется к любому адресу оборудования Ethernet с 08:00:20:00:00:00 до 08:00:20:ff:ff:ff включительно. Каждое назначение OUI представляет в общей сложности 2^24 (16 777 216) адресов Ethernet.

Каждый крупный поставщик оборудования Ethernet регистрирует OUI для своего оборудования, а более крупным поставщикам потребуется зарегистрировать более одного. Например, у 3Com всего 37 записей OUI.

Этот скрипт можно использовать для обновления OUI-файла arp-scan из последних данных на веб-сайте IEEE. Большинство используемых адресов Ethernet относятся к регистрации OUI, поэтому это самый важный из файлов, которые arp-scan использует для декодирования аппаратных адресов Ethernet. Поэтому вам следует время от времени запускать get-oui, чтобы поддерживать OUI-файл arp-scan в актуальном состоянии.


Данные OUI извлекаются из URL-адреса http://standards-oui.ieee.org/oui/oui.txt, а выходной файл сохраняется в файле ieee-oui.txt в текущем каталоге. URL-адрес для получения данных можно изменить с помощью параметра -u, а имя выходного файла можно изменить с помощью параметра -f.

Файл ieee-oui.txt, созданный этим скриптом, используется arp-scan для определения производителя карты Ethernet по его аппаратному адресу.

Каталог, в котором arp-scan будет искать файл ieee-oui.txt, зависит от параметров, использованных при его создании. Если он был построен с использованием параметров по умолчанию, он будет искать в /usr/local/share/arp-scan.

Опции:

        -h	Показать справку.
        -f	ФАЙЛ Указать выходной файл OUI. По умолчанию=ieee-oui.txt
        -u	URL Указать URL из которого будут извлекаться данные OUI.
           По умолчанию=http://standards-oui.ieee.org/oui/oui.txt
        -v	Показывать вербальные сообщения прогресса.

Чтобы выполнить обновление файла OUI запустите следующую команду:

sudo get-oui -v -f /usr/share/arp-scan/ieee-oui.txt -u http://standards-oui.ieee.org/oui/oui.txt

Примеры запуска arp-scan

Просканировать локальную сеть, используя информацию от главного сетевого интерфейса:

sudo arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
172.16.193.1    00:50:56:c0:00:08   VMware, Inc.
172.16.193.2    00:50:56:f1:18:a8   VMware, Inc.
172.16.193.254  00:50:56:e5:7b:87   VMware, Inc.

3 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 2.327 seconds (110.01 hosts/sec). 3 responded

Просканировать локальную сеть 192.168.0.0/24 используя интерфейс eth0:

sudo arp-scan --interface=eth0 192.168.0.0/24
       Interface: eth0, datalink type: EN10MB (Ethernet)
       Starting arp-scan 1.4 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
       192.168.0.1     00:c0:9f:09:b8:db       QUANTA COMPUTER, INC.
       192.168.0.3     00:02:b3:bb:66:98       Intel Corporation
       192.168.0.5     00:02:a5:90:c3:e6       Compaq Computer Corporation
       192.168.0.6     00:c0:9f:0b:91:d1       QUANTA COMPUTER, INC.
       192.168.0.12    00:02:b3:46:0d:4c       Intel Corporation
       192.168.0.13    00:02:a5:de:c2:17       Compaq Computer Corporation
       192.168.0.87    00:0b:db:b2:fa:60       Dell ESG PCBA Test
       192.168.0.90    00:02:b3:06:d7:9b       Intel Corporation
       192.168.0.105   00:13:72:09:ad:76       Dell Inc.
       192.168.0.153   00:10:db:26:4d:52       Juniper Networks, Inc.
       192.168.0.191   00:01:e6:57:8b:68       Hewlett-Packard Company
       192.168.0.251   00:04:27:6a:5d:a1       Cisco Systems, Inc.
       192.168.0.196   00:30:c1:5e:58:7d       HEWLETT-PACKARD

Просканировать подсеть, на указанном интерфейсе и используя пользовательский MAC адрес источника:

arp-scan -I eth0 --srcaddr=DE:AD:BE:EF:CA:FE 192.168.86.0/24
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.86.1    70:3a:cb:68:51:4c   (Unknown)
192.168.86.3    00:08:9b:f6:f6:2f   ICP Electronics Inc.
192.168.86.2    84:1b:5e:e5:66:af   NETGEAR
192.168.86.4    00:11:32:4b:04:8a   Synology Incorporated
192.168.86.7    b8:27:eb:89:ac:c3   Raspberry Pi Foundation

Установка arp-scan

Программа предустановлена в Kali Linux.

Установка в BlackArch

Программа предустановлена в BlackArch.

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты arp-scan

Инструкции по arp-scan


Близкие программы:

  • Xplico (82.1%)
  • Dublin Traceroute (80.1%)
  • copy-router-config (78.6%)
  • Wireshark (78.6%)
  • Habu (69.4%)
  • Whatportis (RANDOM - 51.5%)
  • Рекомендуется Вам:

    Comments are Closed