Новый nslookup: Resolve-DnsName
Nslookup — это инструмент командной строки для разрешения DNS-имен. Resolve-DnsName — современная версия nslookup. В этом блоге я собираюсь показать, как использовать Resolve-DnsName для запроса DNS-имен хостов и многого другого.
Стандартный запрос
Чтобы выполнить стандартный запрос, просто выполните команду и укажите имя хоста. Форматирование таблицы не обязательно, но полезно.
Resolve-DnsName active-directory.ru | Format-Table -AutoSizeЗапрос без файла хоста
Помните: ваш хост сначала запросит файл хостов и кэш клиента DNS. Если и только если файл хостов и кэш не вернут результата, будет выполнен запрос к DNS-серверу. Чтобы этого избежать, запустите Resolve-DnsName с параметром -NoHostFile.
Resolve-DnsName active-directory.ru -NoHostsFileЗапрос в режиме только кэша
Чтобы это продемонстрировать, я очищу кэш клиента DNS, а затем попробую выполнить запрос к active-directory.ru. Это должно привести к ошибке. Ура!
Clear-DnsClientCache
Resolve-DnsName active-directory.ru -CacheOnlyУкажите DNS-сервер
Команда Resolve-DnsName без любых параметров будет обращаться к вашему первичному DNS-серверу, который настроен в параметрах вашей сетевой карты. Параметр -Server позволяет указать другие DNS-серверы.
Resolve-DnsName active-directory.ru -Server 8.8.8.8 | Format-ListЗапрос на записи
Используйте параметр Type для запроса конкретных записей.
MX-записи (почтовый сервер)
Resolve-DnsName cnn.com -Type MXAAAA Записи (только IPv6)
Resolve-DnsName facebook.com -Type AAAA | Format-List
Подожди минутку. Ты это заметил? Нет? Тогда посмотри еще раз на IPv6-адрес facebook. 🙄 Они не оставили ничего на удачу.
Только LLMNR
Чтобы использовать только разрешение имен многоадресной рассылки Link Local, используйте параметр LlmnrOnly. LLMNR будет работать только с компьютерами, которые находятся в одной локальной ссылке.
Dc01 и мой компьютер используют одну и ту же связь. Это работает.
Resolve-DnsName dc01 -LlmnrOnly | Format-Table -AutoSizeSid-500.com не находится по той же ссылке. Это приводит к ошибке.
Тройное разрешение имен
"active-directory.ru","facebook.com","cnn.com" | Resolve-DnsName -Type A | Format-Table -AutoSizeДругой вариант — использовать nslookup с Foreach-Object.
"active-directory.ru","facebook.com","cnn.com" | ForEach-Object {nslookup $_}Запустите Resolve-DnsName, используя файл с именами хостов.
Используйте Get-Content, чтобы извлечь все имена из вашего файла. Вот мой текстовый файл …
А вот команда для A-записей (IP-адреса IPv4) …
Или все записи NS ...
Разрешение DNS-имен с использованием таблицы TCP-соединений
Хорошо, позвольте мне объяснить следующее немного подробнее. Команда Get-NetTCPConnection предоставляет мне все текущие подключения по IP-адресу. Верно? Хорошо. Итак, я попытался получить все эти подключения, а затем решил поймать одно из них и выполнить команду Resolve-DnsName для него 😉
Get-NetTCPConnectionЭто дает мне соединение с 40.77.229.45 и локальным портом 12518. Ну, этого достаточно, чтобы продолжить.
Resolve-DnsName (Get-NetTCPConnection -State Established -LocalPort 12518).RemoteAddress -Type PTR | Select-Object NameHostО, это Microsoft 😉
Ссылка: https://technet.microsoft.com/de-de/library/jj590781%28v=wps.630%29.aspx?f=255&MSPPError=-2147217396
Связанные ссылки
Для проверки сетевой и доменной связи посмотрите мои статьи "Современная версия ping: Test-Connection" и "Проверка подключения к Active Directory: Test-ComputerSecureChannel."













