Saya mencari daftar server WHOIS yang andal dan terkini untuk digunakan dalam skrip whois.
Karena daftar sering berubah, alangkah baiknya jika ada sumber daya yang bisa saya rujuk daripada harus memperbarui skrip secara berkala.
Saya mencari daftar server WHOIS yang andal dan terkini untuk digunakan dalam skrip whois.
Karena daftar sering berubah, alangkah baiknya jika ada sumber daya yang bisa saya rujuk daripada harus memperbarui skrip secara berkala.
Jawaban:
Ada beberapa cara terkenal untuk menemukan server whois untuk TLD, basis data IANA mungkin yang paling dekat dengan pertanyaan, namun ada sumber lain yang mungkin lebih berguna dalam praktiknya.
Jelajahi http://www.iana.org/domains/root/db atau cari basis data whois whois.iana.org
untuk TLD. Setiap entri memiliki bidang yang menentukan server whois .
Contoh:
$ 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: info@verisign-grs.com
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: info@verisign-grs.com
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
$
Namanya tld.whois-servers.net
adalah CNAME
untuk whois-server yang sesuai. Agak tidak jelas siapa yang sebenarnya mempertahankan ini tetapi tampaknya cukup populer karena sangat mudah untuk menggunakan ini dengan hampir semua klien whois (dan beberapa klien default untuk menggunakan layanan ini).
Contoh:
$ 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
$
Banyak pendaftar mempublikasikan alamat server whois mereka dalam DNS langsung di zona yang relevan sebagai _nicname._tcp
SRV
catatan .
Contoh:
$ 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.
$
Saya secara teratur mengkompilasi daftar dari IANA dan PSL ke dalam file XML termasuk server whois, registrar, domain tingkat kedua dan jika mungkin ekspresi reguler untuk ketersediaan: https://github.com/whois-server-list/whois-server-list
Saya telah bermain-main dengan WHOIS akhir-akhir ini dan saya menemukan bahwa beberapa paket whois yang tersedia untuk umum [yaitu CentOS's jwhois] tampaknya bergantung pada daftar pra-paket server TLIS WHOIS. Meskipun ini akan baik-baik saja untuk sebagian besar TLD, ini masalah untuk ledakan gTLD esoterik seperti .horse
.
Metode diandalkan 100% adalah untuk mencari TLD di Server WHOIS IANA ini, whois.iana.org
, mengurai keluar whois:
masuk, dan kemudian permintaan yang server untuk informasi domain. Misalnya:
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.
Lalu:
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]
Jika Anda menggunakan metode ini, Anda harus sopan dan menyimpan respons dari server IANA selama setidaknya 48 jam, jika tidak lebih lama, karena jarang akan berubah dan server IANA cenderung berada di bawah beban besar.
Saya memelihara daftar server WHOIS untuk pustaka Ruby WHOIS saya di https://github.com/weppos/whois/blob/master/data/tld.json
Ini berisi daftar semua server yang ada.
Itu tidak mengandung respons ketika domain tersedia karena pustaka Ruby melakukan parsing di tingkat yang berbeda. Juga, ingatlah bahwa tidak semua pendaftar menggunakan pesan string untuk mengomunikasikan tidak tersedianya suatu domain.
Anda dapat menggunakan skrip ini untuk mendapatkan server whois dari IANA. dibuat oleh noys. output dalam daftar zona JSON dan server whois.
<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>';
?>
Anda seharusnya tidak memerlukan daftar ini. whois (1) cukup pintar untuk menemukan ini untuk Anda:
Untuk halaman manual:
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 umumnya cukup dapat diandalkan. Saya tidak pernah ingat melihatnya gagal untuk domain.
bet.whois-servers.net
tidak ada.
whois
klien yang Anda gunakan. Tidak semua dari mereka melakukan itu, karena alasan baik atau buruk. whois-servers.net
masih bukan layanan resmi, hanya sesuatu yang dilakukan pada kasus upaya terbaik.