Nmap: найти бесплатные IP-адреса из диапазона

Есть ли способ сканирования бесплатных IP-адресов в сети? Я использую nmap -sP 192.168.1.0/24, но на самом деле это показывает, что хосты находятся вверх.

12 голосов | спросил HTF 4 PMpFri, 04 Apr 2014 17:32:46 +040032Friday 2014, 17:32:46

3 ответа


20

Использование Nmap, как это, является довольно точным способом делать то, что вы просили, при условии, что некоторые предварительные условия верны:

  1. Вы должны запустить сканирование с правами администратора (или администратора в Windows), чтобы отправлять запросы ARP, а не соединения TCP. В противном случае сканирование может сообщать адрес как «вниз», когда он просто защищен брандмауэром.
  2. Вы можете сделать это только из системы по той же линии передачи данных (уровень 2), что и диапазон адресов, который вы просматриваете. В противном случае 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 scan» (поскольку фаза обнаружения хоста необязательно означает сканирование ICMP-эхо или Ping).
  • Параметр -n пропускает обратные DNS-запросы, которые покупают вам немного времени, поскольку вас не интересуют имена, а просто IP-адреса.
  • Опция -oG сообщает Nmap выводить grepable , который проще для awk для обработки. Аргумент «-» сообщает ему отправить этот вывод в стандартный вывод.

Затем команда awk выполняет поиск «Status: Down» и печатает второе поле, содержащее IP-адрес.

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

ответил bonsaiviking 4 PMpFri, 04 Apr 2014 17:56:54 +040056Friday 2014, 17:56:54
1

Не уверен в n-карте, но можно с полным основанием предположить, что если вы пишете скрипт ping, который отправляет 1 пинг на каждый адрес, что любые хосты, которые возвращаются с «недоступным местом назначения», остаются незанятыми и все, что возвращается » тайм-аут "занят, но не отвечает на пинг. Разница между двумя ответами заключается в том, что «получатель недоступен» не получил ответа на свой запрос ARP. «Тайм-аут запроса» означает, что что-то ответило на запрос ARP, но не на пакет ICMP.

ответил MartinC 4 PMpFri, 04 Apr 2014 17:40:25 +040040Friday 2014, 17:40:25
0

Вот еще один, вдохновленный Андерсом Ларсоном

  

для ip в 172.18.5. {129..254}; do {ping -c 1 -W 1 $ ip; } &>>   /dev /null || echo $ ip & сделано | сортировать

Что это значит: «Попробуйте выполнить ping все Ips в диапазоне. Если« ping »не удалось распечатать IP-адрес«

Если вы делаете

nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'

Работает быстро, но я заметил, что некоторые хосты, объявленные как «Вниз», на самом деле «Вверх»

ответил Radu Gabriel 5 PMpThu, 05 Apr 2018 20:15:39 +030015Thursday 2018, 20:15:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132