¿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.


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.


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

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


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

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


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


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.


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

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 :)


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


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


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)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.