Как определить все активные IP-адреса в сети

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

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

arp - это встроенная утилита командной строки, используемая для просмотра и изменения ARP-кэша системы. Она также используется для поиска MAC-адреса системы по заданному IP-адресу, так как в ARP-кэше хранится сопоставление IP и MAC-адреса системы, с которой она взаимодействует.

Используя команду arp, можно найти все IP-адреса в вашей сети. Если arp не был предустановлен в конкретном дистрибутиве Linux или был ошибочно удален, можно установить его с помощью следующей простой команды:

В дистрибутивах на базе Debian, включая Ubuntu:

sudo apt install net-tools

В дистрибутивах на базе RHEL:

 
sudo dnf install net-tools

В дистрибутивах на базе Arch

 
sudo pacman -S net-tools

Чтобы найти все IP-адреса в сети, используется команда arp без каких-либо аргументов:

 
arp

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

Чтобы найти все IP-адреса в сети, используется команда nmap:

 
sudo nmap -sn <network-ID>/<network-prefix>

Допустим, чтобы найти все IP-адреса в сети 192.168.22.0/24, необходимо выполнить:

 
sudo nmap -sn 192.168.22.0/24

Параметр -sn указывает Nmap на выполнение только сканирования хоста (без сканирования портов).

Чтобы вывести только IP адреса и удалить другую информацию, используйте следующую команду.

 
sudo nmap -sn <network-ID>/<network-prefix> | grep report | awk '{ print $5 }'

Также можно найти информацию об ОС, связанную с этими IP-адресами, с помощью следующей команды:

 
sudo nmap -sT -O <network-ID>/<network prefix>

Angry IP Scanner - это кроссплатформенный сканер IP-адресов и портов с открытым исходным кодом, который пингует каждый IP-адрес в заданном диапазоне, чтобы проверить, жив ли он и отвечает ли. Для каждого живого узла он определяет его имя, MAC-адрес, производителя оборудования и открытые порты.

Результаты сканирования можно также экспортировать в файлы CSV, TXT и XML. Angry IP Scanner доступен для Linux, Windows и macOS.

В дистрибутивах Linux, таких как Ubuntu, Debian и Fedora, можно легко установить Angry IP Scanner, загрузив его пакет DEB или RPM либо со страницы релизов на GitHub, либо с помощью команды wget.

В дистрибутивах на базе Debian:

 
wget https://github.com/angryip/ipscan/releases/download/3.9.1/ipscan_3.9.1_amd64.deb

Установка пакета с помощью APT:

 
sudo apt install ./ipscan*.deb

В дистрибутивах на базе RHEL:

 
wget https://github.com/angryip/ipscan/releases/download/3.9.1/ipscan-3.9.1-1.x86_64.rpm

Затем с помощью DNF выполняем локальную установку пакета:

 
sudo yum localinstall ipscan*.rpm

В Arch Linux Angry IP Scanner можно установить из репозитория Arch User Repository (AUR) с помощью yay:

  
yay -S ipscan 

Чтобы найти все IP-адреса в сети, запускаем Angry IP Scanner и указываем диапазон IP-адресов (начальный и конечный IP-адрес) или идентификатор сети с префиксом. Также можно сканировать IP-адреса из текстового файла. Затем нажмите кнопку Start, чтобы начать процесс сканирования.

По завершении сканирования будут отображены все отсканированные IP-адреса в заданном диапазоне. Вы также можете включить в результаты дополнительные сведения, такие как MAC-адрес, MAC-вендор, порты и т.д., выбрав опцию Инструменты > Сборщики данных.

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

Netdiscover - еще одна полезная утилита командной строки для исследования сети, которая может обнаружить все активные хосты в сети с помощью ARP-запросов. Для всех обнаруженных узлов она отображает их IP-адреса, MAC-адреса и производителя оборудования.

Можно использовать утилиту Netdiscover для поиска всех IP-адресов в сети.

В дистрибутивах Linux вы можете установить Netdiscover с помощью следующих команд:

В дистрибутивах на базе Debian:

 
sudo apt install netdiscover

Чтобы установить Netdiscover из Snap Store, сначала нужно установить snap в системе, а затем выполнить следующую команду:

 
sudo snap install netdiscover-ondra

В Arch Linux сначала необходимо установить и настроить yay. Затем установить Netdiscover, выполнив:

 
yay -S netdiscover 

После установки можно использовать команду netdiscover для обнаружения всех IP-адресов в сети следующим образом:

 
netdiscover -r <network-ID>/<network-prefix>

Знание всех IP-адресов в сети может помочь выявить потенциальные риски безопасности и устранить проблемы с подключением. Основные команды, такие как arp и netdiscover, позволяют получить список подключенных устройств по их IP- и MAC-адресам, а такие инструменты, как Nmap и Angry IP Scanner, могут дать вам более подробную информацию об активных узлах.

Как только станет известно, кто подключен к сети, поиск того, кто и что использует пропускную способность сети, может еще больше повысить безопасность и эффективность вашей сети.