Какой самый простой способ получить список рабочих столов Windows, которые находятся в подсети, но не имеют имен, перечисленных на DNS-сервере?
Вы могли бы использовать Nmap
nmap 192.168.1.0/24
предоставит вам список всех IP-адресов, используемых в подсети, вместе с их открытыми портами.
Ниже приводится мое продолжение выбранного ответа.
Если вам не нужна информация о сканировании портов, -sP
просто проверит, включен ли хост. Вы можете указать, какой DNS-сервер с --dns-servers
. Если машина не в сети, но имеет запись DNS, -R
может быть полезно. Мое предложение для быстрого сканирования:
nmap 192.168.0.1/24 -sL -R | grep -v '(.*)' | awk '{print $2}'
Есть более эффективные способы grep для вывода, но это делает свою работу достаточно хорошо. -sL
даже не проверяет, что машина работает, просто просматривает список IP-адресов, -R
отправляет DNS-запросы для всех IP-адресов, а не только для тех, которые работают - Nmap не знает, какие из них работают, и по умолчанию не выполняет DNS-запросы на неработающих хостах. Grep выводит только те строки без prens - те, что без записей DNS; удалять -v
чтобы получить только те, у которых есть записи DNS, но вам нужно будет изменить grep / awk для анализа IP-адресов в этом случае.
Пример вывода:
$ nmap 192.168.0.1/24 -sL -R | grep -v '(.*)' | awk '{print $2}'
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3
# ...
Это IP-адреса, для которых нет записей DNS.
В Nmap инструмент сделает и то, и другое. Однако прежде чем это сделать, получите письменное разрешение на его запуск. Большинство организаций классифицируют его как инструмент безопасности (так оно и есть), и большинство из них имеют четкую политику получения разрешения перед запуском таких инструментов.
Если вы не можете выполнить (1), у вас большие проблемы ...
Расширенный сканер IP может помочь.