Wie finde ich den WHOIS-Server für eine TLD? [geschlossen]

10

Ich suche nach einer zuverlässigen und aktuellen Liste von WHOIS-Servern, die in einem whois-Skript verwendet werden können.
Da sich die Liste häufig ändert, wäre es schön, wenn es eine Ressource gäbe, auf die ich verweisen könnte, anstatt das Skript häufig aktualisieren zu müssen.

Hamed Momeni
quelle
Warum nicht einfach GNU jwhois verwenden? Es erledigt das für Sie.
Michael Hampton
1
Dies verdient eine Wiedereröffnung, da es wirklich nur eine offizielle Quelle für diese Informationen gibt.
Zenexer

Antworten:

17

Es gibt verschiedene bekannte Methoden zum Auffinden von Whois-Servern für TLDs. Die IANA-Datenbank entspricht wahrscheinlich am ehesten den Anforderungen der Frage. Es gibt jedoch auch andere Quellen, die in der Praxis möglicherweise nützlicher sind.

Von IANA (Zugriff über whois und http)

Durchsuchen Sie http://www.iana.org/domains/root/db oder durchsuchen Sie die whois-Datenbank unter whois.iana.orgnach der TLD. Jeder Eintrag hat ein Feld, das den whois- Server angibt .

Beispiel:

$ whois -h whois.iana.org com
[Querying whois.iana.org]
[whois.iana.org]
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

domain:       COM

organisation: VeriSign Global Registry Services
address:      12061 Bluemont Way
address:      Reston Virginia 20190
address:      United States

contact:      administrative
name:         Registry Customer Service
organisation: VeriSign Global Registry Services
address:      12061 Bluemont Way
address:      Reston Virginia 20190
address:      United States
phone:        +1 703 925-6999
fax-no:       +1 703 948 3978
e-mail:       [email protected]

contact:      technical
name:         Registry Customer Service
organisation: VeriSign Global Registry Services
address:      12061 Bluemont Way
address:      Reston Virginia 20190
address:      United States
phone:        +1 703 925-6999
fax-no:       +1 703 948 3978
e-mail:       [email protected]

nserver:      A.GTLD-SERVERS.NET 192.5.6.30 2001:503:a83e:0:0:0:2:30
nserver:      B.GTLD-SERVERS.NET 192.33.14.30 2001:503:231d:0:0:0:2:30
nserver:      C.GTLD-SERVERS.NET 192.26.92.30
nserver:      D.GTLD-SERVERS.NET 192.31.80.30
nserver:      E.GTLD-SERVERS.NET 192.12.94.30
nserver:      F.GTLD-SERVERS.NET 192.35.51.30
nserver:      G.GTLD-SERVERS.NET 192.42.93.30
nserver:      H.GTLD-SERVERS.NET 192.54.112.30
nserver:      I.GTLD-SERVERS.NET 192.43.172.30
nserver:      J.GTLD-SERVERS.NET 192.48.79.30
nserver:      K.GTLD-SERVERS.NET 192.52.178.30
nserver:      L.GTLD-SERVERS.NET 192.41.162.30
nserver:      M.GTLD-SERVERS.NET 192.55.83.30
ds-rdata:     30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CFC41A5766

whois:        whois.verisign-grs.com

status:       ACTIVE
remarks:      Registration information: http://www.verisign-grs.com

created:      1985-01-01
changed:      2012-02-15
source:       IANA

$

Von whois-servers.net (Zugriff über DNS)

Der Name tld.whois-servers.netsteht CNAMEfür den entsprechenden whois-Server. Etwas unklar, wer dies tatsächlich verwaltet, aber es scheint ziemlich beliebt zu sein, da es sehr einfach ist, dies mit so ziemlich jedem whois-Client zu verwenden (und einige Clients verwenden diesen Service standardmäßig).

Beispiel:

$ dig com.whois-servers.net +noall +answer

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-15.P2.fc20 <<>> com.whois-servers.net +noall +answer
;; global options: +cmd
com.whois-servers.net.  600     IN      CNAME   whois.verisign-grs.com.
whois.verisign-grs.com. 5       IN      A       199.7.55.74
$

Aus der Registrierung selbst (Zugriff über DNS)

Viele Registries veröffentlichen die Adresse ihres whois-Servers in DNS direkt in der entsprechenden Zone als _nicname._tcp SRVDatensatz .

Beispiel:

$ dig _nicname._tcp.us SRV +noall +answer

; <<>> DiG 9.9.4-P2-RedHat-9.9.4-15.P2.fc20 <<>> _nicname._tcp.us SRV +noall +answer
;; global options: +cmd
_nicname._tcp.us.       518344  IN      SRV     0 0 43 whois.nic.us.
$
Håkan Lindqvist
quelle
6

Ich kompiliere regelmäßig eine Liste von IANA und PSL in eine XML-Datei, die whois-Server, Registrar, Domänen der zweiten Ebene und wenn möglich einen regulären Ausdruck für die Verfügbarkeit enthält: https://github.com/whois-server-list/whois-server-list

Markus Malkusch
quelle
5

Ich habe in letzter Zeit mit WHOIS herumgespielt und festgestellt, dass einige der öffentlich verfügbaren whois-Pakete [nämlich CentOS 'jwhois] auf vorgefertigten Listen von TLD-WHOIS-Servern zu beruhen scheinen. Während dies für die Mehrheit der TLDs in Ordnung sein wird, ist es ein Problem für die Explosion von esoterischen gTLDs wie .horse.

Die 100% zuverlässige Methode besteht darin, die TLD auf dem WHOIS-Server von IANA nachzuschlagen, whois.iana.orgden whois:Eintrag zu analysieren und diesen Server dann nach den Informationen der Domäne abzufragen . Z.B:

foo@bar:~ $ echo -e "horse\r\n" | nc -i 1 whois.iana.org 43
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

domain:       HORSE

[snip]

whois:        whois-dub.mm-registry.com

[snip]

Connection closed by foreign host.

Und dann:

foo@bar:~ $ echo -e "dord.horse\r\n" | nc -i 1 whois-dub.mm-registry.com 43
Domain Name: dord.horse
Domain ID: 1742946-MMd1
WHOIS Server: whois-dub.mm-registry.com
[snip]

Wenn Sie diese Methode verwenden, sollten Sie mindestens 48 Stunden, wenn nicht länger, höflich sein und Antworten vom IANA-Server zwischenspeichern, da sie sich selten ändern und die Server von IANA in der Regel unter massiver Last stehen.

Sammitch
quelle
4

Ich verwalte die Liste der WHOIS-Server für meine Ruby WHOIS-Bibliothek unter https://github.com/weppos/whois/blob/master/data/tld.json

Es enthält die Liste aller vorhandenen Server.

Es enthält keine Antwort, wenn die Domäne verfügbar ist, da die Ruby-Bibliothek das Parsen auf einer anderen Ebene durchführt. Beachten Sie auch, dass nicht alle Registrierungen Zeichenfolgenmeldungen verwenden, um die Nichtverfügbarkeit einer Domain zu kommunizieren.

Simone Carletti
quelle
2

Mit diesem Skript können Sie whois-Server von IANA abrufen. von noys betrogen. Ausgabe in der JSON-Liste der Zonen und Whois-Server.

<style>
body {
    font: normal 10px verdana, sans-serif;
    color: #333;
}
</style>

<?
$zones = array('ac','am','asia','at','be','biz','biz.ua','biz.ua','br.com','bz','cc','ch','co','co.am','co.in','co.ua','co.ua','om','com.am','com.kz','com.ua','cx','cz','de.com','eu','eu.com','firm.in','fm','gen.in','im','in','ind.in','info','io','kiev.ua','kz','la','lc','li','lt','lu','md','me','mn','mobi','ms','mx','name','net','net.am','net.in','org','org.am','org.in','org.kz','ph','pl','pp.ua','pro','pw','pw','ru','ru.com','so','su','su','su','tel','tv','tw','us','uy.com','vc','ws','xxx','za.cm','xn--p1ai');

$count = count($zones);

echo '<h1>Whois tool</h1>';

echo '<pre>
{
';

for($i=0;$i<$count;$i++) {
    $root_server = 'whois.iana.org';
    $zone = $zones[$i];
    $domain = 'nuceti75.'.$zones[$i];
    //echo "<h2>$domain - $current_domain</h2>";
    $fp = fsockopen($root_server, 43);
    if (!$fp) echo "Connection error: $root_server \r\n";
    else { 
        fputs($fp, $zone."\r\n");
        while (!feof($fp)) {
            $root_answer .= fgets($fp, 128);
        }
        preg_match("~whois:\s(.+)~i", $root_answer, $result);
        $current_server = trim($result[1]);
        fclose($fp);
    } 

    //echo "<pre>$root_answer</pre>";
    //echo "<b>Whois server for this TLD:</b> $current_server";

    $fh = fsockopen($current_server, 43);
    if (!$fh) echo "Connection error: $current_server ($zone) \r\n";
    else { 
        fputs($fh, $domain."\r\n");
        while (!feof($fh)) {
            $current_answer .= fgets($fh, 128);
        }
        fclose($fh);
    }

    //echo "<pre>$current_answer</pre>";

    echo "\"$zone\": \"$current_server\",\r\n";

    unset($root_answer);
    unset($current_answer);
    unset($result);

}

echo '
}
</pre>';

?>
noys
quelle
1

Sie sollten keine Liste von diesen benötigen. whois (1) ist klug genug, um dies für Sie herauszufinden:

Für die Manpage:

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

Whois ist im Allgemeinen ziemlich zuverlässig. Ich kann mich nicht erinnern, jemals gesehen zu haben, dass es für eine Domain fehlgeschlagen ist.

devicenull
quelle
Einige der neuen TLDs sind nicht eingerichtet. zB bet.whois-servers.netexistiert nicht.
cmbuckley
Diese Funktion hängt davon ab, welchen whoisClient Sie verwenden. Nicht alle von ihnen tun das aus guten oder schlechten Gründen. whois-servers.netist immer noch kein offizieller Dienst, nur etwas, das im besten Fall getan wird.
Patrick Mevzek