Что такое сервер whois по умолчанию, запрашиваемый при использовании команды whois
?
Я использую файл /etc/whois.conf
для управления серверами, запрошенными для команды whois
. Содержимое файла основано на этом ответе суперпользователя . Если я использую сервер, указанный в ответе для .com (whois.verisign-grs.com
), все запросы к доменам, зарегистрированным в GoDaddy, возвращают неполную запись.
Однако, если я закомментирую запись в файле для .com, то будет возвращена полная запись whois для зарегистрированного домена GoDaddy.
Итак, я хочу выяснить, какой сервер запрашивается, когда whois
использует настройки поиска по умолчанию.
В первую очередь, Ваш запрос Ваш локальный whois клиент связывается с центральным реестром (IANA) и просит ответственного доменного регистратора. Клиент следует за иерархическими ссылками вниз на регистратора, который может Вы предоставлять желаемую информацию. Источник: https://whois.icann.org/en/dns-and-whois-how-it-works
При поднимании страницы справочника на whois это имеет следовать описание:
ОПИСАНИЕ whois ищет объект в базе данных RFC 3912.
Эта версия whois клиента пытается предположить правильный сервер для просьбы указанный объект. Если никакое предположение не может быть высказано, это соединится с whois.networksolutions.com для дескрипторов NIC или whois.arin.net для адресов IPv4 и сетевых имен.
От man whois
:
This version of the whois client tries to guess the right server to ask
for the specified object. If no guess can be made it will connect to
whois.networksolutions.com for NIC handles or whois.arin.net for IPv4
addresses and network names.
И:
If the /etc/whois.conf configuration file exists, it will be consulted
to find a server before applying the normal rules. Each line of the
file should contain a regular expression to be matched against the
query text and the whois server to use, separated by white space. IDN
domains must use the ACE format.
…
WHOIS_SERVER
This server will be queried if the program cannot guess where
some kind of objects are located. If the variable does not exist
then whois.arin.net will be queried.
Так, в зависимости от /etc/whois.conf
и WHOIS_SERVER
:
Вы можете использовать strace
, который является инструментом отладки, чтобы найти то, что действительно использовалось:
strace --trace=sendmmsg --verbose=all -s 64 -o whois.strace.log whois google.com
whois.strace.log
sendmmsg(3, [{msg_hdr={msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\305\300\1\0\0\1\0\0\0\0\0\1\5whois\fverisign-grs\3com\0\0\1\0\1\0\0)\4\260\0\0\0\0\0\0", iov_len=51}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, msg_len=51}, {msg_hdr={msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\375\304\1\0\0\1\0\0\0\0\0\1\5whois\fverisign-grs\3com\0\0\34\0\1\0\0)\4\260\0\0\0\0\0\0", iov_len=51}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, msg_len=51}], 2, MSG_NOSIGNAL) = 2
sendmmsg(3, [{msg_hdr={msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="8\333\1\0\0\1\0\0\0\0\0\1\5whois\vmarkmonitor\3com\0\0\1\0\1\0\0)\4\260\0\0\0\0\0\0", iov_len=50}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, msg_len=50}, {msg_hdr={msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\f\336\1\0\0\1\0\0\0\0\0\1\5whois\vmarkmonitor\3com\0\0\34\0\1\0\0)\4\260\0\0\0\0\0\0", iov_len=50}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, msg_len=50}], 2, MSG_NOSIGNAL) = 2
+++ exited with 0 +++