Чтобы получить авторитетную запись A для вершины домена, который я использую:
$ nslookup -q=ns example.com
Server: 194.168.4.100
Address: 194.168.4.100#53
Non-authoritative answer:
example.com nameserver = a.iana-servers.net.
example.com nameserver = b.iana-servers.net.
Authoritative answers can be found from:
b.iana-servers.net internet address = 199.43.133.53
a.iana-servers.net internet address = 199.43.135.53
$ dig -t a +noall +answer example.com @a.iana-servers.net
example.com. 86400 IN A 93.184.216.34
Есть ли лучший способ? Кроме того, не все серверы имен создаются одинаково, поэтому b.iana-servers.net
требует гораздо больше времени (x100, иногда время ожидания), чтобы ответить, чем a.iana-servers.net
, это Было бы очень полезно, если бы был простой способ запросить их всех и вернуть результат первого, ответившего.
Ваш пример не работает. Информация о делегирующем сервере имен, которую вы получаете, может быть устаревшей, поэтому сервер имен, который вы запрашиваете для получения достоверной информации, может больше не быть фактическим авторитетным сервером для запрошенного домена. Чтобы максимально приблизиться к гарантированной достоверной информации прямо сейчас, вы должны каждый раз возвращаться из корня, поскольку каждый шаг на пути может измениться в любой момент.
Тем не менее, как ты думаешь, зачем тебе это нужно? Вы пытаетесь обойти структуру DNS, поэтому это никогда не будет простым и удобным. Зачем вам нужно прилагать все эти дополнительные усилия?