Как получить пары сервер имен - ip для некоторого домена? [закрыто]

Я хочу получить пары сервер имен - ip для некоторого домена. Например, есть домен serverfault.com. Я хочу получить:

NS1.SERVERFAULT.COM - 198.252.206.80
NS2.SERVERFAULT.COM - 198.252.206.81

Возможно ли это? Я пытаюсь использовать nslookup, но безуспешно.

Обновление. Я обнаружил команду: C: \ Users \ Nick> nslookup -type = ns serverfault.com , но у меня она не работает:

C:\Users\Nick>nslookup -type=ns serverfault.com
Server:  UnKnown
Address:  62.68.141.212

Non-authoritative answer:
serverfault.com nameserver = ns3.serverfault.com
serverfault.com nameserver = ns4.serverfault.com
serverfault.com nameserver = ns2.serverfault.com
serverfault.com nameserver = ns1.serverfault.com
2
задан 20 September 2013 в 14:47
3 ответа

Чтобы найти серверы имен данного домена, вы можете использовать nslookup для получения записи SOA. Используя serverfault.com в качестве примера:

C:\> nslookup
Default Server: <foo>
Address: <bar>

> set type=SOA
> serverfault.com
Server: <foo>
Address: <bar>

Non-aithoritative answer:
serverfault.com
        primary name server = ns1.serverfault.com
        responsible mail addr = sysadmins.stackoverflow.com
        serial  = 2013072101
        refresh = 600 (10 mins)
        retry   = 600 (10 mins)
        expire  = 604800 (7 days)
        default TTL = 1440 (24 mins)

serverfault.com nameserver = ns2.serverfault.com
serverfault.com nameserver = ns1.serverfault.com
> exit

C:\>

Затем вы просто запускаете nslookup для перечисленных серверов имен, чтобы получить соответствующие IP-адреса.

3
ответ дан 3 December 2019 в 08:42

Часть / a запроса, которую вы хотите, называется «полномочия». Тип записи называется NS.

Я использую для этого «копать». Поскольку Windows не хватает инструментов, я устанавливаю пакет Cygwin (бесплатный, с открытым исходным кодом), который включает его.

nslookup также может это делать и доступен по умолчанию в системах Windows. В моей более старой системе Windows nslookup, который поставляется вместе, может дать вам это через (по крайней мере) запрос «все записи» или «ns records».

Вот как это делается с помощью командной строки моего окна XP для Google.com :

nslookup
> set type=NS
> google.com
Server:  h-67-100-88-26.snfc.ca.megapath.net
Address:  67.100.88.26

Non-authoritative answer:
google.com      nameserver = ns4.google.com
google.com      nameserver = ns1.google.com
google.com      nameserver = ns2.google.com
google.com      nameserver = ns3.google.com

ns3.google.com  internet address = 216.239.36.10
ns4.google.com  internet address = 216.239.38.10
ns1.google.com  internet address = 216.239.32.10
ns2.google.com  internet address = 216.239.34.10
>

Ниже приведен экран справки для Windows XP Corporate Edition nslookup:

Commands:   (identifiers are shown in uppercase, [] means optional)

ИМЯ - распечатать информацию об ИМЯ хоста / домена с использованием сервера по умолчанию NAME1 NAME2 - как указано выше, но использовать NAME2 в качестве сервера помощь или? - распечатать информацию об общих командах set OPTION - установить опцию все - параметры печати, текущий сервер и хост [no] debug - распечатать отладочную информацию [no] d2 - вывести исчерпывающую отладочную информацию [no] defname - добавлять имя домена к каждому запросу [no] recurse - запрашивать рекурсивный ответ на запрос [no] search - использовать список поиска доменов [no] vc - всегда использовать виртуальный канал domain = NAME - установить имя домена по умолчанию на NAME srchlist = N1 [/ N2 /.../ N6] - установить домен на N1 и список поиска на N1, N2 и т. д. root = NAME - установить для корневого сервера NAME retry = X - установить количество повторов равным X timeout = X - установить начальный интервал тайм-аута на X секунд type = X - установить тип запроса (например, A, ANY, CNAME, MX, NS, PTR, SOA, SRV) querytype = X - то же, что и type class = X - установить класс запроса (например, IN (Интернет), ANY) [no] msxfr - использовать MS fast zone transfer ixfrver = X - текущая версия для использования в запросе передачи IXFR ИМЯ сервера - установить сервер по умолчанию на ИМЯ, используя текущий сервер по умолчанию lserver NAME - установить сервер по умолчанию на NAME, используя исходный сервер finger [USER] - нажмите необязательное ИМЯ на текущем хосте по умолчанию root - установить текущий сервер по умолчанию в корень ls [opt] DOMAIN [> FILE] - список адресов в DOMAIN (необязательно: вывод в ФАЙЛ) -a - список канонических имен и псевдонимов -d - вывести все записи -t TYPE - вывести список записей данного типа (например, A, CNAME, MX, NS, PTR и т. д.) view FILE - отсортировать выходной файл ls и просмотреть его с помощью pg exit - выйти из программы

Это первая из "страниц руководства" для dig:

DIG(1)                               BIND9                              DIG(1)

NAME dig - служебная программа поиска DNS

ОБЗОР dig [@server] [-b адрес] [-c класс] [-f имя файла] [-k имя файла] [-m] [-p номер порта] [-q имя] [-t тип] [-x адрес] [-y [hmac:] имя: ключ] [-4] [-6] [имя] [тип] [класс] [queryopt ...]

   dig [-h]

   dig [global-queryopt...] [query...]

ОПИСАНИЕ dig (поиск информации о домене) - гибкий инструмент для опроса DNS-серверы имен. Он выполняет поиск в DNS и отображает ответы, которые возвращаются с запрошенных серверов имен. Большинство DNS администраторы используют dig для устранения проблем с DNS из-за его гибкость, простота использования и ясность вывода. Другие инструменты поиска имеют тенденцию иметь меньшую функциональность, чем dig.

   Although dig is normally used with command-line arguments, it also has
   a batch mode of operation for reading lookup requests from a file. A
   brief summary of its command-line arguments and options is printed when
   the -h option is given. Unlike earlier versions, the BIND 9
   implementation of dig allows multiple lookups to be issued from the
   command line.

   Unless it is told to query a specific name server, dig will try each of
   the servers listed in /etc/resolv.conf.

   When no command line arguments or options are given, dig will perform
   an NS query for "." (the root).

   It is possible to set per-user defaults for dig via ${HOME}/.digrc.
   This file is read and any options in it are applied before the command
   line arguments.

   The IN and CH class names overlap with the IN and CH top level domains
   names. Either use the -t and -c options to specify the type and class,
   use the -q the specify the domain name, or use "IN." and "CH." when
   looking up these top level domains.
4
ответ дан 3 December 2019 в 08:42

Самым кратким, что я могу придумать, является использование dig:

$ dig +noall +additional -t ns google.com
ns4.google.com.         27791   IN      A       216.239.38.10
ns1.google.com.         27791   IN      A       216.239.32.10
ns2.google.com.         27791   IN      A       216.239.34.10
ns3.google.com.         27791   IN      A       216.239.36.10

Обратите внимание, что на самом деле это кэшированные клеевые записи. Если вы хотите получить ответ от самого авторитетного сервера имен, вам нужно спросить его напрямую. Самый простой способ сделать это - использовать + trace , тогда просто посмотрите на последний полученный ответ.

$ dig +trace +noall +additional google.com ns
m.root-servers.net.     85952   IN      A       202.12.27.33
m.root-servers.net.     85952   IN      AAAA    2001:dc3::35
a.root-servers.net.     85952   IN      A       198.41.0.4
a.root-servers.net.     85952   IN      AAAA    2001:503:ba3e::2:30
h.root-servers.net.     85952   IN      A       128.63.2.53
h.root-servers.net.     85952   IN      AAAA    2001:500:1::803f:235
d.root-servers.net.     41980   IN      A       199.7.91.13
d.root-servers.net.     41980   IN      AAAA    2001:500:2d::d
c.root-servers.net.     85952   IN      A       192.33.4.12
j.root-servers.net.     85952   IN      A       192.58.128.30
j.root-servers.net.     85952   IN      AAAA    2001:503:c27::2:30
b.root-servers.net.     85952   IN      A       192.228.79.201
k.root-servers.net.     85952   IN      A       193.0.14.129
;; Received 509 bytes from 10.19.12.20#53(10.19.12.20) in 6 ms

a.gtld-servers.net.     172800  IN      A       192.5.6.30
a.gtld-servers.net.     172800  IN      AAAA    2001:503:a83e::2:30
b.gtld-servers.net.     172800  IN      A       192.33.14.30
b.gtld-servers.net.     172800  IN      AAAA    2001:503:231d::2:30
c.gtld-servers.net.     172800  IN      A       192.26.92.30
d.gtld-servers.net.     172800  IN      A       192.31.80.30
e.gtld-servers.net.     172800  IN      A       192.12.94.30
f.gtld-servers.net.     172800  IN      A       192.35.51.30
g.gtld-servers.net.     172800  IN      A       192.42.93.30
h.gtld-servers.net.     172800  IN      A       192.54.112.30
i.gtld-servers.net.     172800  IN      A       192.43.172.30
j.gtld-servers.net.     172800  IN      A       192.48.79.30
k.gtld-servers.net.     172800  IN      A       192.52.178.30
l.gtld-servers.net.     172800  IN      A       192.41.162.30
;; Received 500 bytes from 192.58.128.30#53(192.58.128.30) in 148 ms

ns2.google.com.         172800  IN      A       216.239.34.10
ns1.google.com.         172800  IN      A       216.239.32.10
ns3.google.com.         172800  IN      A       216.239.36.10
ns4.google.com.         172800  IN      A       216.239.38.10
;; Received 164 bytes from 192.42.93.30#53(192.42.93.30) in 174 ms

ns4.google.com.         345600  IN      A       216.239.38.10
ns2.google.com.         345600  IN      A       216.239.34.10
ns1.google.com.         345600  IN      A       216.239.32.10
ns3.google.com.         345600  IN      A       216.239.36.10
;; Received 164 bytes from 216.239.36.10#53(216.239.36.10) in 12 ms

Обычно это то же самое, но если домен находится в процессе переключения серверов имен, он может отличаться .

3
ответ дан 3 December 2019 в 08:42

Теги

Похожие вопросы