NMAP - как узнать какие ip-адреса заняты в локальный сети
Многие почему-то предлагают использовать для поиска занятых IP-адресов в сети команду arp -a. Да, она показывает список адресов. Правда её результат вывода очень далек от реальной картины. Эта команда показывает содержимое ARP-таблицы вашего компьютера. Когда Вы взаимодействуете с любым компьютером в сети, операционная система запоминает его IP-адрес и заносит его специальную таблицу. Называется она ARP-таблица. Вызывая команду arp -a, Вы просите свою ОС показать содержимое этой таблицы. И больше ничего.
Пожалуй, есть только одна консольная утилита собирающая все IP-адреса в сети, на которую стоит обратить внимание – это Nmap. Это даже не утилита, а полноценный сетевой сканер, который может сравнится по возможностям с XSpider. Если Вы начинающий системный администратор, то стоит изучить Nmap, так как это один из самых главных инструментов для знакомства с новой сетью для любого ITшника. Также может использоваться в качестве инструмента сетевого мониторинга.
Nmap — это бесплатный сетевой сканер, версия которого есть как под Windows, так и под Linux. Изначально работа с nmap реализована в консоли, но разработчики подсуетились и сделали графический интерфейс – ZenMap
Установка Nmap
Для Linux Mint, Ubuntu и Debian можно установить nmap из официального репозитория:
apt install nmap -y
yum install nmap -y
.....
Для Windows можно загрузить дистрибутив с официального сайте Nmap — https://nmap.org
Как найти все IP-адреса с помощью Nmap?
Стоит оговорится сразу, что у этой программы множества ключей запуска, с которыми лучше ознакомится в MAN-документации или в help`е. Стоит сказать, что с ее помощью можно даже проверить вашу систему на ddos-атаку.
Для нашей задачи нужно узнать IP`ишник или подсеть из которой нам выдан IP-адрес. В Windows это можно сделать консольной командой ipconfig
, а в Linux – ifconfig
.
У нас в примере используем Centos, поэтому команда такая:
ip addr
Наш IP-адрес из вывода выше – 172.17.100.2
, а подсеть соответственно — 172.17.100.0
. Так как мы хотим просканировать всю нашу подсеть, будем использовать маску подсети 255.255.255.0.
В сокращенном варианте это будет выглядеть так 172.17.100.2/24
Для поиска незанятых IP-адресов в сети, выполняем команду:
nmap -v -sP 172.17.100.2/24
Здесь можно указать как наш IP-адрес, так и адрес подсети. Это не важно.
Получаем список IP-адресов , которые используются в данный момент:
Из этого видно, что заняты IP-адреса: 172.17.100.3, 172.17.100.10
и наш 172.17.100.2
Круто, не правда ли?..
Если нужно вывести только не занятые IP-адреса, то вот команда:
nmap -v -sP 172.17.100.2/24 | grep down
Стоит понимать, что вывод этой команды показывает нам только включенные компьютеры сети. Чтобы получить реальную картину занятости IP-адресов, нужно выполнить такое сканирование несколько раз в течении рабочего дня.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.