¿Cómo determinar el nombre de host de una dirección IP en una red de Windows?

84

Mi LAN tiene 50 hosts de Windows. En la línea de comandos de Windows, intento hacer ping para obtener la dirección IP de una máquina con Windows en ejecución.

La pregunta es cómo obtener el nombre de host de una dirección IP específica en el mismo grupo de trabajo de Windows.

Otra pregunta es cómo saber el nombre de host de la máquina Windows desde un cuadro de Linux si tengo una dirección IP. ¿Qué comando usas? Tengo un host que ejecuta Kubuntu 9.04.

billyduc
fuente

Respuestas:

92

Si desea determinar el nombre de una máquina Windows sin DNS, debe probar Nbtstat . Pero eso solo funcionará en Windows:

Por ejemplo,

NBTSTAT -A 10.10.10.10

En Linux, deberías probar nmblookup que hace casi lo mismo.

Phil Swiss
fuente
3
NBTSTAT se basa en tener NetBIOS cargado y en funcionamiento, que a menudo se apaga en organizaciones más grandes con su propia infraestructura de AD y DNS. Probablemente una suposición segura aquí, aunque con un grupo de trabajo de 50 máquinas.
GAThrawn
Gracias Decca, el nbtstat es rock por cierto ... Fallé en Linux box nmblookup 192.168.1.92 al consultar 192.168.1.92 en 192.168.1.255 name_query no pudo encontrar el nombre 192.168.1.92
billyduc
8
El comando nmblookup -A 192.168.1.92 funciona
correctamente
1
nmblookupes parte del paquete Samba de mi distribución. No estoy seguro de por qué nmblookupeso ip to hostname es parte de Samba (código de sistema de archivos en red y código de servicios de impresión).
Trevor Boyd Smith
60

El método técnicamente preferible es escribir nslookup <ip address>

NSLOOKUP realmente le pide al servidor DNS la dirección IP del nombre de host. Ping utilizará la caché local de resolución de DNS , que puede ser incorrecta hasta que se vacíe.

Izzy
fuente
eso supone que tiene un servidor DNS interno para la resolución de nombres. Además, el operador declaró que quería resolver un nombre de host desde la ip, por lo que supongo que no sabe el nombre de host para empezar. Además, en lo que a mí respecta, no hay una forma correcta o incorrecta de hacerlo. Existen múltiples métodos, cada uno de los cuales es válido, y cada uno de los cuales puede producir resultados diferentes.
joeqwerty
3
No. Usar PING no es la mejor manera de hacerlo. Puede hacer un nslookup <ip address>y resolverá la búsqueda inversa.
Izzy el
1
Se refiere a NSLOOKUP como si fuera una herramienta de resolución interna ... De cualquier manera, NSLOOKUP es la opción técnicamente superior.
Izzy el
1
Pero él tiene razón. nslookup solo es útil en este escenario si hay un servidor DNS (ya sea interno o externo) que tiene entradas de zona de búsqueda inversa para los hosts del OP, y las máquinas del OP están configuradas para usar ese servidor DNS.
Maximus Minimus
3
@Izzy Me registré como miembro nuevo solo para agradecer el consejo de NSLOOKUP, Izzy. De todas las cosas anteriores, es el único que funcionó para mí. Un millón de gracias. --Jeff Moden
Jeff Moden
9

En Windows puede usar ping -a x.x.x.xpara intentar resolver el nombre de host desde la dirección IP .

joeqwerty
fuente
1
PING puede dar lugar a resultados inexactos, especialmente si está trabajando activamente en problemas de DNS.
Izzy el
El operador no dijo que estaba trabajando en cuestiones de DNS, él dio a entender que estaba trabajando en cuestiones de resolución de nombres. dns no es el único mecanismo de resolución de nombres en Windows y no es un mecanismo de resolución de nombres obligatorio. También declaró que está trabajando en un grupo de trabajo, por lo que no asumí que tuviera una infraestructura de DNS en su lugar.
joeqwerty
En realidad, se requiere DNS para Active Directory. Simplemente no tenemos suficiente información para decir algo definitivo al respecto.
Maximus Minimus
@mh: sí, pero de nuevo ... no hay suficiente información de la operación.
joeqwerty
gracias a todos ! No tengo el servicio Active Directory, tengo un servidor DNS resuelto para dhcp, correo, servidor web en mi empresa, la mayoría del host de los empleados ejecuta Windows XP y usa el mismo GRUPO DE TRABAJO.
billyduc
4

Para usuarios de mac smbutil -v status -ae x.x.x.xfunciona. También puede usar arp -apara obtener direcciones mac para todo en su red.

Balupton
fuente
1

nmblookup podría no funcionar bien para hosts Linux, porque el nombre NetBIOS está en desuso. Y en Windows, se limita a la red local.

Arun
fuente
2
No eso está mal. Netbios (lamentablemente) no está en desuso, y en realidad es necesario para una serie de funciones vitales de Active Directory.
HopelessN00b
¿Alguien puede señalar cómo en qué casos AD DS todavía depende de Netbios? Se ha hablado de que Netbios seguramente será depricate desde Windows Server 2003 veces. ¿Todavía se requiere de alguna manera ahora con las redes AD DS de Windows Server 2012?
Mikhail
Lamentablemente, sí: serverfault.com/questions/676867/…
Massimo