Есть ли способ сканирования бесплатных IP-адресов в сети? Я использую, nmap -sP 192.168.1.0/24
но это на самом деле показывает хосты, которые работают.
Есть ли способ сканирования бесплатных IP-адресов в сети? Я использую, nmap -sP 192.168.1.0/24
но это на самом деле показывает хосты, которые работают.
Ответы:
Подобное использование Nmap является довольно точным способом выполнения того, что вы просили, при условии, что некоторые предварительные условия выполняются:
Чтобы получить «доступные» адреса, вам нужно получить список адресов, которые Nmap сообщает как «вниз». Вы можете сделать это с помощью простой команды awk:
sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Сводка использованных опций Nmap:
-v
опцию, Nmap печатает адреса, которые он находит как «вниз», в дополнение к тем, которые «вверх».-sP
я заменил более новую орфографию -sn
, которая все еще выполняет то же сканирование, но означает «пропустить сканирование портов» вместо вводящего в заблуждение «сканирования Ping» (поскольку фаза обнаружения хоста не обязательно означает сканирование эха ICMP или Ping ).-n
Опция пропускает обратный поиск DNS, который покупает вам немного времени, так как вы не заинтересованы в именах , но только IP - адреса.-oG
Опция указывает Nmap для вывода grepable формат, который легче AWK для обработки. Аргумент " -
" говорит ему отправить этот вывод на стандартный вывод.Затем команда awk ищет «Status: Down» и печатает второе поле, содержащее IP-адрес.
Конечно, если у вас есть доступ к рабочим конфигурациям коммутатора или аренде DHCP-сервера, вы могли бы получить этот ответ гораздо более авторитетно, не выполняя сканирование, которое могло бы отключить сигналы безопасности.
Не уверен насчет n-map, но можно разумно предположить, что если вы напишете сценарий проверки связи, который отправляет 1 запрос на каждый адрес, то все хосты, которые возвращаются с «местом назначения недоступно», не заняты, а все, что возвращается, «истекло время ожидания» занят, но не отвечает на пинг. Разница между этими двумя ответами заключается в том, что «пункт назначения недоступен» не получил ответ на свой запрос ARP. «Время ожидания запроса» означает, что что-то ответило на запрос ARP, но не на пакет ICMP.
Вот еще один вдохновленный Андерсом Ларссоном
для ip в 172.18.5. {129..254}; do {ping -c 1 -W 1 $ ip; } &> / dev / null || echo $ ip & done | Сортировать
Что это означает: «Попытайтесь пропинговать все Ips в диапазоне. Если« ping »терпит неудачу, напечатайте тот IP»
Если вы делаете
nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
Работает быстро, но я заметил, что некоторые хосты, отмеченные как «Вниз», на самом деле «Вверх»