Como usar o comando whois no Linux

Uma pesquisa whois fornecerá muitas informações sobre quem possui um domínio na Internet. No Linux, você pode executar pesquisas whois na linha de comando. Vamos orientá-lo.

O sistema whois

O sistema whois é uma listagem de registros que contém detalhes sobre a propriedade dos domínios e os proprietários. O Corporação da Internet para Nomes e Números Atribuídos (ICANN) regulamenta o registro e a propriedade de nomes de domínio, mas a lista de registros é mantida por muitas empresas, conhecidas como registros.

Qualquer pessoa pode consultar a lista de registros. Quando você fizer isso, um dos registros tratará de sua solicitação e enviará detalhes do registro whois apropriado.

Antes de prosseguirmos, é importante que você esteja familiarizado com os seguintes termos:

Registry: Uma empresa que administra uma lista contendo um conjunto de nomes de domínio (existem muitos deles).
Registrante: O proprietário legal do domínio; está registrado para esta pessoa.
Registrador: Um registrante usa um registrador para fazer seu registro.

Um registro whois contém todas as informações de contato associadas à pessoa, empresa ou outra entidade que registrou o nome de domínio. Alguns registros contêm mais informações do que outros, e alguns registros retornam quantidades diferentes de informações.

Um registro whois típico conterá as seguintes informações:

O nome e as informações de contato do registrante: O proprietário do domínio.
O nome e as informações de contato do registrador: A organização que registrou o nome de domínio.
A data de registro.
Quando as informações foram atualizadas pela última vez.
A data de expiração.

Você pode fazer solicitações whois na web, mas, com o comando whois do Linux, você pode realizar pesquisas diretamente na linha de comando. Isso é útil se você precisar realizar uma pesquisa a partir de um computador sem uma interface gráfica de usuário ou se desejar fazê-lo a partir de um script de shell.

Instalando whois

O comando whois já estava instalado no Ubuntu 20.04. Se você precisar instalá-lo em sua versão do Ubuntu, poderá fazê-lo com o seguinte comando:

sudo apt-get install whois

No Fedora, use o comando abaixo:

sudo dnf install whois

E finalmente, no Manjaro, digite o seguinte:

sudo pacman -Syu whois

Usando whois com um nome de domínio

Você pode usar o comando whois com nomes de domínio ou protocolo de internet endereços (IP). Um conjunto ligeiramente diferente de informações é retornado para cada um deles.

Usaremos um nome de domínio para nosso primeiro exemplo:

whois cnn.com

A resposta do registro whois começa com um resumo e depois se repete com informações extras incluídas. Incluímos um exemplo abaixo com as declarações de marca registrada e os termos de uso removidos:

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

Isso é razoavelmente auto-explicativo. Vemos vários detalhes sobre o registrador e o registro, incluindo detalhes de contato, datas de registro e assim por diante. Existem algumas entradas na lista que você pode não reconhecer.

O Internet Assigned Numbers Authority (IANA) supervisiona e coordena coisas como Sistema de nomes de domínio zonas, protocolo IP sistemas de endereçamento e lista de registros. Esse registro é o número 299, indicado na lista como “IANA ID: 299”.

As linhas de “status do domínio” mostram o estado em que o domínio se encontra, podendo estar em vários simultaneamente. Os estados são definidos no Protocolo de provisionamento extensível. Alguns deles raramente são vistos e outros são restritos a determinadas situações, como disputas judiciais.

Os seguintes estados estão anexados a este registro:

clientTransferProhibited: O registro do domínio rejeitará solicitações para transferir o domínio do registrador atual para outro.
serverDeleteProhibited: O domínio não pode ser excluído.
serverTransferProhibited: O domínio não pode ser transferido para outro registrador.
serverUpdateProhibited: O domínio não pode ser atualizado

Os três últimos geralmente são ativados a pedido do registrante ou se uma disputa judicial estiver em andamento. Nesse caso, a CNN provavelmente solicitou que fossem aplicadas para “bloquear” o domínio da empresa.

“!DNSSEC” significa Extensões de segurança do sistema de nomes de domínioum esquema que permite que um resolvedor de nomes DNS verifique criptograficamente se os dados recebidos da zona DNS são válidos e não foram adulterados.

A parte mais longa da resposta é mostrada abaixo:

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

Isso nos dá mais ou menos as mesmas informações que o resumo, com seções extras sobre o registrante e seus detalhes de contato para fins administrativos e técnicos.

O nome do registrante é dado como “Gerenciador de Nomes de Domínio”. Às vezes, por uma taxa, as empresas optam por permitir que seu registrador registre o domínio em seu nome sob um nome genérico que o registrador mantém para esse fim. Esse parece ser o caso aqui. No entanto, como o endereço do registrante é “1 CCN Center”, é óbvio quem é o registrante.

Usando whois com um endereço IP

Usar whois com um endereço IP é tão simples quanto usá-lo com um nome de domínio. Basta especificar um endereço IP após whois, assim:

whois 205.251.242.103

Esta é a saída retornada pelo whois:

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

A primeira seção contém informações sobre a organização que possui o endereço IP que procuramos (neste caso, um dos muitos de propriedade da Amazon). Também recebemos alguns identificadores usados ​​para identificar a Amazon.com, Inc. internamente pelo registro.

A segunda seção contém o endereço e o nome do registrante, Amazon.com, Inc. O endereço da web no campo “Ref:” contém essas informações em Notação de Objeto JavaScript (JSON).

As outras seções contêm informações de contato que permitem relatar problemas relacionados a abuso, operação de rede, roteamento de tráfego e assim por diante.

Usando whois em um script

Para usar whois em um script, vamos supor que temos um conjunto de domínios para os quais precisamos verificar as datas de validade. Podemos fazer isso com um pequeno script de shell.

Digite isso em um editor e salve-o como “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

Defina o roteiro ter permissões executáveis usando o comando chmod, conforme mostrado abaixo:

chmod +x get-expiry.sh

Execute o script chamando-o pelo nome:

./get-expiry.sh

A data de expiração de cada domínio é extraída da resposta do whois usando grep para encontre linhas que contenham a string “Expiration” e usando awk para imprima o quinto item dessa linha.

Comodidade e Automação

Sim, você também pode realizar pesquisas de whois online. No entanto, ter o comando whois disponível na janela do terminal e scripts oferece conveniência, flexibilidade e oferece a opção de automatizar parte de sua carga de trabalho.