Назад | Перейти на главную страницу

Список IP-адресов, которых нет в DNS

Какой самый простой способ получить список рабочих столов 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. получить список ваших рабочих столов Windows и их имена
  2. для каждого из них спросите DNS-сервер, есть ли они в списке ...

Если вы не можете выполнить (1), у вас большие проблемы ...