Quando você faz:
$ whois stackoverflow.com
seu Linux primeiro faz uma consulta DNS, encontra o IP de stackoverflow.com e depois pergunta as informações diretamente lá?
Ou ele solicita um servidor whois "raiz" (o IP do "servidor whois raiz" está codificado em uma distribuição Linux, de maneira semelhante a /etc/bind/db.root
?), Que então delega a outro servidor whois que fornece as informações?
Qual é o fluxo de conexão?
my computer doing `whois ...` ---> root whois server ---> another whois server ---> information
ou
my computer doing `whois ...` ---> DNS server (?) ---> ... ?
Responder1
Se você estiver usandoMarco d’Itriwhois
, você pode adicionar a --verbose
opção de ver o que está fazendo. Para stackoverflow.com, comece perguntando whois.verisign-grs.com (veja seulista de servidores WHOIS), que fornece uma série de informações, incluindo o fato de que o registrador do Stack Overflow é Name.com e seu servidor WHOIS é whois.name.com; então ele pergunta whois.name.com.
O protocolo está documentado emRFC 3912. Owhois
página de manualtambém tem dicas úteis.
Responder2
Stephen respondeu às partes principais, mas você tem outros pontos que quero abordar:
- Whois é um protocolo mal definido. Não há hierarquia, nem root whois, etc. Na verdade não há nada relacionado ao DNS nos sistemas whois, você deve começar por separá-los completamente em sua mente, pois, além do fato de que eles pegam seus dados da mesma fonte (o registro banco de dados) eles operam de forma totalmente independente.
- Cada registro de TLD opera de maneira diferente nesse aspecto. Os gTLDs são um caso à parte: de acordo com o contrato da ICANN, por enquanto, cada registrador tem a obrigação de ter um servidor whois respondendo por todos os nomes que administra. Os registros têm o mesmo requisito. A saída whois do registro lista o servidor whois do registrador (mas como escrevi em um comentário acima, isso mudou um pouco recentemente - sem uma boa razão, na verdade - o que quebrou muitos clientes whois) principalmente por uma razão histórica que logo desaparecerá: no passado (e ainda agora para .COM/.NET - .JOBS mudou recentemente, mas anteriormente estava no mesmo barco, consultehttps://www.icann.org/resources/pages/thick-whois-transition-policy-2017-02-01-en) os registros são 'finos', o que significa que o registro não armazena dados sobre os contatos, apenas o registrador o faz. O que significa que se você realmente deseja ter dados sobre o nome de domínio e descobrir quem contatar em caso de problemas (que era - e ainda é - o objetivo original do protocolo whois), você precisa primeiro consultar o servidor whois de registro para obtenha o conjunto básico de informações e descubra o servidor whois do registrador e, em seguida, entre em contato com esse servidor whois do registrador para obter acesso a todas as informações de contato. Isso explica por que a saída do registro do .COM/.NET hoje fornece apenas dados sobre servidores de nomes de domínio, datas e status. E o nome do servidor whois do registrador, que o cliente whois tenta seguir, mas às vezes não consegue porque as coisas mudam (veja meu comentário acima)
- Os ccTLDs quase sempre não funcionam assim, mesmo usando registradores, consultar o servidor whois do registro traz de volta todos os resultados necessários e mesmo se alguns estiverem faltando (por motivos de privacidade, por exemplo), você não precisa consultar o servidor whois dos registradores como eles não são obrigados pelos registros a executá-lo para os ccTLDs que administram (mas alguns registradores o fazem mesmo assim). Isso explica sua observação para um
.fr
nome de domínio, por exemplo. - alguns clientes whois codificam endereços de servidores whois, alguns tentam
whois.nic.$TLD
por padrão, o que geralmente funciona como registro ou$TLD
geralmente temnic.$TLD
como nome de domínio operacional principal. - A IANA cuida da lista de registros emhttps://www.iana.org/domains/root/dbe em cada página de registro, comohttps://www.iana.org/domains/root/db/fr.htmlvocê terá uma linha
WHOIS Server
listando o servidor whois relacionado ao registro selecionado. Observe, no entanto, que às vezes pode ficar desatualizado ou errado. Você também pode acessar esses dados fazendo uma consulta whois para um TLD em direção awhois.iana.org
, isso fornecerá dados sobre o registro relevante, incluindo seu servidor whois nawhois
chave. - Há também outro truque. Se você fizer uma consulta DNS (mas lembre-se que este ponto não invalida o primeiro ponto),
$TLD.whois-servers.net
ela fornecerá o nome do servidor whois correspondente para$TLD
, como um registro CNAME. Alguns clientes whois podem usar esse truque, mas duvido (whois
o cliente GNU pode ser um deles, ou talvez seja o do FreeBSD). Observe que esta iniciativa é puramente privada e, mesmo que devesse ser, não é administrada pelas principais autoridades envolvidas em tudo isso, como a ICANN ou a IANA. Por exemplodig uk.whois-servers.net +short
lhe dará:whois.nic.uk.
. O charme disso é que ele deve ser atualizado se mudar (muito raramente) ou (mais frequentemente) quando novos registros/TLDs forem ativados. - Alguns registros publicam seu endpoint de endereço de servidor whois usando
SRV
qual é o tipo de registro DNS dedicado para especificar onde um nome de domínio lida com um serviço específico. Então, se você fizer isso,dig _nicname._tcp.fr +short
você realmente obterá0 0 43 whois.nic.fr.
o que fornece, além dos dois primeiros números que não são usados (mas podem ser usados para balanceamento de carga/fail over), o número da porta (43
) e o nome do servidorwhois.nic.fr
a ser contatado para obternicname
, que éwhois
o serviço sob seu nome oficial registrado (https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml), para ofr
domínio. Não é usado por muitos registros, mas deveria ter sido, os registros SRV fornecem exatamente esse mecanismo de descoberta automática distribuída que funciona até mesmo em qualquer nível da árvore DNS para que funcione para registros e "sub"-registros, etc. .
Observe que muitas das opções acima mudarão quando o RDAP, um protocolo mais recente, substituir o whois. Já está definido por vários RFCs e em uso por alguns registros (em produção para RIRs, em experimentos para alguns registros de nomes de domínio), mas ainda não é contratualmente forçado a ser usado por registros e registradores (por razões não técnicas) no gTLD mundo, e os registros de ccTLD parecem relutantes em abandonar seus atuais servidores whois para colocar servidores RDAP.
Responder3
Seu cliente WHOIS solicita um servidor WHOIS (na porta TCP 43) e ele responde diretamente.Cliente WHOIS do Debiantem umlista codificada de servidoresdo qual ele escolhe automaticamente.A IANA também possui um serviço WHOIS.
Fonte:RFC 3912