На моем ПК с Windows 10 запущена подсистема Windows для Linux (WSL, также известная как "Bash on Ubuntu в Windows"), и я заметил, что есть небольшая разница в результатах, которые я получаю, когда использую nslookup в этой среде, по сравнению с традиционным Оболочка Windows (cmd.exe или PowerShell). В частности, это касается сервера имен, который используется по умолчанию для выполнения запроса. Так что, если я сделаю простой поиск следующим образом:

nslookup example.com

В обеих версиях команды для Windows и Linux выводятся две строки информации о сервере имен (очевидно, в дополнение к информации DNS о домене). В оболочке Windows я получаю IP-адрес и имя сервера имен:

Server: name.of.name.server
Address: xxx.xxx.xxx.xxx

В WSL обе эти строки в выходных данных содержат IP-адрес сервера имен (имя сервера имен не выводится), но вторая строка по какой-то причине добавляет #53 :

Server: xxx.xxx.xxx.xxx
Address: xxx.xxx.xxx.xxx#53

Не имеет значения, если я использую опцию -query=any , я все еще не могу получить имя сервера имен в Linux. То же самое, если я использую команду dig :

dig example.com any

Информация о сервере имен находится в нижней части вывода и выглядит следующим образом:

;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)

И снова, эти x представляют IP-адрес сервера имен, и это тот же IP в скобках (минус #53).

Мне было любопытно, может ли это быть проблемой с WSL, поэтому я использовал SSH на нескольких разных реальных серверах Linux. Я получил в основном те же результаты. Очевидно, что IP-адрес сервера имен, используемого для каждого из них, был разным, но, что любопытно, даже несмотря на то, что это были два совершенно разных сервера (один в Калифорнии, другой в Юте), оба имели таинственный #53 на выходе.

Итак, у меня есть два вопроса: что означает #53 , и как я могу получить имя сервера имен для отображения в выводе, как это происходит в Windows-версии nslookup? Да, если я скопирую и вставлю IP-адрес сервера имен в отдельную команду nslookup в Linux, я получу имя сервера, но мне хотелось бы получить эту информацию вместе с информацией DNS о домене, который я запрашиваю, одной командой , Мне было интересно, есть ли какая-нибудь опция, о которой я не знаю ни в nslookup ни в dig , которая сделает это. Это не супер важно иметь возможность делать это в Linux, это было бы неплохо, поэтому мне не интересны решения, которые требуют написания сценария или чего-то такого сложного.

1 ответ1

0

53 - это номер порта, стандартный для DNS-запросов, поэтому он просто показывает вам IP-адрес и порт.

Что касается сервера имен, я сейчас дома, поэтому мой сервер имен по умолчанию - мой маршрутизатор. Под linux, который действительно сообщает как IP-адрес, но я думаю, что версия nslookup для Windows может использовать WINS для возврата имени, если оно доступно, так как мой возвращает как очень странный home.gateway.home.gateway

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .