Siapa yang ditanya Linux ketika Anda melakukan whois?

11

Saat kamu melakukan:

$ whois stackoverflow.com

apakah Linux Anda pertama kali melakukan permintaan DNS, menemukan IP dari stackoverflow.com, dan kemudian menanyakan informasi langsung ke sana?

Atau apakah ia meminta "whois" root server (apakah IP dari "root whois server" hardcoded dalam distribusi Linux, dengan cara yang mirip dengan /etc/bind/db.root?), Yang kemudian mendelegasikan ke server whois lain yang memberikan informasi?

Apa aliran koneksinya?

my computer doing `whois ...` ---> root whois server ---> another whois server ---> information

atau

my computer doing `whois ...` ---> DNS server (?) ---> ... ?
Basj
sumber

Jawaban:

12

Jika Anda menggunakan Marco d'Itri'swhois , Anda dapat menambahkan --verboseopsi untuk melihat apa yang dilakukannya. Untuk stackoverflow.com, ini dimulai dengan menanyakan whois.verisign-grs.com (lihat daftar server WHOIS ), yang memberikan sejumlah informasi, termasuk fakta bahwa pendaftar Stack Overflow adalah Name.com, dan WHOIS-nya server adalah whois.name.com; jadi kemudian mulai bertanya whois.name.com.

Protokol ini didokumentasikan dalam RFC 3912 . Halaman whoismanual juga memiliki petunjuk yang bermanfaat.

Stephen Kitt
sumber
Terima kasih (tampaknya whois default Debian adalah milik Marco d'Itri). Apakah ada perintah untuk memberitahu whoisagar menggunakan server WHOIS lain selain verisign-grs? Saya tidak menemukannya man whois.
Basj
Hal lain: Anda mengatakannya lalu bertanya whois.name.com. Apakah ini berarti bahwa setiap registrar harus memiliki server registrar-whois? Ketika melakukan whois google.frhal itu sepertinya tidak menanyakan whois lain daripada yang hardcoded-in-whois, yaitu whois.nic.fr. Apakah itu benar?
Basj
Benar, standar Debian whoisadalah Marco d'Itri (Marco adalah pengembang Debian). Opsi yang Anda cari adalah -h(lihat whois -h whois.name.com stackoverflow.com). Pendaftar tidak semua harus memiliki server WHOIS; hanya pendaftar "resmi" untuk TLD yang melakukan AFAIK. Jadi dalam google.frkasus ini, pendaftar adalah MARKMONITOR, tetapi informasi tersebut berasal dari AFNIC yang merupakan pendaftar TLD untuk .fr.
Stephen Kitt
Terima kasih banyak. Yang lucu adalah: ketika melakukan whois stackoverflow.comsaya mendapatkan informasi sangat sedikit, tetapi ketika melakukan whois -h whois.name.com stackoverflow.comsaya mendapatkan lebih banyak informasi ( Admin Organization: Stack Exchange, Inc., alamat jalan, dll) yang saya tidak dapatkan ketika melakukan whois stackoverflow.com. Apakah perilaku yang diharapkan dari whois, yaitu Anda harus terlebih dahulu do whois domain.com, kemudian melihat server whois, Anda harus mengulang satu whois -h ... domain.comuntuk memiliki informasi lebih? Tidakkah seharusnya whoismelakukan semua ini secara langsung ketika dia menemukan registrar whois?
Basj
Anda harus mendapatkan informasi yang sama, karena whois stackoverflow.com tidak pergi dan meminta whois.name.com itu sendiri (setidaknya, itu tidak dalam versi 5.2.17). Anda mungkin mengalami masalah pembatasan tingkat, whois.name.com memblokir Anda sementara jika Anda mengeluarkan terlalu banyak permintaan (tetapi Anda menerima pesan kesalahan). Jika saya membuang whois stackoverflow.comdan whois -h whois.name.com stackoverflow.commembandingkannya, saya mendapatkan output name.com yang persis sama dalam kedua kasus.
Stephen Kitt
11

Stephen menjawab bagian inti tetapi Anda memiliki beberapa poin lain yang ingin saya sampaikan:

  1. Whois adalah protokol yang tidak didefinisikan dengan baik. Tidak ada hierarki, tidak ada root whois, dll. Bahkan tidak ada yang terkait dengan DNS dalam sistem whois, Anda harus mulai dengan benar-benar memisahkan mereka dalam pikiran Anda, di samping fakta bahwa mereka mengambil data mereka dari sumber yang sama (registri database) mereka beroperasi sepenuhnya secara independen.
  2. Setiap registri TLD beroperasi secara berbeda dalam hal ini. gTLD adalah kasus tersendiri: sesuai kontrak ICANN, untuk saat ini, setiap pencatat memiliki kewajiban untuk memiliki server whois yang menjawab semua nama yang ditangani. Registrasi memiliki persyaratan yang sama. Registri whois output mencantumkan registrar whois server (tetapi ketika saya menulis dalam komentar di atas, ini berubah sedikit baru-baru ini - tanpa alasan yang jelas - yang memecah banyak klien whois) terutama karena alasan historis yang akan segera hilang: di masa lalu (dan masih sekarang untuk .COM / .NET - .JOBS jenis switch baru-baru ini tetapi sebelumnya di kapal yang sama, lihat https://www.icann.org/resources/pages/thick-whois-transition-policy-2017- 02-01-id) mendaftar di mana 'tipis' yang berarti bahwa registri tidak menyimpan data tentang kontak, hanya pendaftar yang melakukannya. Yang berarti bahwa jika Anda benar-benar ingin memiliki data tentang nama domain dan menemukan siapa yang harus dihubungi jika ada masalah (yang - dan masih - tujuan asli dari protokol whois), Anda harus terlebih dahulu meminta registri whois server ke dapatkan kumpulan informasi dasar dan untuk menemukan server whois pendaftar dan kemudian hubungi server whois pendaftar ini untuk mendapatkan akses ke semua informasi kontak. Ini menjelaskan mengapa output registri .COM / .NET hari ini memberi Anda hanya data tentang server nama domain, tanggal dan status. Dan registrar nama server whois, yang ingin diikuti oleh klien whois tetapi terkadang tidak bisa karena semuanya berubah (lihat komentar saya di atas)
  3. ccTLD hampir selalu tidak berfungsi seperti itu, bahkan jika menggunakan pendaftar, menanyakan server whois registri membuat Anda mengembalikan semua hasil yang diperlukan dan bahkan jika ada yang hilang (untuk alasan privasi misalnya), Anda tidak perlu meminta server whois pendaftar sebagai mereka tidak diamanatkan oleh pendaftar untuk menjalankannya untuk ccTLD yang mereka tangani (namun demikian beberapa pendaftar melakukannya). Ini menjelaskan pengamatan Anda untuk .frnama domain misalnya.
  4. beberapa klien whois alamat hardcode server whois, beberapa mencoba whois.nic.$TLDsecara default yang sering berfungsi sebagai registri $TLDsering memiliki nic.$TLDnama domain operasi utama.
  5. IANA menangani daftar pendaftar di https://www.iana.org/domains/root/db dan di setiap halaman registri, seperti https://www.iana.org/domains/root/db/fr.html Anda akan memiliki WHOIS Serverdaftar baris server whois terkait dengan registri yang dipilih. Harap dicatat namun terkadang ketinggalan jaman atau salah. Anda juga dapat mengakses data ini dengan melakukan permintaan whois untuk TLD whois.iana.org, itu akan memberi Anda data tentang registri yang relevan, termasuk server whois di whoiskuncinya.
  6. Ada juga trik lain. Jika Anda melakukan kueri DNS (tapi harap diingat bahwa titik ini tidak membatalkan titik pertama) karena $TLD.whois-servers.netakan memberi Anda nama server whois yang sesuai $TLD, sebagai catatan CNAME. Beberapa klien whois mungkin menggunakan trik ini, tapi saya ragu ( whoisklien GNU mungkin salah satunya, atau mungkin FreeBSD). Perhatikan bahwa inisiatif ini murni bersifat pribadi dan, bahkan jika seharusnya, tidak ditangani oleh otoritas atas yang terlibat dalam semua ini, seperti ICANN atau IANA. Misalnya dig uk.whois-servers.net +shortakan memberikan: whois.nic.uk.. Pesona dari ini adalah bahwa itu harus diperbarui jika ini berubah (sangat jarang) atau (lebih sering) ketika pendaftar baru / TLD ditayangkan.
  7. Beberapa pendaftar mempublikasikan titik akhir alamat server whois mereka SRVyang merupakan tipe catatan DNS khusus untuk menentukan di mana nama domain menangani layanan tertentu. Jadi jika Anda melakukannya, dig _nicname._tcp.fr +shortAnda memang akan mendapatkan 0 0 43 whois.nic.fr.yang memberi, selain dua nomor pertama yang tidak digunakan (tetapi dapat digunakan untuk load balancing / fail over), nomor port ( 43) dan nama server whois.nic.fruntuk dihubungi untuk mendapatkan nicname, yaitu whoislayanan di bawahnya nama resmi terdaftar ( https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml ), untukfrdomain. Ini tidak digunakan oleh banyak pendaftar, tetapi seharusnya, catatan SRV menyediakan mekanisme penemuan otomatis terdistribusi ini yang bahkan bekerja pada tingkat pohon DNS apa pun sehingga berfungsi untuk pendaftar dan "sub" -registries, dll. .

Perhatikan bahwa banyak hal di atas akan berubah setelah RDAP, protokol yang lebih baru, akan menggantikan whois. Sudah ditentukan oleh beberapa RFC dan digunakan oleh beberapa pendaftar (dalam produksi untuk RIR, dalam percobaan untuk beberapa pendaftar nama domain) tetapi belum secara kontrak dipaksa untuk digunakan oleh pendaftar dan pendaftar (untuk alasan non teknis) di gTLD dunia, dan pendaftar ccTLD tampaknya enggan untuk membuang server whois mereka saat ini untuk menempatkan server RDAP.

Patrick Mevzek
sumber
2

Klien WHOIS Anda meminta server WHOIS (pada port TCP 43) dan merespons secara langsung. Klien WHOIS Debian memiliki daftar server yang di - hardcode dan dipilih secara otomatis. IANA juga memiliki layanan WHOIS.

Sumber: RFC 3912

gmarmstrong
sumber
Terima kasih. Apakah tld_serv_listfile tidak tersedia di Debian? Saya mencari di sistem file saya tetapi tidak dapat menemukannya. Apakah ini berarti dikompilasi di dalam whois binary /usr/bin/whois?
Basj
1
Memang dikompilasi ke dalam biner (lihat output strings /usr/bin/whois).
Stephen Kitt