NetBIOS sobre TCP/IP ( NBT , o a veces NetBT ) es un protocolo de red que permite que las aplicaciones informáticas antiguas que dependen de la API de NetBIOS se utilicen en redes TCP/IP modernas .
NetBIOS se desarrolló a principios de la década de 1980, dirigido a redes muy pequeñas (de aproximadamente una docena de ordenadores). Algunas aplicaciones aún utilizan NetBIOS y no se adaptan bien a las redes actuales de cientos de ordenadores cuando NetBIOS se ejecuta sobre el protocolo de tramas NetBIOS . Con una configuración adecuada, NetBIOS sobre TCP/IP permite que estas aplicaciones se ejecuten en grandes redes TCP/IP (incluida toda Internet , aunque esto probablemente conlleve problemas de seguridad) sin necesidad de modificaciones.
Servicios
NetBIOS ofrece tres servicios distintos:
- Servicio de nombres para registro y resolución de nombres (puertos: 137/udp y 137/tcp)
- Servicio de distribución de datagramas para comunicación sin conexión (puerto: 138/udp)
- Servicio de sesión para comunicación orientada a la conexión (puerto: 139/tcp)
NetBIOS sobre TCP/IP implementa todos esos servicios.
Servicio de nombres
En NetBIOS, cada participante debe registrarse en la red con un nombre único de un máximo de 15 caracteres. En las redes tradicionales, cuando una nueva aplicación quería registrar un nombre, debía enviar un mensaje preguntando "¿Alguien está usando ese nombre?" y esperar una respuesta. Si no se recibía respuesta, se podía asumir que el nombre no estaba en uso. Sin embargo, el tiempo de espera era de unos segundos, lo que convertía el registro de nombres en un proceso muy largo, ya que la única forma de saber que un nombre no estaba registrado era no recibir ninguna respuesta.
NetBIOS sobre TCP/IP puede implementar un repositorio central, o Servicio de Nombres , que registra todos los nombres. Una aplicación que desee registrar un nombre se pondría en contacto con el servidor de nombres (que tiene una dirección de red conocida) y preguntaría si el nombre ya está registrado, utilizando un paquete de "Consulta de Nombre". Esto es mucho más rápido, ya que el servidor de nombres devuelve una respuesta negativa inmediatamente si el nombre no se encuentra en la base de datos, lo que significa que está disponible. El Servicio de Nombres, según los RFC 1001 y 1002, se denomina Servicio de Nombres NetBIOS o NBNS. Microsoft WINS es una implementación de NBNS. Cabe mencionar que, debido al desarrollo constante de la forma en que el Servicio de Nombres gestiona los conflictos o las fusiones, los "nombres de grupo" varían entre proveedores e incluso pueden diferir según la versión, por ejemplo, con la introducción de un Service Pack.
Los formatos de paquetes del Servicio de Nombres son idénticos a los de DNS . Las principales diferencias radican en la adición de la consulta de estado del nodo de NetBIOS, el registro dinámico y los paquetes de marcado de conflictos. Estos se encapsulan en UDP . Las implementaciones posteriores incluyen una parte opcional de ámbito en el nombre, lo que hace que el nombre de NetBIOS sea jerárquico como DNS, pero esto se usa con poca frecuencia.
Además, para iniciar una sesión o enviar un datagrama a un host específico en lugar de difundirlo, NBT deberá determinar la dirección IP del host con un nombre NetBIOS determinado. Esto se logra mediante la difusión de un paquete de consulta de nombre y/o su envío al servidor de nombres NetBIOS. La respuesta contendrá la dirección IP del host con ese nombre.
NBNS es uno de los primeros servicios de registro de nombres distribuidos dinámicos entre pares. El protocolo NBNS cayó en desgracia por culpa de Microsoft: se ganó mala fama por ser demasiado "hablador", saturando las redes con tráfico de registro dinámico en múltiples protocolos (IPX/SPX, NBF y TCP/IP) debido a la mala configuración de las máquinas y las redes . Los principios implementados en NBNS se han reimplementado en numerosas ocasiones, incluso en sistemas como zeroconf y MobileIP .
Servicio de distribución de datagramas
El modo de datagramas es "sin conexión"; los datagramas NetBIOS se envían a través de UDP. Un datagrama se envía con un paquete "Direct Unique" o "Direct Group" si se envía a un nombre NetBIOS específico, o con un paquete "Broadcast" si se envía a todos los nombres NetBIOS de la red.
Servicio de sesiones
El modo de sesión permite que dos ordenadores establezcan una conexión para una "conversación", permite gestionar mensajes más extensos y proporciona detección y recuperación de errores.
Las sesiones se establecen mediante el intercambio de paquetes. El equipo que inicia la sesión intenta establecer una conexión TCP con el puerto 139 del equipo receptor. Si la conexión se establece, el equipo receptor envía un paquete de "Solicitud de sesión" con los nombres NetBIOS de la aplicación que inicia la sesión y el nombre NetBIOS del equipo receptor. El equipo receptor responderá con una "Respuesta de sesión positiva" que indica que se puede establecer una sesión, o con una "Respuesta de sesión negativa" que indica que no se puede establecer (ya sea porque el equipo receptor no está escuchando las sesiones que se están estableciendo con ese nombre o porque no hay recursos disponibles para establecer una sesión con ese nombre).
Los datos se transmiten durante una sesión establecida mediante paquetes de mensajes de sesión.
TCP gestiona el control de flujo y la retransmisión de todos los paquetes de servicio de sesión, así como la división del flujo de datos a través del cual se transmiten los paquetes en datagramas IP lo suficientemente pequeños como para caber en los paquetes de la capa de enlace.
Las sesiones se cierran al cerrar la conexión TCP.
Vulnerabilidades de seguridad
NBT expone información e interfaces que suelen ser apropiadas para una LAN bajo el control administrativo de una organización, pero que no lo son para una red menos confiable como Internet . Por ejemplo, el Servicio de Nombres NetBIOS (NBNS), que se ejecuta sobre el puerto 137 UDP o TCP, permite que cualquier computadora registre su nombre de host con otras computadoras. Un atacante podría contactar a cualquier host y afirmar que se trata de un servicio específico con el que el host se comunica regularmente, como un servidor de archivos. Esto podría resultar en un ataque de intermediario contra los hosts que escuchan y, en última instancia, en la vulneración de las credenciales que estos hosts utilizan para acceder a los servicios de red a través de NBT. Herramientas como NBNSpoof pueden utilizarse para realizar este ataque. [ 1 ] [ 2 ]
La exposición de NBT a Internet también revela, en la práctica, que el host que responde en los puertos NBT ejecuta Windows. Esto puede utilizarse para identificar mejor las actividades maliciosas específicas de un sistema operativo.
Relevancia decreciente en las redes cliente-servidor posteriores a NT
En relación con las redes cliente-servidor posteriores a MS Windows 2000 /NT, NetBIOS se está convirtiendo en un protocolo obsoleto. NetBIOS también se desarrolló para LAN no enrutables. En la mayoría de las redes posteriores al año 2000 que operan con Windows 2000 o posterior, NetBIOS ofrece retrocompatibilidad para dispositivos de red anteriores a la compatibilidad con DNS . Una función central de NetBIOS en las redes cliente-servidor (y también en aquellas redes con hardware periférico en red anterior a la compatibilidad con DNS) es proporcionar resolución de nombres a equipos y periféricos en red. Además, permite acceder y compartir dicho hardware en red, así como mapear y explorar carpetas de red, recursos compartidos, impresoras compartidas, faxes, etc. En su función principal, actúa como un protocolo de capa de sesión transportado sobre TCP/IP para proporcionar resolución de nombres a un equipo y carpetas compartidas. Por lo tanto, las redes cliente-servidor basadas en Windows 2000 (y posteriores) no requieren este método inseguro de resolución de nombres, direccionamiento o navegación de recursos compartidos de red. [ 3 ]
Solución de problemas de NetBIOS
nbtstat
El nbtstatcomando es una herramienta de diagnóstico para NetBIOS sobre TCP/IP. Su diseño principal es ayudar a solucionar problemas de resolución de nombres de NetBIOS. [ 4 ] El comando está incluido en varias versiones de Microsoft Windows . Hay varios comandos involucrados nbtstatque permiten varias opciones tales como: búsqueda en caché local, consulta al servidor WINS , difusión, búsqueda en LMHOSTS y búsqueda en Hosts . No es para consultas al servidor DNS. [ 5 ]
Cuando una red funciona normalmente, NetBIOS sobre TCP/IP (NetBT) resuelve los nombres NetBIOS a direcciones IP. Lo hace a través de varias opciones para la resolución de nombres NetBIOS, incluyendo la búsqueda en caché local, la consulta al servidor WINS, la difusión, la búsqueda en LMHOSTS, la búsqueda en Hosts y la consulta al servidor DNS. El comando elimina y corrige las entradas precargadas usando una serie de modificadores que distinguen entre mayúsculas y minúsculas. El nbtstat -a < name >comando ejecuta un comando de estado del adaptador NetBIOS en el nombre de equipo especificado por < name >. El comando de estado del adaptador devuelve la tabla de nombres NetBIOS local para ese equipo, así como la dirección MAC de la tarjeta adaptadora. El nbtstat -A < IP address >comando realiza la misma función usando una dirección IP de destino en lugar de un nombre.
Sintaxis
nbtstat [-a NombreRemoto] [-A DirecciónIP] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Intervalo]
Los parámetros comunes son: [ 5 ]
- nbtstat -c : muestra el contenido de la caché de nombres NetBIOS, la tabla de nombres NetBIOS y sus direcciones IP resueltas.
- nbtstat -n : muestra los nombres que se han registrado localmente en el sistema.
- nbtstat -r : muestra el recuento de todos los nombres NetBIOS resueltos mediante difusión y consulta a un servidor WINS.
- nbtstat -R : purga y vuelve a cargar la tabla de nombres de caché remota.
- nbtstat -RR : envía paquetes de liberación de nombre a WINs y luego inicia la actualización.
- nbtstat -s : muestra las sesiones NetBIOS actuales y su estado, incluyendo estadísticas.
- nbtstat -S : lista la tabla de sesiones con las direcciones IP de destino.
Véase también
Referencias
- ↑ mubix (01/09/2012). "Suplantación de identidad NBNS a la antigua usanza" . evilly.link . Consultado el 02/02/2022 .
- ↑ Lladro, David (2021-07-02), NBNSpoof - NetBIOS Name Service Spoofer , consultado el 2022-02-02
- ↑ "NetBIOS sobre TCP/IP" . Documentación de Microsoft . 18 de julio de 2012.
- ↑ "Nbtstat" . Microsoft Docs . 18 de julio de 2012.
- 1 2 "nbtstat" . Documentación del producto Windows XP Professional . Archivado del original el 21/07/2016 . Recuperado el 13/04/2016 .
Enlaces externos
- KB204279 - Artículo de la base de conocimientos que describe el alojamiento directo y más moderno de SMB.
- nbtscan : programa de código abierto para escanear redes IP en busca de información de nombres NetBIOS.
- Comandos de Windows
- protocolos de red
- Solicitud de comentarios