O que é o utilitário de linha de comando no Windows para fazer uma pesquisa reversa no DNS?


246

Existe uma ferramenta de linha de comando interna que fará buscas reversas de DNS no Windows? Ou seja, algo como<toolname> w.x.y.z => mycomputername

Eu tentei:

  • nslookup: parece ser apenas pesquisa direta.
  • host: não existe
  • dig: também não existe.

Encontrei " O que é o utilitário de linha de comando DNS reverso? " Por meio de uma pesquisa, mas isso procura especificamente um utilitário * nix, não um Windows.


5
Esta pergunta deve ser editada para dizer que realmente não está procurando uma solução específica para DNS. As respostas que foram rejeitadas fornecem essa resposta, mas o problema era que você realmente precisava de algo que procure nomes de NetBIOS, não DNS.
Barmar 18/11/2014

Respostas:


237
ping -a w.x.y.z

Deve resolver o nome do endereço IP se a zona de pesquisa inversa tiver sido configurada corretamente. Se a zona de pesquisa inversa não tiver uma entrada para o registro, -aela apenas fará ping sem um nome.


3
Isso funcionou melhor que o nslookup, pois a máquina conflitante está em outro domínio. Muito obrigado!
Alastairs 15/07

4
em nslookup você também pode tentar: Tipo set = PTR <enter> wxyz <enter>
Peter

2
@abstrask tem a resposta mais completa
vinnyjames

7
Isso funciona , mas na verdade é a ferramenta errada para o trabalho. O ping é usado para medir a latência da rede, realiza pesquisas de nome (ou IP) apenas como efeito colateral de seu principal objetivo.
Massimo

3
@ Massimo - dadas as restrições da pergunta original, o que você sugeriria? O ping resolverá nomes de DNS e netbios, o que a torna uma boa primeira ferramenta se você precisar de algo rápido.
Peter

114
nslookup <ip>

Faz o que você está procurando. Ele informará o servidor que você está consultando e o resultado.

Por exemplo:

c:\>nslookup 192.168.101.39
Server: dns1.local
Address: 192.168.101.24

Name: enigma.local
Address: 192.168.101.39

7
Isso estava falhando com a mensagem "<DC> não é possível encontrar o wxyz: domínio inexistente" e não consegui descobrir o porquê. Tentei a resposta de @ Peter e descobri que a máquina em conflito estava em outro domínio.
Alastairs 15/07

7
Ele falhou porque o nslookup se preocupa apenas com o DNS, enquanto os nomes no Windows podem e serão resolvidos por outros meios se o DNS não for suficiente.
Massimo

76

O problema com o "ping" é que não é estritamente uma ferramenta de pesquisa de servidor de nomes (como o nslookup). Por exemplo, se você executar ping em um nome de host, ele poderá ser resolvido para um endereço IP por vários métodos: pesquisa de DNS, pesquisa de arquivo de host, WINS (proibição de Deus) ou transmissão NetBIOS. Também pode retornar um resultado em cache potencialmente desatualizado.

A ordem em que os métodos são tentados depende da configuração TCP / IP dos clientes e do sinalizador de tipo de nó:

  • Nó B (1): transmissão
  • Nó P (2): Par (apenas WINS)
  • Nó M (4): misto (transmissão e WINS)
  • Nó H (8): Híbrido (WINS e transmissão)

Para ver o tipo de nó do computador atual:

C:\>ipconfig /all | find "Node Type"
Node Type . . . . . . . . . . . . : Hybrid

Se o método de resolução não for motivo de preocupação, use

ping -a w.x.y.z

ou

nslookup w.x.y.z

Como quiser. Se você precisa ter certeza de que está consultando o servidor DNS para obter o nome correto, use nslookup .

Veja também


31

Use NSLOOKUP com o parâmetro "-type = ptr" para consultar o endereço IP, sintaxe:

nslookup -type=ptr 1.2.3.4

Em seguida, a entrada "in-addr.arpa" também é impressa (mesmo quando não encontrada), por exemplo:

C:\Users\UserName>nslookup -type=ptr 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Non-authoritative answer:
8.8.8.8.in-addr.arpa    name = google-public-dns-a.google.com

Comparado com a resposta de menor fidelidade ao usar o NSLOOKUP em um endereço IP sem o parâmetro type:

C:\Users\UserName>nslookup 8.8.8.8
Server:  MyDnsServerName
Address:  X.X.X.X

Name:    google-public-dns-a.google.com
Address:  8.8.8.8

2
Se você deseja usar o nslookup interativo, no prompt do nslookup, digite "set q = ptr" e digite o IP na próxima linha. Se você é louco como eu, não sabia até agora que não precisa mais procurar o IP de volta, como "1.0.0.127.in-addr.arpa".
Todd Wilcox

4
Não há necessidade de -type=ptrou set q=ptrem tudo - nslookupé inteligente o suficiente para regonise um endereço IP e fazer uma pesquisa inversa em vez de avançar
abstrask

1
Na verdade, o -type = ptr é necessário para a verificação adequada da pesquisa inversa, pois imprime um resultado mais preciso do que o nslookup com apenas um endereço IP. É muito melhor ter a entrada in-addr.arpa real impressa (também quando não encontrada) para ajudar na depuração ou apenas esclarecer o que está acontecendo.
Tony Wall

14

O nslookup fará o DNS reverso no Windows, assim como no Linux.

Obviamente, não há uma entrada reversa para cada endereço IP


2
Bom ponto de que nem todos os hosts terá um registro PTR criado para eles
Rowland Shaw

2
Observe que o nslookup no Linux, BSD e Windows faz coisas diferentes e são programas diferentes.
Boa Pessoa

1
Se nenhum PTR existe, você pode Whois IP para mais informações ..... prov doesnt navio com windoze quer lol
nandoP

8

Use o nslookup assim:

nslookup -type=PTR  127.0.0.1

6

Você pode usar o comando NSLOOKUP padrão:

nslookup 123.123.123.123

Para obter um resultado, é necessário que haja um registro PTR registrado para o endereço IP em questão.


5

O nslookup fará pesquisas inversas no Windows.

C:\>nslookup star.slashdot.org

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

C:\>nslookup 216.34.181.48

Server:  my-dns-server
Address:  10.242.0.1

Name:    star.slashdot.org
Address:  216.34.181.48

4

9 respostas e ninguém disse como reverter a pesquisa com dig? Este é o melhor

dig -x wxyz

Além disso, você pode adicionar "+ short" para usar em bash loops, scripts, etc .... para frente ou para trás :)


3
Ninguém mencionou dig, pois não é fornecido com o Windows. A pergunta do OP até indica isso.
Jscott #

3
diggeralmente é a melhor opção para solucionar problemas de DNS. Eu acho que definitivamente vale a pena sugerir uma ferramenta melhor, mesmo que ela não seja fornecida com o Windows. (Disponível nas versões do Windows em isc.org/software/bind )
Håkan Lindqvist

4

No Windows ....

O ping padrão NÃO retorna o nome do host do endereço IP

O NSLookup pode ser usado para encontrar essas informações, se o DNS estiver configurado corretamente

Procedimento da seguinte maneira:

Abrir prompt do DOS

NSLookup

tipo de conjunto = ptr

abcd

Os resultados serão mostrados com o endereço do servidor DNS reverso e o nome do host


1

Existe ainda outro caminho. Inverta o endereço IP e use o nslookup

nslookup -type=PTR 4.3.2.1.in-addr.arpa

resolver o endereço 1.2.3.4


1
Você teria que fazer nslookup -type=PTR 4.3.2.1.in-addr.arpapara realmente funcionar, no entanto.
Håkan Lindqvist

1

Se nslookup, dig, hostnão existe, tente o seguinte:

getent hosts google.de | awk '{ print $1 }'

Funciona, por exemplo, nas instâncias do AWS ec2 do docker (que realmente não têm nada instalado)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.