Кого Linux спрашивает при выполнении whois?

Кого Linux спрашивает при выполнении whois?

Когда вы это делаете:

$ whois stackoverflow.com

ваш Linux сначала делает DNS-запрос, находит IP-адрес stackoverflow.com, а затем запрашивает информацию непосредственно там?

Или он запрашивает «корневой» whois-сервер (IP-адрес «корневого whois-сервера» жестко закодирован в дистрибутиве Linux, подобно тому, как это делается /etc/bind/db.root?), который затем делегирует полномочия другому whois-серверу, который предоставляет информацию?

Каков поток соединения?

my computer doing `whois ...` ---> root whois server ---> another whois server ---> information

или

my computer doing `whois ...` ---> DNS server (?) ---> ... ?

решение1

Если вы используетеМарко д'Итриwhois, вы можете добавить --verboseопцию, чтобы увидеть, что он делает. Для stackoverflow.com он начинается с вопроса whois.verisign-grs.com (см. егосписок серверов WHOIS), который предоставляет ему ряд сведений, включая тот факт, что регистратором Stack Overflow является Name.com, а его сервером WHOIS является whois.name.com; поэтому затем он запрашивает whois.name.com.

Протокол задокументирован вЗапрос на предложение 3912.whoisстраница руководстватакже содержит полезные указания.

решение2

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

  1. Whois — плохо определенный протокол. Нет иерархии, нет корневого whois и т. д. Фактически, в системах whois нет ничего, связанного с DNS, вам следует начать с полного разделения их в своем сознании, поскольку, помимо того, что они берут свои данные из одного источника (базы данных реестра), они работают совершенно независимо.
  2. Каждый реестр TLD работает по-разному в этом отношении. gTLD — это отдельный случай: согласно контракту ICANN, на данный момент каждый регистратор обязан иметь сервер whois, отвечающий за все имена, которые он обрабатывает. У реестров есть одно и то же требование. В выходных данных реестра whois указан сервер whois регистратора (но, как я уже писал в комментарии выше, это недавно немного изменилось — на самом деле, без всякой причины — что сломало многие клиенты whois), в основном по исторической причине, которая скоро исчезнет: в прошлом (и до сих пор для .COM/.NET — .JOBS недавно переключился, но раньше был в той же лодке, см.https://www.icann.org/resources/pages/thick-whois-transition-policy-2017-02-01-en) реестры, где «тонкие», что означает, что реестр не хранит данные о контактах, это делает только регистратор. Это означает, что если вы действительно хотите иметь данные о доменном имени и найти, к кому обратиться в случае проблем (что было — и остается — изначальной целью протокола whois), вам нужно сначала запросить сервер whois реестра, чтобы получить базовый набор информации и обнаружить сервер whois регистратора, а затем связаться с этим сервером whois регистратора, чтобы получить доступ ко всей контактной информации. Это объясняет, почему вывод реестра .COM/.NET сегодня дает вам только данные о серверах доменных имен, датах и ​​статусах. И имя сервера whois регистратора, которому клиент whois пытается следовать, но иногда не может, потому что все меняется (см. мой комментарий выше)
  3. ccTLD почти всегда не работают таким образом, даже если вы используете регистраторов, запрос к серверу whois реестра возвращает вам все необходимые результаты, и даже если некоторые из них отсутствуют (например, по соображениям конфиденциальности), вам не нужно запрашивать сервер whois регистраторов, поскольку они не обязаны регистраторами запускать его для ccTLD, с которыми они работают (но некоторые регистраторы все же делают это). Это объясняет ваше наблюдение для .frдоменного имени, например.
  4. некоторые клиенты whois жестко кодируют адреса серверов whois, некоторые пытаются использовать whois.nic.$TLDзначение по умолчанию, которое часто работает как реестр или $TLDчасто имеет nic.$TLDв качестве основного рабочего доменного имени.
  5. IANA обрабатывает список реестров наhttps://www.iana.org/domains/root/dbи на каждой странице реестра, напримерhttps://www.iana.org/domains/root/db/fr.htmlу вас будет строка, WHOIS Serverв которой перечислены серверы whois, связанные с выбранным реестром. Обратите внимание, однако, что иногда они могут устареть или быть неверными. Вы также можете получить доступ к этим данным, выполнив запрос whois для TLD в направлении whois.iana.org, он предоставит вам данные о соответствующем реестре, включая его сервер whois в whoisключе.
  6. Есть еще один трюк. Если вы сделаете DNS-запрос (но, пожалуйста, помните, что этот пункт не отменяет первый пункт) для , $TLD.whois-servers.netон даст вам имя соответствующего whois-сервера для $TLD, как запись CNAME. Некоторые клиенты whois могут использовать этот трюк, но я сомневаюсь в этом ( whoisхотя клиент GNU может быть одним из них, или это может быть FreeBSD). Обратите внимание, что эта инициатива является чисто частной и, даже если бы она должна была быть, не обрабатывается высшими органами, вовлеченными во все это, такими как ICANN или IANA. Например, dig uk.whois-servers.net +shortдаст вам: whois.nic.uk.. Прелесть этого в том, что он должен обновляться, если это изменится (очень редко) или (чаще) когда новые реестры/TLD будут запущены.
  7. Некоторые реестры публикуют свои адреса серверов whois endpoint, используя SRVwhich, который является выделенным типом записи DNS, чтобы указать, где доменное имя обрабатывает определенную службу. Так что если вы это сделаете, dig _nicname._tcp.fr +shortвы действительно получите 0 0 43 whois.nic.fr.which, помимо двух первых чисел, которые не используются (но могут использоваться для балансировки нагрузки/переключения при отказе), номер порта ( 43) и имя сервера, whois.nic.frс которым нужно связаться, чтобы получить nicname, то есть whoisслужбу под ее официальным зарегистрированным именем (https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml), для frдомена. Он не используется многими реестрами, но должен был бы использоваться, записи SRV как раз и обеспечивают этот распределенный механизм автоматического обнаружения, который работает даже на любом уровне дерева DNS, так что он работает для реестров и «под»-реестров и т. д.

Обратите внимание, что многое из вышеперечисленного изменится, как только RDAP, новый протокол, заменит whois. Он уже определен несколькими RFC и используется некоторыми реестрами (в производстве для RIR, в экспериментах для некоторых реестров доменных имен), но он пока не является контрактно обязательным для использования реестрами и регистраторами (по нетехническим причинам) в мире gTLD, и реестры ccTLD, похоже, неохотно отказываются от своих текущих серверов whois, чтобы вместо них поставить серверы RDAP.

решение3

Ваш WHOIS-клиент запрашивает WHOIS-сервер (на TCP-порту 43), и он отвечает напрямую.Клиент Debian WHOISимеетжестко заданный список серверовиз которых он автоматически выбирает.У IANA также есть служба WHOIS.

Источник:Запрос на предложение 3912

Связанный контент