Как получить новые TLD?

46

Как я могу искать новые TLD, такие как .email, .guru и т. Д., Используя whoisкоманду в linux?

Запуск whoisпо новому TLD только дает ответ:

No whois server is known for this kind of object.
Павел
источник

Ответы:

43

Вы можете вручную настроить whois-серверы для новых TLD.

Просто создайте файл /etc/whois.confи добавьте следующий контент, и вы сможете искать новые TLD:

whois.conf (Github Mirror: whois.conf )

Whois.conf использует регулярные выражения .

thde
источник
1
Вау, спасибо! Можете ли вы сказать мне, из какого источника вы получаете эту информацию? Я предполагаю, что этот список со временем станет устаревшим.
Пол
2
Я написал сценарий сбора серверов WHOIS по последним данным IANA и обновил этот ответ.
Ройс Уильямс
2
Разные версии whois имеют разные снимки серверов whois, поэтому разные люди могут нуждаться в разных списках - особенно если они по какой-то причине застряли в более старом дистрибутиве. Использование всего списка каждый раз заставляет его работать для всех. Кроме того, гораздо проще просто собрать их все. :-)
Ройс Уильямс
1
@ TomBrossman Я не совсем уверен, почему это так, и я не стал вдаваться в подробности, кроме как выяснить, что это как-то связано с поиском, не идущим на уровень регистратора. Если вы используете инструмент gwhois.org из одного из приведенных ниже ответов, вы увидите, что это показано гораздо лучше.
Пол
3
@ TomBrossman Правильно. Существуют разные серверы Whois для доменов .com. Возможно, все это можно ввести в whois.conf. Возможно, самый простой способ - просто удалить запись .com.
thde
14

Вы можете легко получить нужный сервер Whois напрямую из IANA без редактирования дополнительных файлов или таблиц.

Пример для домена .de

Linux, OSX (и совместимый):

whois -h whois.iana.org .de |
  egrep -e '^whois:' |
  sed -e 's/[[:space:]][[:space:]]*/ /g' |
  cut -d " " -f 2

Веселиться

Том Фройденберг
источник
Я бы хотел, чтобы за ваш ответ проголосовали гораздо больше; это идеальное и правильное обобщенное решение. Нет необходимости в жестком кодировании (в противном случае каждая ОС должна будет жестко кодировать серверы WHOIS для каждого нового TLD!). Почему это не стандартное поведение для whoisутилиты, я не уверен (может быть, чтобы уменьшить нагрузку?). Во всяком случае, реквизит и спасибо.
Апинштейн
2
Запрос домен будет работать , как это , используя вашу идею: whois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD. Интересно, что достаточно использовать whois.nic.TLDв качестве хоста базы данных для большинства (или, может быть, всех?) Доменов верхнего уровня, как указал @Andrew.
Петерино,
Кажется, это не работает для всех TLD. Для .tubeответственного сервера не опубликовано. Возможно потому что IANA-сервер отвечает как whois -h whois.iana.org nic.tubeработает.
thde
11

Большинство клиентов whois жестко кодируют серверы TLD, вместо того, чтобы активно извлекать сервер whois из IANA при выполнении для TLD, который еще не известен клиенту.

Я создал свой собственный онлайн-инструмент поиска whois, который вы можете использовать по адресу http://gwhois.org/, который поддерживает все TLD и IP-адреса, поскольку все поиски начинаются с IANA, а затем при необходимости переходят к реестру и регистратору.

Я также потратил много времени на создание интеллектуального парсера whois, который отображает данные whois в удобной для пользователя форме.

Пример скриншотов:

Скриншот

скриншот 2

iglvzx
источник
Спасибо за это, так как я не запускаю Ruby, этот ответ будет работать лучше для меня. Я запускаю Ubuntu Server 12.04, и похоже, что gwhoisпакет требует установки 25 дополнительных пакетов из официального репозитория. Не то чтобы я пропустил ~ 4,4 МБ памяти, все ли это действительно необходимо для корректной работы пакета?
Пол
Ой. Gwhois.org не связан с пакетами gwhois в Linux. Извините за путаницу
iglvzx
Хорошо, это может работать, но нет инструмента командной строки? Я надеюсь как-то решить проблему с командной строкой.
Пол
1
Да уж. Основная причина, по которой я решил создать свой собственный инструмент whois, заключалась в том, что я не был удовлетворен какими-либо решениями, уже существующими. :)
iglvzx
2
@iglvzx Мне нравится твой инструмент. Задумывались ли вы об открытом коде, чтобы мы могли активно вносить изменения в приложение?
Дэвид Оквий
11

Похоже, это работает для большинства новых tlds:

Имя хоста сервера имеет вид: whois.nic.newtldname

например:

whois -h whois.nic.host example.host

«Это имя зарезервировано реестром в соответствии с политикой ICANN». и т. д. и т. д.

Кроме того, просмотр http://nic.newtldnameобычно приводит вас на страницу реестра / запуска.

Андрей
источник
Фантастика! Почему это работает, даже если хосты, официально зарегистрированные IANA, отличаются для большинства реестров доменов? Это где-то задокументировано, а это официально поддерживается IANA или ICANN? - Динамическая версия вашего решения будетwhois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD
Петерино
1
Знаете ли вы о каких-либо других серверах whois, которые принимают расширение TLD для запроса этого TLD? Я знаю о двух: whois.nic.$extи $ext.whois-servers.net- я ищу других, чтобы добавить в мой список.
Чови
5

Если вы используете стандартный клиент linux, определения еще не были обновлены, чтобы включить новый TLDS.

У вас есть два возможных решения:

  1. Соберите список всех новых рДВУ и передайте хост whois в качестве параметра клиенту whois
  2. Используйте альтернативный клиент. В настоящее время я прилагаю все усилия, чтобы синхронизировать клиент Ruby WHOIS с новыми gTLD, чтобы вы могли его использовать. Он также предлагает CLI.
Симона Карлетти
источник
Я не уверен, где взять список всех новых рДВУ, и я не уверен, как передать хост whois в качестве параметра клиенту whois. У меня не установлен Ruby на моем сервере. Это не хороший ответ.
Пол
Здесь находится список Симоны из WhoIs хостов для ДВОЙ, здесь есть копия WhoIs страницы человека.
Келли Томас
База данных корневой зоны IANA включает в себя серверы whois, а также другую информацию о TLD. (Это около нижней части записи ДВУ.)
Мэтт Нордхофф
2

В OS X инструмент whois, по-видимому, не создан с поддержкой /etc/whois.conf ( как slackware? ). Кажется, что простой способ исправить это - установить «одураченный» whois из homebrew . Вы можете сделать это с

brew tap homebrew/dupes
brew update
brew install whois
brew untap homebrew/dupes

Таким образом, он будет использовать обновленный список серверов whois (но я тестировал только с доменами .so и .ninja).

VictorSO
источник
Приятно это знать. Один вкладыш для установки обновленного whoisCLIbrew install homebrew/dupes/whois
1

Одним из способов является использование TLD .whois-servers.net в качестве сервера whois, например:

whois -h mobi.whois-servers.net npr.mobi

Whois-server.net домен (управляемый CenterGate LLC, не принадлежность) содержит список , надеюсь , уточненные в DNS CNAME перенаправляет на официальные сервера TLD WhoIs, например:

dig mobi.whois-servers.net
...
;; ANSWER SECTION:
mobi.whois-servers.net. 146     IN      CNAME   whois.dotmobiregistry.net.
WinTakeAll
источник
В большинстве случаев это работает. Там даже более короткий синтаксис (по крайней мере , в OSX): whois -c mobi npr.mobi. К сожалению , это не работает для всех доменов на момент написания , напримерwhois -c tube nic.tube
thde
1

Для обновления вашего /etc/whois.conf вы можете использовать скрипт вроде

/*
 * Usage : node generateWhoisConf.js > /etc/whois.conf
 */

var json = require('comment-json');
var request = require('request');

request('https://github.com/weppos/whois/raw/master/data/tld.json', function(error, response, body){
  var obj = json.parse(body);
  Object.keys(obj).forEach(function(key){
    if(obj[key].host){
      console.log(key.replace(/\./g,'\\.') + '$ ' + obj[key].host);
    }
  });
});

https://gist.github.com/HugoPoi/4694a99f5a9d9b2c558557bbdd113f54

Этот другой репозиторий GitHub предоставляет хорошие данные о Whois-сервере https://github.com/whois-server-list/whois-server-list

HugoPoi
источник
Добро пожаловать в Супер пользователя! Пожалуйста, процитируйте основные части ответа по ссылочной ссылке (ссылкам), так как ответ может стать недействительным, если связанные страницы изменятся.
ДэвидПостилл
0

Мое решение было не очень сложным. Я не мог найти определенный TLD под Debian Wheezy или Squeeze, или в OS X El Capitan или Snow Leopard. Я узнал, что могу посмотреть TLD в Debian Jessie. На машинах Debian я просто взял источник для whois для Джесси и собрал его; сейчас работает нормально. Для OS X я взял более новую версию whois через MacPorts.

бедуин
источник
0

У меня был такой же проблемный ответ сервера на один из моих запросов.

В этом случае использование -aпереключателя было простым и прекрасно работало:

whois -a [your_request_here]

От man:

[This flag is] understood by whois.ripe.net and some other RIPE-like servers:
-a
    Also search all the mirrored databases. 
Tfb9
источник
0

Или вы можете просто использовать лучший инструмент. Например, GNU jwhois, который сначала гибко ищет соответствующий whoisсервер, а затем выполняет фактический поиск с использованием этого сервера.

jwhois - улучшенный клиент Whois, способный выбирать сервер Whois для запроса на основе гибкого файла конфигурации с использованием блоков регулярных выражений или блоков CIDR.

Путь GNU: https://ftp.gnu.org/gnu/jwhois/
Github one: https://github.com/jonasob/jwhois

kmonsoor
источник
Не работает для новых TLD.
Пол
По иронии судьбы, это было причиной, по которой я не смог узнать, кто такие новые TLD. По какой-то причине этот инструмент был установлен по умолчанию. Я установил один из простых whois и смог запросить новые TLD, без необходимости взлома.
Стремясь Dev