Jak používat příkaz whois na Linuxu

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.