27

Вкратце: есть ли способ получить полную информацию о whois для доменов, таких как apple.com , используя командную строку в Max OS X?

Например, запуск whois в командной строке для apple.com подобен поиску всех доменов, содержащих эту фразу. Так что, благодаря whois-spam, на Mac или FreeBSD можно получить следующее:

$ whois apple.com

Whois Server Version 2.0
[..]
APPLE.COM.WWW.BEYONDWHOIS.COM
APPLE.COM.MORE.INFO.AT.WWW.BEYONDWHOIS.COM
APPLE.COM.IS.OWN3D.BY.NAKEDJER.COM
APPLE.COM.IS.0WN3D.BY.GULLI.COM
APPLE.COM.BEYONDWHOIS.COM
APPLE.COM.AT.WWW.BEYONDWHOIS.COM
APPLE.COM

To single out one record, look it up with "xxx", where xxx is one of the
of the records displayed above. If the records are the same, look them up
with "=xxx" to receive a full display for each record.

Чтобы получить дополнительную информацию для всех этих областей, то я могу выполнить команду для =apple.com как:

$ whois =apple.com

Whois Server Version 2.0
[..]
   Server Name: APPLE.COM.WWW.BEYONDWHOIS.COM
   IP Address: 203.36.226.2
   Registrar: TUCOWS INC.
   Whois Server: whois.tucows.com
   Referral URL: http://domainhelp.opensrs.net
[..]
   Domain Name: APPLE.COM
   Registrar: MARKMONITOR INC.
   Whois Server: whois.markmonitor.com
   Referral URL: http://www.markmonitor.com
   Name Server: NSERVER.APPLE.COM
   Name Server: NSERVER.ASIA.APPLE.COM
   [..]
   Updated Date: 21-jan-2009
   Creation Date: 19-feb-1987
   Expiration Date: 20-feb-2011

Тем не менее, это не дает мне полную запись, как тот, который включает в себя контактную информацию:

$ whois -h whois.markmonitor.com apple.com
[..]
    Administrative Contact:
        Apple Inc.
        Apple Inc.
        1 Infinite Loop
         Cupertino CA 95014
        US
[..] 

(В Redhat Linux jwhois показывает только apple.com но без контактной информации; в Debian whois версии 4.7.20 выдает сводки по всем доменам, как указано выше, и дополнительную подробную информацию о точно подобранном домене, очевидно, выполняя дополнительный запрос к whois.markmonitor.com для этого точного соответствия.)

Я даже пытался напрямую подключиться к telnet, но не смог придумать ничего, что я не смог бы сделать с помощью команды whois , поэтому я думаю, что это бесполезно:

$ telnet com.whois-servers.net 43
Trying 199.7.55.74...
Connected to whois.verisign-grs.com.
Escape character is '^]'.

apple.com
[..]

Итак: есть ли более простой способ получить полную информацию о таком домене (только для точно подобранного домена), используя командную строку?

(Думая, что whois командной строки скоро будет запрещен в пользу веб-интерфейсов с поддержкой капчи, это меня никогда не беспокоило. Но все же мне любопытно ...)

2 ответа2

12

Команда whois ищет строку «Whois Server:» в выходных данных и, если она найдена, снова отправит тот же запрос на этот сервер. Это то, что вы хотите, за исключением того, что это работает только для первого матча. Вы можете использовать такую команду, как whois "domain apple.com" чтобы получить только одно совпадение с сервера по умолчанию, но markmonitor (используемый apple.com) не принимает этот синтаксис. Это сработало бы, если бы вы могли отправить « domain apple.com » на сервер по умолчанию, а затем apple.com на второй сервер, например так:

function mywhois {
  whois -h `whois "domain $@" | sed '/^.*Whois Server:/!d;s///'` "$@"
}

Однако это характерно для этих серверов Whois, поэтому не обязательно будет работать для доменов на других серверах Whois. Надежная реализация, вероятно, должна обладать знаниями о конкретных форматах запросов и вывода, используемых различными реализациями whois-серверов.

8

Кажется, что (по крайней мере, в сентябре 2009 года) в следующем случае используется GeekTools Whois Proxy, который достаточно умен для определения, какой whois-сервер использовать. Это также работает для других доменов верхнего уровня, кроме com , net и org:

whois -h whois-servers.net apple.com

Или, согласно очень давней подсказке на macosxhints.com:

whois -h geektools.com apple.com

Я обнаружил это случайно: интересно, как @ mark4o узнал о команде domain для ответа выше, в конце концов я обнаружил, что запуск whois help дает мне вывод некоторого whois-сервера. Поскольку я не указал ни один ДВУ, я спросил себя, какой из них ответил. Я попробовал telnet whois-servers.net 43 , поэтому в основном использовал пустой домен, как упомянуто на страницах руководства:

-h host

     Use the specified host instead of the default variant.  Either a host
     name or an IP address may be specified.

     By default whois constructs the name of a whois server to use from the
     top-level domain (TLD) of the supplied (single) argument, and appending
     ".whois-servers.net".  This effectively allows a suitable whois server
     to be selected automatically for a large number of TLDs.

И вот GeekTools Whois Proxy объявил о себе:

$ telnet whois-servers.net 43
Trying 206.117.161.86...
Connected to whois-servers.net.
Escape character is '^]'.
GeekTools Whois Proxy v5.0.4 Ready.
Checking access for 82.95.xx.xx... ok.

apple.com

Checking server [whois.crsnic.net]

Checking server [whois.markmonitor.com]
Results:
[..]

(На самом деле, geektools.com в настоящее время 206.117.161.84, поэтому IP-адрес отличается от whois-servers.net .)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .