Vyhledávání v databázi WHOIS odhalí mnoho detailů o vlastnících internetových domén. V operačním systému Linux můžete tento typ vyhledávání spouštět přímo z příkazové řádky. V následujícím textu si ukážeme, jak na to.
Co je systém WHOIS?
Systém WHOIS funguje jako databáze, která shromažďuje informace o držitelích doménových jmen i o samotných doménách. Organizace ICANN (Internetová korporace pro přidělování jmen a čísel) sice reguluje proces registrace a vlastnictví domén, nicméně samotné seznamy záznamů spravuje množství různých registrů.
Kdokoliv má možnost se na tyto záznamy dotazovat. Pokud tak učiníte, jeden z registrů vaši žádost zpracuje a obratem vám poskytne data z příslušného WHOIS záznamu.
Předtím, než postoupíme dále, je důležité se seznámit s několika základními pojmy:
Registr: Je to společnost, která má na starosti správu databáze doménových jmen (existuje jich mnoho).
Registrant: Jde o právního majitele domény, který je jako takový v registru zapsán.
Registrátor: To je subjekt, prostřednictvím kterého registrant svou doménu registruje.
WHOIS záznam typicky obsahuje veškeré kontaktní informace spojené s osobou, firmou nebo jiným subjektem, který si doménové jméno zaregistroval. Množství poskytovaných informací se může u různých záznamů lišit, stejně jako rozsah dat vrácených jednotlivými registry.
Běžný WHOIS záznam obsahuje následující detaily:
- Jméno a kontaktní informace registrujícího: Vlastník domény.
- Jméno a kontaktní informace registrátora: Organizace, přes kterou byla doména zaregistrována.
- Datum registrace domény.
- Datum poslední aktualizace informací.
- Datum vypršení platnosti domény.
Dotazy do WHOIS lze zadávat prostřednictvím webových rozhraní, ale v Linuxu můžete využít příkaz `whois` a provádět vyhledávání přímo z příkazové řádky. To oceníte zejména při práci na počítačích bez grafického uživatelského rozhraní nebo při skriptování.
Instalace nástroje WHOIS
Příkaz `whois` je obvykle již předinstalován v systému Ubuntu 20.04. Pokud ho však v dané verzi Ubuntu nemáte, můžete ho doinstalovat pomocí následujícího příkazu:
sudo apt-get install whois
Na Fedoře použijte následující příkaz:
sudo dnf install whois
Pro Manjaro zadejte příkaz:
sudo pacman -Syu whois
Použití příkazu WHOIS s doménovým jménem
Příkaz `whois` je použitelný jak s doménovými jmény, tak s IP adresami. Pro každý z těchto typů dotazů je však vrácena mírně odlišná sada informací.
Jako první si ukážeme příklad s doménovým jménem:
whois cnn.com
Odpověď od WHOIS registru začíná souhrnem a následně je doplněna o podrobnější informace. Níže je příklad, ze kterého byly odstraněny právní prohlášení o ochranných známkách a podmínkách používání:
Domain Name: CNN.COM Registry Domain ID: 3269879_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.corporatedomains.com Registrar URL: http://www.cscglobal.com/global/web/csc/digital-brand-services.html Updated Date: 2018-04-10T16:43:38Z Creation Date: 1993-09-22T04:00:00Z Registry Expiry Date: 2026-09-21T04:00:00Z Registrar: CSC Corporate Domains, Inc. Registrar IANA ID: 299 Registrar Abuse Contact Email: [email protected] Registrar Abuse Contact Phone: 8887802723 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited Name Server: NS-1086.AWSDNS-07.ORG Name Server: NS-1630.AWSDNS-11.CO.UK Name Server: NS-47.AWSDNS-05.COM Name Server: NS-576.AWSDNS-08.NET DNSSEC: unsigned
Většina údajů je poměrně zřejmá. Vidíme detaily o registrátorovi a registru, včetně kontaktních údajů, data registrace a další. Některé položky v seznamu ale nemusí být na první pohled tak srozumitelné.
The IANA (Úřad pro přidělování internetových čísel) dohlíží a koordinuje klíčové aspekty internetu, jako jsou doménové zóny nejvyšší úrovně, IP adresy a seznam registrů. Konkrétně tento registr má přiděleno číslo 299, které je v datech uvedeno jako „IANA ID: 299“.
Řádky „Domain Status“ zobrazují stav domény, který může být i v několika stavech současně. Stavy jsou přesně definovány v Extensible Provisioning Protocol. Některé stavy se objevují zřídka a jiné jsou specifické pro určité situace, jako jsou například právní spory.
Pro tuto registraci jsou aktivní tyto stavy:
- clientTransferProhibited: Zabrání převodu domény od stávajícího registrátora k jinému.
- serverDeleteProhibited: Zablokuje možnost smazání domény.
- serverTransferProhibited: Zamezuje převodu domény k jinému registrátorovi.
- serverUpdateProhibited: Zamezuje jakékoliv aktualizaci domény.
Poslední tři zmíněné stavy se obvykle aktivují na žádost držitele domény nebo pokud probíhá nějaký soudní spor. V tomto případě společnost CNN pravděpodobně požádala o aktivaci těchto stavů, aby doménu „uzamkla“.
Položka „!DNSSEC“ se vztahuje k Rozšíření zabezpečení systému doménových jmen (DNSSEC). Jedná se o mechanismus, který umožňuje ověřovat pravost dat obdržených z DNS zón pomocí kryptografických podpisů.
Níže je uvedena podrobnější část odpovědi:
Domain Name: cnn.com Registry Domain ID: 3269879_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.corporatedomains.com Registrar URL: www.cscprotectsbrands.com Updated Date: 2018-04-10T16:43:38Z Creation Date: 1993-09-22T04:00:00Z Registrar Registration Expiration Date: 2026-09-21T04:00:00Z Registrar: CSC CORPORATE DOMAINS, INC. Registrar IANA ID: 299 Registrar Abuse Contact Email: [email protected] Registrar Abuse Contact Phone: +1.8887802723 Domain Status: clientTransferProhibited http://www.icann.org/epp#clientTransferProhibited Domain Status: serverDeleteProhibited http://www.icann.org/epp#serverDeleteProhibited Domain Status: serverTransferProhibited http://www.icann.org/epp#serverTransferProhibited Domain Status: serverUpdateProhibited http://www.icann.org/epp#serverUpdateProhibited Registry Registrant ID: Registrant Name: Domain Name Manager Registrant Organization: Turner Broadcasting System, Inc. Registrant Street: One CNN Center Registrant City: Atlanta Registrant State/Province: GA Registrant Postal Code: 30303 Registrant Country: US Registrant Phone: +1.4048275000 Registrant Phone Ext: Registrant Fax: +1.4048271995 Registrant Fax Ext: Registrant Email: [email protected] Registry Admin ID: Admin Name: Domain Name Manager Admin Organization: Turner Broadcasting System, Inc. Admin Street: One CNN Center Admin City: Atlanta Admin State/Province: GA Admin Postal Code: 30303 Admin Country: US Admin Phone: +1.4048275000 Admin Phone Ext: Admin Fax: +1.4048271995 Admin Fax Ext: Admin Email: [email protected] Registry Tech ID: Tech Name: TBS Server Operations Tech Organization: Turner Broadcasting System, Inc. Tech Street: One CNN Center Tech City: Atlanta Tech State/Province: GA Tech Postal Code: 30303 Tech Country: US Tech Phone: +1.4048275000 Tech Phone Ext: Tech Fax: +1.4048271593 Tech Fax Ext: Tech Email: [email protected] Name Server: ns-576.awsdns-08.net Name Server: ns-1086.awsdns-07.org Name Server: ns-47.awsdns-05.com Name Server: ns-1630.awsdns-11.co.uk DNSSEC: unsigned
Zde vidíme v podstatě stejné informace jako v souhrnu, ale s přidáním oddílů o žadateli o registraci a jeho kontaktních údajích pro administrativní a technické účely.
Jméno registrujícího je uvedeno jako „Správce názvů domén“. Někdy se společnosti rozhodnou, že za poplatek nechají svého registrátora zaregistrovat doménu pod generickým jménem spravovaným registrátorem. Zdá se, že je tomu tak i v tomto případě. Nicméně z adresy registrujícího, která je „1 CCN Center“, je zřejmé, kdo je skutečným vlastníkem domény.
Použití WHOIS s IP adresou
Použití příkazu `whois` s IP adresou je stejně jednoduché jako s doménovým jménem. Stačí zadat IP adresu za `whois`, například takto:
whois 205.251.242.103
Níže je výstup, který příkaz `whois` vrací:
NetRange: 205.251.192.0 - 205.251.255.255 CIDR: 205.251.192.0/18 NetName: AMAZON-05 NetHandle: NET-205-251-192-0-1 Parent: NET205 (NET-205-0-0-0-0) NetType: Direct Allocation OriginAS: AS16509, AS39111, AS7224 Organization: Amazon.com, Inc. (AMAZON-4) RegDate: 2010-08-27 Updated: 2015-09-24 Ref: https://rdap.arin.net/registry/ip/205.251.192.0 OrgName: Amazon.com, Inc. OrgId: AMAZON-4 Address: 1918 8th Ave City: SEATTLE StateProv: WA PostalCode: 98101-1244 Country: US RegDate: 1995-01-23 Updated: 2020-03-31 Ref: https://rdap.arin.net/registry/entity/AMAZON-4 OrgAbuseHandle: AEA8-ARIN OrgAbuseName: Amazon EC2 Abuse OrgAbusePhone: +1-206-266-4064 OrgAbuseEmail: [email protected] OrgAbuseRef: https://rdap.arin.net/registry/entity/AEA8-ARIN OrgNOCHandle: AANO1-ARIN OrgNOCName: Amazon AWS Network Operations OrgNOCPhone: +1-206-266-4064 OrgNOCEmail: [email protected] OrgNOCRef: https://rdap.arin.net/registry/entity/AANO1-ARIN OrgRoutingHandle: ADR29-ARIN OrgRoutingName: AWS Dogfish Routing OrgRoutingPhone: +1-206-266-4064 OrgRoutingEmail: [email protected] OrgRoutingRef: https://rdap.arin.net/registry/entity/ADR29-ARIN OrgRoutingHandle: IPROU3-ARIN OrgRoutingName: IP Routing OrgRoutingPhone: +1-206-266-4064 OrgRoutingEmail: [email protected] OrgRoutingRef: https://rdap.arin.net/registry/entity/IPROU3-ARIN OrgTechHandle: ANO24-ARIN OrgTechName: Amazon EC2 Network Operations OrgTechPhone: +1-206-266-4064 OrgTechEmail: [email protected] OrgTechRef: https://rdap.arin.net/registry/entity/ANO24-ARIN RTechHandle: ROLEA19-ARIN RTechName: Role Account RTechPhone: +1-206-266-4064 RTechEmail: [email protected] RTechRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN RAbuseHandle: ROLEA19-ARIN RAbuseName: Role Account RAbusePhone: +1-206-266-4064 RAbuseEmail: [email protected] RAbuseRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN RNOCHandle: ROLEA19-ARIN RNOCName: Role Account RNOCPhone: +1-206-266-4064 RNOCEmail: [email protected] RNOCRef: https://rdap.arin.net/registry/entity/ROLEA19-ARIN
První část výstupu se týká informací o organizaci, která je vlastníkem IP adresy, kterou jsme hledali (v tomto případě jedné z mnoha IP adres vlastněných společností Amazon). Dále jsou uvedeny interní identifikátory používané pro identifikaci společnosti Amazon.com, Inc. v rámci registru.
Druhá část obsahuje adresu a jméno registrujícího, tedy Amazon.com, Inc. Webová adresa v poli „Ref:“ obsahuje tyto informace ve formátu JSON (JavaScript Object Notation).
Další oddíly obsahují kontaktní informace, které se dají využít k nahlášení problémů týkajících se zneužití, provozu sítě a podobně.
Použití WHOIS ve skriptech
Pokud chceme `whois` použít v rámci skriptu, můžeme si představit situaci, kdy máme sadu domén, u kterých potřebujeme zkontrolovat data vypršení platnosti. To lze provést pomocí jednoduchého shell skriptu.
Napište následující kód do textového editoru a uložte ho jako „get-expiry.sh“:
#!/bin/bash DOMAIN_LIST="wdzwdz.com reviewgeek.com lifesavvy.com cloudsavvyit.com" echo "Expiration dates:" for domain in $DOMAIN_LIST do echo -n "$domain :: " whois $domain | grep 'Expiration' | awk '{print $5}' done
Nastavte skriptu spouštěcí oprávnění pomocí příkazu chmod, jak je uvedeno níže:
chmod +x get-expiry.sh
Nyní skript spusťte vyvoláním jeho jména:
./get-expiry.sh
Datum vypršení platnosti je z odpovědi `whois` extrahováno pomocí příkazu `grep` k nalezení řádků obsahujících text „Expiration“ a pomocí příkazu `awk` pro vypsání páté položky z daného řádku.
Pohodlí a automatizace
Vyhledávání v WHOIS je samozřejmě možné provádět i online. Nicméně příkaz `whois` v terminálu a možnost skriptování nabízejí pohodlí, flexibilitu a možnost automatizovat část vaší práce.