У меня, казалось бы, простой вопрос, но я не могу найти ответ именно на этот вопрос после некоторого поиска :
Я знаю, что если я хочу найти IP-адрес некоторого доменного имени, я набираю, например:
nslookup google.de
и получаю
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
Name: google.de
Address: 172.217.18.3
Однако я не знаю, откуда я получил этот ответ.
Насколько мне известно, сначала мой преобразователь пытается запросить мой локальный DNS-сервер (который находится на Ubuntu dnsmasq), и если у него нет ответа, он запрашивает следующий сервер и так далее. Но я хочу знать, какой именно сервер в итоге получил ответ. Возможно ли это?
Я также попробовал
dig +trace www.google.com
, который предоставляет всю информацию о выданных серверах, но выполняет полностью итеративный поиск. Я бы хотел получить такой ответ, но с обычным поиском.
Я хочу знать, какой именно сервер в итоге получил ответ. Возможно ли это?
Это недостижимо. Вы не найдете конкретного полномочного сервера, с которым проводились консультации, по имени где-либо в полезных данных ответа DNS. Существуют запросы CHAOS, которые существуют с целью идентификации конкретного рекурсивного сервера, который ответил вам, но нет такого эквивалента для извлечения имени точного полномочного сервера, с которого рекурсор получил данные.
В разделе вопросов и ответов StackOverflow, на который ссылается Филипп, содержатся инструкции по определению списка записей NS
, которые присутствовали в разделе полномочий рекурсивного ответа DNS. Однако это полный список серверов, а не конкретный сервер . Даже если этого достаточно для ваших целей, эта информация считается необязательной по стандартам DNS, и ее все реже можно увидеть в рекурсивных ответах, чтобы уменьшить размер полезной нагрузки атак отражения из внутренних источников.
Если вы знаете имя зоны, вы можете запросить полный список записей NS
с помощью явного запроса для них. Для этого необходимо знать, что вы находитесь на вершине зоны; запрос для записей NS example.com
вернет желаемый ответ, но www.example.com
не вернет, если только www
не был делегирован другому набору серверов. В этом случае у вас нет другого выбора, кроме как итеративно работать в обратном направлении, пока не обнаружите вершину зоны.
Короче говоря, не существует надежного короткого пути (т.е. единственного запроса) для получения информации обо всех всех вышестоящий авторитетный сервер от рекурсивного сервера, и не существует способа узнать конкретный авторитетный сервер, который ответил на запрос, без контроля над авторитетным сервером и создания уникальных данных на каждом сервере. (если вы это сделаете, создайте для этой цели уникальную зону, чтобы она не мешала вашим более чувствительным переносам производственных зон)
Когда вы используете dig
в ответе по умолчанию, у вас будет IP-адрес отвечающего сервера имен, который должен быть рекурсивным сервером имен, настроенным в вашей системе ( / и т. Д. /resolv.conf
обычно).
ni kukuru, nslookup ṣeto iru ibeere ni SOA
laini ẹyọkan:
nslookup -querytype=soa google.de
nslookup -d2 -type=ANY google.de
nslookup -d2 -type=ANY google.de 8.8.8.8
wa fun: olupin orukọ akọkọ
command line> nslookup
> set querytype=soa
> google.de
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
google.de
primary name server = ns2.google.com
responsible mail addr = dns-admin.google.com
serial = 160093636
refresh = 900 (15 mins)
retry = 900 (15 mins)
expire = 1800 (30 mins)
default TTL = 60 (1 min)
>
EDIT:
A sọ fun mi pe igbasilẹ SOA le ma jẹ ọna to dara julọ . Wipe o le ma ṣeto paapaa. Nitorinaa, igbasilẹ NS yoo ti jẹ yiyan ti o dara julọ:
Nibo ni olupin olupin
olupin fun ìkápá naa ...
nslookup -type=NS google.de
Tabi pẹlu ọpọlọpọ alaye isanku lati wa orukọ olupin
nslookup -d2 -type=NS google.de