На моем ПК с 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, это было бы неплохо, поэтому мне не интересны решения, которые требуют написания сценария или чего-то такого сложного.