Sabemos que o domínio pode resolver para um endereço IP. e podemos usar a nslookup
ferramenta para obter o endereço IP de um domínio.
Como posso obter o domínio de um IP?
Quero dizer, quando forneço um IP, posso obter o domínio.
EDITAR-01
Quando uso o nslookup <x.x.x.x>
, não consigo pegar o domínio dele.
[root@localhost ~]# nslookup 40.224.226.185
Server: 8.8.8.8
Address: 8.8.8.8#53
** server can't find 185.226.224.40.in-addr.arpa.: NXDOMAIN
Em primeiro lugar, simplesmente não existe "domínio de um IP", porque a relação não é um-para-um, é muitos-para-muitos. Um domínio pode apontar para muitos endereços, muitos domínios podem apontar para o mesmo endereço, muitos endereços podem apontar para o mesmo domínio e um endereço pode apontar para muitos domínios.
Em segundo lugar, o DNS não possui pesquisas inversas automáticas ("encontrar todos os domínios que apontam para este endereço"). Isso já foi planejado, nos primeiros dias, mas logo abandonado – o DNS é um sistema distribuído com milhões de servidores de nomes de domínio, e seria impossível listar todos os servidores de nomes, muito menos consultá-los todos.
Em vez disso, o DNS possui apenas pesquisas reversas estáticas ("para qual domínio esse endereço aponta?", também conhecido como rDNS), e a diferença é que os dados de pesquisa reversa são gerenciados manualmente - não há relação bidirecional automática entre um endereço e um nome de domínio. Cabe inteiramente ao proprietário do endereço criar os dados de pesquisa reversa, e muitos administradores simplesmente não fazem isso.
Portanto, os comandos
nslookup <addr>
ouhost <addr>
estão corretos, mas só podem mostrar quais informações foram fornecidas pelo proprietário do endereço (que podem estar erradas, desatualizadas ou ausentes). Não há nenhum comando que encontre automaticamente todos os domínios apontando para o endereço.(
nslookup a.b.c.d
é um atalho – na realidade é traduzido paranslookup -q=PTR d.c.b.a.in-addr.arpa
, e similar para IPv6 usando in6.arpa.)E no caso de muitos domínios apontarem para um único endereço, você quase nunca encontrará esse endereço apontando para todos esses domínios. Se o endereço tiver DNS reverso, geralmente apontará para apenas um domínio que descreve o próprio servidor, e não para sites hospedados nele.
Resposta curta: talvez você não consiga fazer isso. Não há nenhuma exigência de que os endereços IP forneçam uma pesquisa reversa; portanto, há muitos endereços IP que não possuem nenhuma zona de pesquisa DNS reversa associada a eles.
Resposta longa: o DNS foi realmente projetado para fazer pesquisas de um nome legível por humanos para um endereço IP. Quando você faz uma consulta DNS normal, digamos para "www.my-example.com", a consulta DNS é na verdade uma série de consultas do menos específico ao mais específico perguntando "qual é o endereço IP do host www no domínio example.com? " Pode parecer um pouco com isso (simplista):
No entanto, isso não funcionará bem quando você fizer uma consulta DNS para um endereço IP, como 1.2.3.4, principalmente porque, ao contrário de um host/domínio/URL, o ponto de informação mais específico está no final. Portanto, o DNS muda um pouco as coisas e pergunta "qual é o servidor e o domínio do host 4 em 3.2.1.IN-ADDR-ARPA?" que pode parecer mais com isso (simplista):
Observe que, embora um servidor possa conter as informações das zonas "my-example.com" e "3.2.1.IN-ADDR-ARPA", eles também podem ser dois servidores diferentes.
Além disso, é comum que os servidores sejam executados por duas empresas diferentes. Por exemplo, se você pagar à CompanyX para hospedar seu site em seu servidor, você pode controlar a zona DNS do seu domínio apontando para o endereço IP do servidor da CompanyX (que pode hospedar muitos domínios diferentes de clientes diferentes), mas a CompanyX controla a zona para a pesquisa inversa do endereço IP. Sua pesquisa reversa para esse endereço IP (se existir) provavelmente refletiria um servidor/domínio da CompanyX.
Mesmo quando uma entidade tem o direito de controlar as zonas direta e reversa, ela não é obrigada a fornecer serviços DNS para nenhuma delas. Você está perfeitamente no seu direito de registrar um nome de domínio e não fornecer nenhum serviço DNS para ele.
O resultado final é que isso significa que, mesmo que você obtenha uma resposta para uma pesquisa reversa, ela pode não ter relação com o nome de domínio do serviço que você está acessando. Você pode estar acessando "www.my-example.com", mas a pesquisa inversa desse endereço IP pode fornecer "server37.companyx.com" ou algo totalmente diferente.
Nota: A maior parte desta resposta foi copiada da minha própria resposta postada aqui .