Ответы:
Вы можете вручную настроить whois-серверы для новых TLD.
Просто создайте файл /etc/whois.conf
и добавьте следующий контент, и вы сможете искать новые TLD:
whois.conf (Github Mirror: whois.conf )
Whois.conf использует регулярные выражения .
Вы можете легко получить нужный сервер 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
утилиты, я не уверен (может быть, чтобы уменьшить нагрузку?). Во всяком случае, реквизит и спасибо.
whois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD
. Интересно, что достаточно использовать whois.nic.TLD
в качестве хоста базы данных для большинства (или, может быть, всех?) Доменов верхнего уровня, как указал @Andrew.
.tube
ответственного сервера не опубликовано. Возможно потому что IANA-сервер отвечает как whois -h whois.iana.org nic.tube
работает.
Большинство клиентов whois жестко кодируют серверы TLD, вместо того, чтобы активно извлекать сервер whois из IANA при выполнении для TLD, который еще не известен клиенту.
Я создал свой собственный онлайн-инструмент поиска whois, который вы можете использовать по адресу http://gwhois.org/, который поддерживает все TLD и IP-адреса, поскольку все поиски начинаются с IANA, а затем при необходимости переходят к реестру и регистратору.
Я также потратил много времени на создание интеллектуального парсера whois, который отображает данные whois в удобной для пользователя форме.
Пример скриншотов:
gwhois
пакет требует установки 25 дополнительных пакетов из официального репозитория. Не то чтобы я пропустил ~ 4,4 МБ памяти, все ли это действительно необходимо для корректной работы пакета?
Похоже, это работает для большинства новых tlds:
Имя хоста сервера имеет вид: whois.nic.newtldname
например:
whois -h whois.nic.host example.host
«Это имя зарезервировано реестром в соответствии с политикой ICANN». и т. д. и т. д.
Кроме того, просмотр http://nic.newtldname
обычно приводит вас на страницу реестра / запуска.
whois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD
whois.nic.$ext
и $ext.whois-servers.net
- я ищу других, чтобы добавить в мой список.
Если вы используете стандартный клиент linux, определения еще не были обновлены, чтобы включить новый TLDS.
У вас есть два возможных решения:
В 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).
Одним из способов является использование 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.
whois -c mobi npr.mobi
. К сожалению , это не работает для всех доменов на момент написания , напримерwhois -c tube nic.tube
Для обновления вашего /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
Мое решение было не очень сложным. Я не мог найти определенный TLD под Debian Wheezy или Squeeze, или в OS X El Capitan или Snow Leopard. Я узнал, что могу посмотреть TLD в Debian Jessie. На машинах Debian я просто взял источник для whois для Джесси и собрал его; сейчас работает нормально. Для OS X я взял более новую версию whois через MacPorts.
У меня был такой же проблемный ответ сервера на один из моих запросов.
В этом случае использование -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.
Или вы можете просто использовать лучший инструмент. Например, GNU jwhois, который сначала гибко ищет соответствующий whois
сервер, а затем выполняет фактический поиск с использованием этого сервера.
jwhois - улучшенный клиент Whois, способный выбирать сервер Whois для запроса на основе гибкого файла конфигурации с использованием блоков регулярных выражений или блоков CIDR.
Путь GNU: https://ftp.gnu.org/gnu/jwhois/
Github one: https://github.com/jonasob/jwhois