Найти в Дзене
UFO.Hosting

Гайд на ARP-сканирование локальной сети в Linux

Иногда нужно понять очень простую вещь: какие устройства прямо сейчас находятся в вашей локальной сети.то может понадобиться для инвентаризации, поиска «потерявшегося» принтера, проверки гостевого Wi-Fi, диагностики странных конфликтов IP-адресов или просто чтобы убедиться, что в сети нет ничего лишнего. Один из самых быстрых и практичных способов обнаружения устройств в одной подсети — ARP-сканирование. Оно опирается на базовый механизм Ethernet-сетей и часто работает там, где обычный ping не поможет. ARP — протокол, который помогает компьютеру сопоставить IP-адрес с MAC-адресом в пределах локального сегмента сети. Когда ваше устройство хочет отправить пакет на IP внутри локалки, ему нужно знать, на какой MAC-адрес отправлять данные. Для этого оно задаёт вопрос в сеть: «Кому принадлежит IP 192.168.1.50?». В ответ владелец этого IP присылает свой MAC, и дальше обмен идёт уже адресно. Чтобы сканирование было корректным, нужно понять две вещи: через какой интерфейс вы в сети и какой у ва
Оглавление

Иногда нужно понять очень простую вещь: какие устройства прямо сейчас находятся в вашей локальной сети.то может понадобиться для инвентаризации, поиска «потерявшегося» принтера, проверки гостевого Wi-Fi, диагностики странных конфликтов IP-адресов или просто чтобы убедиться, что в сети нет ничего лишнего.

Один из самых быстрых и практичных способов обнаружения устройств в одной подсети — ARP-сканирование. Оно опирается на базовый механизм Ethernet-сетей и часто работает там, где обычный ping не поможет.

Что такое ARP и почему через него удобно сканировать сеть

ARP — протокол, который помогает компьютеру сопоставить IP-адрес с MAC-адресом в пределах локального сегмента сети. Когда ваше устройство хочет отправить пакет на IP внутри локалки, ему нужно знать, на какой MAC-адрес отправлять данные. Для этого оно задаёт вопрос в сеть: «Кому принадлежит IP 192.168.1.50?». В ответ владелец этого IP присылает свой MAC, и дальше обмен идёт уже адресно.

Перед стартом: узнаём интерфейс и свою подсеть

Чтобы сканирование было корректным, нужно понять две вещи: через какой интерфейс вы в сети и какой у вас диапазон адресов.

1. Смотрим интерфейсы и адреса:

ip -br a

Вы увидите что-то вроде enp3s0 192.168.1.10/24 или wlan0 10.0.0.25/24. Суффикс /24 — это маска сети (CIDR), по ней понятно, что диапазон обычно x.x.x.0–x.x.x.255.

2. Смотрим маршрут по умолчанию, чтобы понять «главный» интерфейс и шлюз:

ip route

Строка вида default via 192.168.1.1 dev enp3s0 подскажет, где вы находитесь.

Способ 1. arp-scan: самый просто инструмент для ARP-сканирования

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

Установка

Debian/Ubuntu:
sudo apt update && sudo apt install arp-scan

Fedora:
sudo dnf install arp-scan

Arch:
sudo pacman -S arp-scan

Сканирование всей подсети текущего интерфейса

Чаще всего достаточно одной команды:

sudo arp-scan --localnet

Вы получите список вида:

  • IP-адрес
  • MAC-адрес
  • иногда — производитель (по OUI, первым байтам MAC)

Если интерфейсов несколько

Явно укажите нужный:

sudo arp-scan --interface=enp3s0 --localnet

Сканирование конкретного диапазона

Если вы точно знаете сеть, можно указать её явно:

sudo arp-scan 192.168.1.0/24

Что важно понимать по результатам

ARP-скан покажет устройства, которые реально присутствуют в L2-сегменте и отвечают на ARP. Если устройство спит, ушло в энергосбережение, находится за изолированной Wi-Fi-сетью или подключено к «гостевому» сегменту с клиентской изоляцией, его может не быть в выдаче — и это не ошибка команды, а свойство сети.

Способ 2. Встроенные средства Linux: ip neigh и ARP-кэш

Linux сам постоянно ведёт таблицу соседей (ARP/ND). Иногда достаточно просто посмотреть, кого система уже видела» в сети:

ip neigh

Вы увидите записи вида 192.168.1.1 dev enp3s0 lladdr aa:bb:cc:dd:ee:ff REACHABLE.

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

Способ 3. Проверка с помощью nmap -sn

nmap чаще ассоциируется с порт-сканированием, но для задачи обнаружения хостов у него есть режим ping scan без портов:

sudo nmap -sn 192.168.1.0/24

При проводном соединении nmap обычно использует ARP для адресов в локальной подсети, поэтому результаты часто близки к arp-scan. При этом nmap может дополнительно применять ICMP и другие методы, что иногда помогает в смешанных сценариях.

Почему ARP-сканирование иногда «не видит» часть устройств

Когда результаты кажутся неполными, чаще всего причина не в Linux и не в утилитах. Вот типовые сценарии:

  1. Разные VLAN/подсети. ARP не проходит через маршрутизатор. Если устройство в другой подсети, вы его не увидите.
  2. Wi-Fi client isolation / гостевая сеть. Многие роутеры в гостевом режиме запрещают клиентам видеть друг друга. Тогда ARP-скан с одного клиента почти ничего не покажет.
  3. Сон и энергосбережение. Смартфоны, ноутбуки и IoT могут спать и не отвечать мгновенно.
  4. Фильтрация и особенности оборудования. Редко, но встречаются устройства, которые ведут себя нетипично или отвечают не всегда стабильно.
  5. Вы сканируете не тем интерфейсом. Особенно легко ошибиться на ноутбуках с Ethernet + Wi-Fi + VPN.

Важно: ARP-сканирование — это не взлом и не хакерство, но это всё равно активное воздействие на сеть. В домашней сети или в своей инфраструктуре это нормальный диагностический инструмент. В корпоративной среде лучше заранее убедиться, что вы действуете в рамках правил: некоторые системы мониторинга воспринимают массовые ARP-запросы как подозрительную активность.

Если вы сканируете сеть, которая вам не принадлежит и на которую у вас нет разрешения, это уже плохая идея и, в зависимости от юрисдикции и обстоятельств, может привести к неприятным последствиям. В нормальной рабочей практике ARP-скан применяют там, где вы администратор или владелец сети, либо действуете по согласованию.

Итог

ARP-сканирование — это один из самых приземлённых и полезных инструментов диагностики локальной сети. Оно не требует сложной инфраструктуры, работает быстро и в большинстве случаев показывает реальную картину того, что находится в вашем сегменте прямо сейчас. Если держать в голове ограничения (подсети, VLAN, изоляция Wi-Fi), результаты становятся понятными и предсказуемыми.

Если после сканирования вы поняли, что локальной инфраструктуре тесно, часть сервисов можно вынести на внешний сервер — так проще разграничить доступ, снизить нагрузку на домашнюю сеть и держать критичные компоненты в более предсказуемой среде. А если вам нужен VPS или dedicated для таких задач, в UFO.Hosting можно оформить заказ со скидкой: используйте промокод DZEN. Он помогает выгоднее запускать проекты на производительной платформе, которая рассчитана на стабильную работу и высокие нагрузки.