Encuentra nombres de computadora en una red privada (con nmap?)

10

En una LAN, quiero encontrar los nombres de todas las computadoras conectadas usando un programa multiplataforma, preferiblemente nmap. Se que puedo hacer

nmap -sn xxx.xxx.xxx.xxx/24

(donde xxx.xxx.xxx.xxx es una dirección IP local) para buscar hosts que estén activos, pero ¿cómo puedo encontrar los nombres de host de las computadoras? ¿Transmiten esto de una manera que puedo encontrar usando nmap?

ACTUALIZACIÓN: Parece que Angry IP Scanner puede hacer esto. ¿Como hace esto? ¿Puedo replicarlo con nmap?

bsamek
fuente
3
¿Qué nombres de host? Nombres DNS? Pregunta a tu servidor DNS.
ragnq
@ragnq nslookup no me da nombres de host, pero Angry Port Scanner sí. Estoy tratando de descubrir cómo hacer esto con nmap y / o herramientas de línea de comando.
bsamek

Respuestas:

0

He usado nmap y otros escáneres de IP como el escáner de Angry IP. Mi observación fue que Nmap usó DNS inverso para resolver nombres de host, por lo que para que eso funcione, el servidor DNS debe tener registros de puntero inverso para los hosts. Descubrí que otros escáneres siguen una consulta PTR con una consulta Netbios.

Si está seguro de que todos los hosts en la red de destino son hosts de Windows y que tienen NETBIOS habilitado, puede usar la herramienta nbtscan para escanearlos.

Benny
fuente
3

De las preguntas frecuentes de Angry IP Scanner (" No se muestran los nombres de host "):

Angry IP Scanners muestra los nombres de host devueltos por su servidor DNS (nombre), haciendo una búsqueda inversa . El servidor recibe la dirección IP y devuelve el nombre de host si lo sabe.

Si alguna computadora conoce su propio nombre, no significa que le haya proporcionado el servidor DNS de la red. En otras palabras, el nombre del host tal como lo conoce (el nombre local) y el nombre adjunto a la dirección IP (el nombre global) tal como lo conoce el servidor DNS puede no coincidir siempre.

Muy a menudo, las consultas DNS devolverán algunos nombres genéricos, por ejemplo, dhcp-12-13.superisp.com, especialmente en redes ISP.

Los nombres coinciden en cualquiera de estos casos:

  • Su computadora ha enviado el nombre al servidor DHCP del que obtuvo la dirección IP y el servidor DHCP lo ha proporcionado al servidor DNS local.
  • Tiene una dirección IP estática y su nombre de host local está configurado de acuerdo con las reglas que coinciden con la convención de nomenclatura global en su red
  • La pila TCP de su host devuelve el nombre local si se consulta la dirección IP local, sin preguntar el nombre global

De la documentación de Nmap (" Host Discovery "):

De manera predeterminada, Nmap aún resuelve la resolución de DNS inverso en los hosts para aprender sus nombres.

Lectura / información adicional aquí .

Ƭᴇcʜιᴇ007
fuente
En la red en la que estoy trabajando, Angry IP Scanner me muestra los nombres de host, presumiblemente haciendo una búsqueda de DNS inverso. Lo que estás diciendo es que nmap también realiza una búsqueda inversa. Pero no muestra los nombres de host. ¿Cómo puedo hacer que muestre los nombres de host? ¿O es esta la herramienta incorrecta para ese trabajo?
bsamek
1

Resulta que tengo que especificar --system-dnspara obtener los nombres de las máquinas en la red. No estoy seguro de por qué esto funciona. ¿Quizás haya algo inesperado en la forma en que se configura el DNS?

ACTUALIZACIÓN: En realidad, funciona en una VLAN pero no en otra, pero Angry IP Scanner funciona en ambas.

bsamek
fuente
0

También puede usarlo nmap -A xxx.xxx.xxx.xxx , debe mostrar los nombres de host en la salida. en mi red lo canalizo a través de grep para obtener solo la información que quiero. ~grep -e 'scan report' -e 'Computer name'

linuxfreak003
fuente