¿Cuál es la utilidad de línea de comandos en Windows para hacer una búsqueda inversa de DNS?

246

¿Existe una herramienta de línea de comandos integrada que haga búsquedas inversas de DNS en Windows? Es decir, algo como<toolname> w.x.y.z => mycomputername

He intentado:

  • nslookup: parece ser solo una búsqueda hacia adelante.
  • host: no existe
  • dig: tampoco existe.

Encontré " ¿Cuál es la utilidad de línea de comando DNS inversa? " A través de una búsqueda, pero esta específicamente está buscando una utilidad * nix, no una de Windows.

alastairs
fuente
55
Esta pregunta debe editarse para decir que realmente no está buscando una solución específica de DNS. Las respuestas que fueron rechazadas proporcionan esa respuesta, pero el problema era que realmente necesitabas algo que buscara nombres NetBIOS, no DNS.
Barmar

Respuestas:

237
ping -a w.x.y.z

Debería resolver el nombre de la dirección IP si la zona de búsqueda inversa se ha configurado correctamente. Si la zona de búsqueda inversa no tiene una entrada para el registro, -asimplemente hará ping sin nombre.

Peter
fuente
3
Esto funcionó mejor que nslookup ya que la máquina en conflicto está en otro dominio. ¡Muchas gracias!
alastairs
44
en nslookup también puedes probar: set type = PTR <enter> wxyz <enter>
Peter
2
@abstrask tiene la respuesta más completa
vinnyjames
77
Esto funciona , pero en realidad es la herramienta incorrecta para el trabajo. Ping se usa para medir la latencia de la red, realiza búsquedas de nombre (o IP) solo como un efecto secundario de su propósito principal.
Massimo
3
@ Massimo: dadas las limitaciones de la pregunta original, ¿qué sugeriría en su lugar? Ping resolverá los nombres de DNS y netbios, lo que lo convierte en una buena primera herramienta si solo necesita algo rápido.
Peter
114
nslookup <ip>

Hace lo que estás buscando. Le indicará el servidor que está consultando y el resultado.

Por ejemplo:

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

Name: enigma.local
Address: 192.168.101.39
Mark Turner
fuente
77
Esto estaba fallando con un mensaje "<DC> no se puede encontrar wxyz: dominio inexistente" y no pude averiguar por qué. Intenté la respuesta de @ Peter y descubrí que la máquina en conflicto estaba en otro dominio.
alastairs
77
Falló porque nslookup solo se preocupa por DNS, mientras que los nombres en Windows pueden y se resolverán por otros medios si DNS no es suficiente.
Massimo
76

El problema con "ping" es que no es estrictamente una herramienta de búsqueda del servidor de nombres (como nslookup); por ejemplo, si hace ping a un nombre de host, se puede resolver a una dirección IP mediante varios métodos: búsqueda de DNS, búsqueda de archivos de host, WINS (Dios no lo quiera) o NetBIOS broadcast. También puede devolver un resultado en caché potencialmente desactualizado.

El orden en que se prueban los métodos depende de la configuración TCP / IP de los clientes y del indicador de tipo de nodo:

  • B-node (1): Broadcast
  • P-node (2): Peer (solo WINS)
  • M-node (4): Mixed (broadcast, luego WINS)
  • H-node (8): Hybrid (WINS, luego broadcast)

Para ver el tipo de nodo de la computadora actual:

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

Si el método de resolución no le preocupa, use

ping -a w.x.y.z

o

nslookup w.x.y.z

lo que quieras. Si necesita asegurarse de que está consultando a su servidor DNS el nombre correcto, use nslookup .

Ver también

abstrask
fuente
31

Use NSLOOKUP con el parámetro "-type = ptr" para consultar la dirección IP, sintaxis:

nslookup -type=ptr 1.2.3.4

Luego, también se imprime la entrada "inaddr.arpa" (incluso cuando no se encuentra), por ejemplo:

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

En comparación con la respuesta de baja fidelidad cuando se usa NSLOOKUP en una dirección IP sin el parámetro de tipo:

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
M Aguilar
fuente
2
Si desea utilizar nslookup interactivo, en el indicador de nslookup escriba "set q = ptr" y luego ingrese la IP en la siguiente línea. Si estás loco como en la vieja escuela como yo, hasta ahora no te habías dado cuenta de que ya no tienes que buscar la IP al revés, como "1.0.0.127.in-addr.arpa".
Todd Wilcox
44
No es necesario -type=ptro set q=ptren absoluto: nslookupes lo suficientemente inteligente como para volver a registrar una dirección IP y hacer una búsqueda inversa en lugar de hacia adelante
abstrask
1
En realidad, -type = ptr es necesario para una correcta verificación de búsqueda inversa porque imprime un resultado más preciso que nslookup con solo una dirección IP. Es mucho mejor tener impresa la entrada actual de inaddr.arpa (también cuando no se encuentra) para ayudar con la depuración o simplemente aclarar lo que está sucediendo.
Tony Wall
14

nslookup invertirá DNS en Windows tal como lo puede hacer en Linux.

Por supuesto, no hay una entrada inversa para cada dirección IP

el otro recibir
fuente
2
Buen punto de que no todos los hosts tendrán un registro PTR creado para ellos
Rowland Shaw el
2
Tenga en cuenta que nslookup en Linux, BSD y Windows hacen cosas diferentes y son programas diferentes.
Buena persona
1
Si no existe PTR, puede consultar la IP para obtener más información ... el problema no se envía con Windows ni lol
nandoP
8

Use nslookup así:

nslookup -type=PTR  127.0.0.1
ko-dos
fuente
6

Puede usar el comando estándar NSLOOKUP:

nslookup 123.123.123.123

Para obtener un resultado, debe haber un registro PTR registrado para la dirección IP en cuestión.

splattne
fuente
5

nslookup realizará búsquedas inversas en 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
Evan Anderson
fuente
4

¿9 respuestas y nadie dijo cómo revertir la búsqueda con dig? Es el mejor

dig -x wxyz

Además, puede agregar "+ short" para usar en bash loops, scripts, etc. ... hacia adelante o hacia atrás :)

nandoP
fuente
3
Nadie ha mencionado digya que no se incluye con Windows. La pregunta del OP incluso indica esto.
jscott
3
digSin embargo, generalmente es la mejor opción para solucionar problemas de DNS. Creo que definitivamente hay algún valor en sugerir una herramienta mejor a pesar de que no se incluye con Windows. (Disponible en las compilaciones de Windows en isc.org/software/bind )
Håkan Lindqvist
4

Bajo Windows ...

El ping estándar NO devuelve el nombre de host de la dirección IP

NSLookup se puede usar para encontrar esta información, si DNS está configurado correctamente

Procedimiento de la siguiente manera:

Abrir indicador de DOS

NSLookup

set type = ptr

a B C D

Los resultados se mostrarán con la dirección inversa del servidor DNS y el nombre del host

Ivo van Selst
fuente
1

Todavía hay otra manera. Invierta la dirección IP y use nslookup

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

para resolver la dirección 1.2.3.4

sweetfa
fuente
1
Sin embargo, tendrías que hacer nslookup -type=PTR 4.3.2.1.in-addr.arpapara que realmente funcione.
Håkan Lindqvist
1

Si nslookup, dig, hostno existe, intente lo siguiente:

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

Funciona, por ejemplo, en instancias de docker AWS ec2 (que realmente no tienen nada instalado)

Felix
fuente