Jak do Whois nowe TLD?

46

Jak mogę wyszukać nowe TLD, takie jak .email, .guru itp., Używając whoispolecenia w systemie Linux?

Uruchomienie whoisna nowej TLD daje tylko odpowiedź:

No whois server is known for this kind of object.
Paweł
źródło

Odpowiedzi:

43

Możesz ręcznie skonfigurować serwery whois dla nowych TLD.

Po prostu utwórz plik /etc/whois.confi dodaj następującą treść, a będziesz mógł wyszukać nowe TLD:

whois.conf (Github Mirror: whois.conf )

Whois.conf używa wyrażeń regularnych .

thde
źródło
1
Wow, dzięki! Czy możesz mi powiedzieć, z jakiego źródła czerpiesz te informacje? Wyobrażam sobie, że ta lista z czasem stanie się przestarzała.
Paul
2
Skryptowałem zbieranie serwerów WHOIS z najnowszych danych IANA i zaktualizowałem tę odpowiedź.
Royce Williams
2
Różne wersje whois mają różne migawki serwerów whois, więc różne osoby potrzebowałyby różnych list - zwłaszcza jeśli z jakiegoś powodu utknęły na starszej dystrybucji. Korzystanie z całej listy za każdym razem sprawia, że ​​działa ona dla wszystkich. O wiele łatwiej jest po prostu zebrać je wszystkie. :-)
Royce Williams,
1
@TomBrossman Nie jestem do końca pewien, dlaczego tak jest, i nie przyjrzałem się temu dalej, niż odkryłem, że ma to coś wspólnego z wyszukiwaniem, które nie przechodzi na poziom rejestratora. Jeśli użyjesz narzędzia gwhois.org z jednej z poniższych odpowiedzi, możesz to lepiej zilustrować.
Paul
3
@TomBrossman Correct. Istnieją różne serwery Whois dla domen .com. Być może można wprowadzić je wszystkie w whois.conf. Najłatwiejszym sposobem jest prawdopodobnie usunięcie wpisu .com.
thde
14

Możesz łatwo uzyskać właściwy serwer whois bezpośrednio z IANA bez edytowania dodatkowych plików lub tabel.

Przykład TLD „.de”

Linux, OSX (i zgodny):

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

baw się dobrze

Tom Freudenberg
źródło
Chciałbym, aby twoja odpowiedź była jeszcze bardziej doceniona; jest to idealne i poprawne uogólnione rozwiązanie. Żadne kodowanie nie powinno być potrzebne (w przeciwnym razie każdy system operacyjny musiałby kodować serwery WHOIS dla każdego nowego TLD!). Dlaczego nie jest to domyślne zachowanie whoisnarzędzia, nie jestem pewien (może zmniejszyć obciążenie?). W każdym razie, rekwizyty i dziękuję.
apinstein,
2
Odpytywanie domenę będzie działać tak używając pojęcia: whois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD. Co ciekawe, wystarczy użyć whois.nic.TLDjako hosta bazy danych dla większości (a może wszystkich?) TLD, jak wskazał @Andrew.
Peterino,
Wydaje się, że nie działa to dla wszystkich TLD. Za .tubeodpowiedzialny serwer nie jest publikowany. Prawdopodobnie dlatego, że serwer IANA jest odpowiedzialny za whois -h whois.iana.org nic.tubedziałanie.
thde
11

Większość klientów Whois zakoduje na stałe serwery TLD, zamiast aktywnie pobierać serwer Whois z IANA podczas wykonywania TLD, które nie są jeszcze znane klientowi.

Zbudowałem własne narzędzie do wyszukiwania Whois online, z którego można korzystać http://gwhois.org/, które obsługuje wszystkie TLD i adresy IP, ponieważ wszystkie wyszukiwania zaczynają się od IANA, a następnie w razie potrzeby przechodzą do rejestru i rejestratora.

Spędziłem również dużo czasu na tworzeniu inteligentnego parsera Whois, który wyświetla dane Whois w sposób przyjazny dla użytkownika.

Przykładowe zrzuty ekranu:

zrzut ekranu

zrzut ekranu 2

iglvzx
źródło
Dziękuję za to, ponieważ nie prowadzę Ruby, ta odpowiedź byłaby dla mnie lepsza. Pracuję na Ubuntu Server 12.04 i wygląda na to, że gwhoispakiet wymaga zainstalowania dodatkowych 25 pakietów z oficjalnego repozytorium. Nie to, że przegapiłbym ~ 4,4 MB przestrzeni dyskowej, czy to wszystko naprawdę jest niezbędne do poprawnego działania pakietu?
Paul
O. Gwhois.org nie jest powiązany z pakietami „gwhois” w systemie Linux. Przepraszamy za zamieszanie
iglvzx
Okej, to może działać, ale nie ma narzędzia wiersza poleceń? Mam nadzieję, że jakoś rozwiążę problem z wierszem poleceń.
Paul
1
Tak. Głównym powodem, dla którego zdecydowałem się zbudować własne narzędzie Whois, było to, że nie byłem zadowolony z żadnego z rozwiązań, które już tam są. :)
iglvzx
2
@iglvzx Podoba mi się twoje narzędzie. Czy zastanawiałeś się nad otwartym kodem, abyśmy mogli aktywnie wprowadzać zmiany w aplikacji?
David Okwii,
11

Wygląda na to, że działa w przypadku większości nowych plików:

Nazwa hosta serwera ma postać: whois.nic.newtldname

na przykład:

whois -h whois.nic.host example.host

„Ta nazwa jest zastrzeżona przez rejestr zgodnie z zasadami ICANN”. etc etc etc

Ponadto przeglądanie http://nic.newtldnamezazwyczaj prowadzi do strony Rejestr / Uruchom.

Andrzej
źródło
Fantastyczny! Dlaczego to działa, mimo że hosty oficjalnie wymienione przez IANA różnią się w przypadku większości rejestrów domen? Czy jest to gdzieś udokumentowane, czy jest to oficjalnie obsługiwane przez IANA lub ICANN? - Dynamiczna wersja twojego rozwiązania towhois -h $(whois -h whois.iana.org .TLD | grep '^whois:' | sed 's/whois:\s*//') example.TLD
Peterino,
1
Czy znasz inne serwery Whois, które akceptują rozszerzenie TLD w celu zapytania o tę TLD? Znam dwa: whois.nic.$exti $ext.whois-servers.net- szukam innych do dodania do mojej listy.
chovy,
5

Jeśli używasz standardowego klienta linux, definicje nie zostały jeszcze zaktualizowane i zawierają nowy TLDS.

Masz dwa możliwe rozwiązania:

  1. Chwyć listę wszystkich nowych domen gTLD i przekaż hosta whois jako parametr do klienta whois
  2. Użyj alternatywnego klienta. Obecnie staram się, aby klient Ruby WHOIS był zsynchronizowany z nowymi serwerami gTLD, abyś mógł z niego korzystać. Oferuje również CLI.
Simone Carletti
źródło
Nie jestem pewien, gdzie pobrać listę wszystkich nowych domen gTLD i nie jestem pewien, jak przekazać hosta whois jako parametr do klienta whois. Nie mam zainstalowanego Ruby na moim serwerze. To nie jest dobra odpowiedź.
Paul
Oto lista hostów Whois dla tlds Simone, tutaj jest kopia strony man whois.
Kelly Thomas
Baza danych strefy root IANA zawiera serwery whois oraz inne informacje dotyczące TLD. (Jest blisko dolnej krawędzi wpisu TLD.)
Matt Nordhoff
2

W systemie OS X narzędzie whois nie wydaje się być zbudowane z obsługą /etc/whois.conf ( podobnie jak Slackware? ). Najprostszym sposobem na rozwiązanie tego problemu jest zainstalowanie „zduplikowanych” Whois z Homebrew . Możesz to zrobić za pomocą

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

W ten sposób użyje zaktualizowanej listy serwerów whois (ale testowałem tylko z domenami .so i .ninja).

VictorSO
źródło
Dobrze to wiedzieć. Jednym liniowcem do zainstalowania zaktualizowanego whoisinterfejsu CLI jestbrew install homebrew/dupes/whois
1

Jednym ze sposobów jest użycie TLD .whois-servers.net jako serwera whois, np .:

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

Whois-server.net domeny (prowadzony przez CenterGate LLC, bez afiliacji) zawiera listę nadzieją up-to-date z DNS CNAME przekierowuje do oficjalnych serwerów TLD whois, np:

dig mobi.whois-servers.net
...
;; ANSWER SECTION:
mobi.whois-servers.net. 146     IN      CNAME   whois.dotmobiregistry.net.
WinTakeAll
źródło
W większości przypadków to działa. Jest nawet krótsza składnia (przynajmniej w OSX) whois -c mobi npr.mobi. Niestety to nie działa dla wszystkich domen w chwili pisania npwhois -c tube nic.tube
thde
1

Aby zaktualizować plik /etc/whois.conf, możesz użyć skryptu takiego jak

/*
 * 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

To inne repozytorium github zapewnia dobre dane na temat serwera whois https://github.com/whois-server-list/whois-server-list

HugoPoi
źródło
Witamy w Super User! Podaj zasadnicze części odpowiedzi z linku (linków) referencyjnych, ponieważ odpowiedź może stać się nieważna w przypadku zmiany połączonych stron.
DavidPostill
0

Moje rozwiązanie nie było bardzo wyrafinowane. Nie mogłem znaleźć określonej TLD w Debian Wheezy, Squeeze, OS X El Capitan lub Snow Leopard. Dowiedziałem się jednak, że mogę sprawdzić TLD w Debian Jessie. Na maszynach Debiana właśnie wziąłem źródło Whois dla Jessie i zbudowałem je; teraz działa dobrze. W przypadku systemu OS X kupiłem nowszą wersję Whois za pośrednictwem MacPorts.

beduin
źródło
0

Miałem tę samą problematyczną odpowiedź serwera na jedno z moich żądań.

W tym przypadku użycie -aprzełącznika było proste i działało świetnie:

whois -a [your_request_here]

Od man:

[This flag is] understood by whois.ripe.net and some other RIPE-like servers:
-a
    Also search all the mirrored databases. 
Tfb9
źródło
0

Lub możesz po prostu użyć lepszego narzędzia. Np. GNU jwhois, który najpierw elastycznie szuka odpowiedniego whoisserwera, a następnie dokonuje rzeczywistego wyszukiwania za pomocą tego serwera.

jwhois ulepszony klient Whois zdolny do wybierania serwera Whois do zapytania w oparciu o elastyczny plik konfiguracyjny przy użyciu wyrażeń regularnych lub bloków CIDR

Ścieżka GNU: https://ftp.gnu.org/gnu/jwhois/
Github one: https://github.com/jonasob/jwhois

kmonsoor
źródło
Nie działa w przypadku nowych TLD.
Paul
Jak na ironię, to był powód, dla którego nie mogłem whois nowych TLD. Z jakiegoś powodu to narzędzie było domyślnie instalowane. Zainstalowałem jednego zwykłego whois i udało mi się zapytać o nowe TLD, bez potrzeby hackowania.
Aspiring Dev