NetBIOS sobre TCP / IP ( NBT o, a veces, NetBT ) es un protocolo de red que permite que las aplicaciones informáticas heredadas que se basan en la API NetBIOS se utilicen en las redes TCP / IP modernas .
NetBIOS se desarrolló a principios de la década de 1980 y se dirigió a redes muy pequeñas (alrededor de una docena de computadoras). Algunas aplicaciones todavía usan NetBIOS y no se escalan bien en las redes actuales de cientos de computadoras cuando NetBIOS se ejecuta sobre NBF . Cuando se configura correctamente, NBT permite que esas aplicaciones se ejecuten en grandes redes TCP / IP (incluida toda Internet , aunque es probable que esté sujeto a problemas de seguridad) sin cambios.
NBT está definido por los documentos estándar RFC 1001 y RFC 1002.
Servicios
NetBIOS proporciona tres servicios distintos:
- Servicio de nombres para el registro y la 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)
NBT implementa todos esos servicios.
Servicio de nombres
En NetBIOS, cada participante debe registrarse en la red con un nombre único de al menos 15 caracteres. En las redes heredadas, cuando una nueva aplicación quería registrar un nombre, tenía que transmitir un mensaje que decía "¿Alguien está usando ese nombre actualmente?" y espera una respuesta. Si no recibía ninguna respuesta, era seguro asumir que el nombre no estaba en uso. Sin embargo, el tiempo de espera fue de unos segundos, lo que hizo que el registro del nombre fuera un proceso muy largo, ya que la única forma de saber que un nombre no estaba registrado era no recibir ninguna respuesta.
NBT puede implementar un repositorio central, o servicio de nombres , que registra todos los registros de nombres. Por lo tanto, una aplicación que desee registrar un nombre se pondrá en contacto con el servidor de nombres (que tiene una dirección de red conocida) y preguntará 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 aún no está en la base de datos, lo que significa que está disponible. El Servicio de nombres, de acuerdo con las RFC 1001 y 1002, se denomina Servicio de nombres NetBIOS o NBNS. Microsoft WINS es una implementación de NBNS. Vale la pena decir que debido al constante desarrollo de la forma en que el servicio de nombres maneja conflictos o fusiones, los "nombres de grupo" varían de un proveedor a otro e incluso pueden ser diferentes según la versión, por ejemplo, con la introducción de un paquete de servicios.
Los formatos de paquete del servicio de nombres son idénticos a los de DNS . Las diferencias clave son la adición de la consulta NetBIOS "Estado del nodo", el registro dinámico y los paquetes de marcado de conflictos. Están encapsulados en UDP . La implementación posterior incluye una parte opcional de Scope del nombre, lo que hace que el nombre NetBIOS sea jerárquico como DNS, pero esto rara vez se usa.
Además, para iniciar una sesión o enviar un datagrama a un host en particular en lugar de difundir el datagrama, NBT tendrá que determinar la dirección IP del host con un nombre NetBIOS determinado; esto se hace difundiendo un paquete de "Consulta de nombre" y / o enviándolo al servidor de nombres NetBIOS. La respuesta tendrá la dirección IP del host con ese nombre.
NBNS es uno de los primeros servicios de registro de nombres distribuidos dinámicos de igual a igual. El protocolo NBNS fue desacreditado por Microsoft: se ganó un mal nombre por ser 'hablador', inundando redes con tráfico de registro dinámico en múltiples protocolos (IPX / SPX, NBF y TCP / IP) ya que la gente configuraba mal sus máquinas y sus redes. [ cita requerida ] . Los principios implementados en NBNS se han vuelto a implementar muchas veces, incluso en sistemas como ZeroConf y MobileIP .
Servicio de distribución de datagramas
El modo de datagrama 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 en particular, o un paquete "Broadcast" si se envía a todos los nombres NetBIOS en la red.
Servicio de sesión
El modo de sesión permite que dos computadoras establezcan una conexión para una "conversación", permite manejar mensajes más grandes y proporciona detección y recuperación de errores.
Las sesiones se establecen mediante el intercambio de paquetes. El ordenador que establece la sesión intenta realizar una conexión TCP al puerto 139 del ordenador con el que se va a establecer la sesión. Si se establece la conexión, la computadora que establece la sesión envía a través de la conexión un paquete de "Solicitud de sesión" con los nombres NetBIOS de la aplicación que establece la sesión y el nombre NetBIOS a la que se va a establecer la sesión. La computadora con la que se va a establecer la sesión responderá con una "Respuesta de sesión positiva" que indica que se puede establecer una sesión o una "Respuesta de sesión negativa" que indica que no se puede establecer ninguna sesión (ya sea porque esa computadora no está escuchando sesiones establecidas 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 maneja el control de flujo y la retransmisión de todos los paquetes de servicio de sesión, y la división del flujo de datos sobre el cual se transmiten los paquetes en datagramas IP lo suficientemente pequeños como para caber en paquetes de capa de enlace.
Las sesiones se cierran cerrando la conexión TCP.
Vulnerabilidades de seguridad
Los servidores web suelen ser, pero no exclusivamente, el primer punto de impacto de los vectores de ataque basados en Internet. Los puertos de la red de área local (LAN), por diseño, anuncian información y, en consecuencia, a menudo se convierten en el foco de la mayoría de los ataques a las redes Cliente-Servidor. Muchos servicios que son vulnerables a tales medios de ataque pueden, dependiendo del impacto organizacional en los flujos de trabajo, deshabilitarse de manera segura. Esto es particularmente cierto en el caso de los servicios de red que están intrínsecamente centrados en la intranet.
Dos de estos protocolos de red vulnerables que brindan servicios son: el protocolo Server Message Block (SMB) y NetBIOS sobre TCP / IP. Ambos servicios pueden revelar cantidades increíbles de información de seguridad vital y detallada sobre una red expuesta. Cuando no se mitiga, NetBIOS sobre TCP / IP y SMB proporcionan vectores recurrentes para ataques maliciosos a una red. Específicamente, NetBIOS proporciona a los atacantes un medio para mapear la red y también navegar libremente por una intranet comprometida. En lo que respecta a los servidores web públicos, ninguno de los servicios es necesario para el funcionamiento exitoso de un servidor web público y la desactivación de ambos servicios en tales escenarios puede mejorar en gran medida el estado de seguridad de una red.
Relevancia decreciente en redes cliente-servidor posteriores a NT
En relación con las redes cliente-servidor posteriores a MS Windows 2000 / NT, NetBIOS se está convirtiendo efectivamente en un protocolo heredado. 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 efectivamente compatibilidad con versiones anteriores para dispositivos de red que son anteriores a la compatibilidad con DNS . Una función central de NetBIOS en las redes Cliente-Servidor (y también en aquellas redes que tienen hardware periférico en red que también es anterior a la compatibilidad con DNS) es proporcionar resolución de nombres a computadoras y periféricos en red. Además, permite acceder y compartir dicho hardware en red y también permite el mapeo y la exploración de carpetas de red, recursos compartidos e impresoras compartidas, faxes, etc. En su capacidad principal, actúa como un protocolo de capa de sesión transportado a través de TCP / IP para proporcionar resolución de nombres a una computadora y carpetas compartidas. Con ese fin, las redes cliente-servidor basadas en Windows 2000, y posteriores, no requieren este medio inseguro de resolución de nombres y direccionamiento o navegación de recursos compartidos de red. [1]
Solución de problemas de NetBIOS
nbtstat
Desarrollador (es) | Microsoft |
---|---|
Sistema operativo | Microsoft Windows |
Tipo | Mando |
Licencia | Software comercial patentado |
Sitio web | nbtstat |
El nbtstat
comando 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 NetBIOS. [2] El comando se incluye en varias versiones de Microsoft Windows . Hay varios comandos involucrados nbtstat
que permiten varias opciones como: búsqueda de caché local, consulta de servidor WINS , difusión, búsqueda de LMHOSTS y búsqueda de hosts . No es para consultas del servidor DNS. [3]
Cuando una red funciona con normalidad, NetBIOS sobre TCP / IP (NetBT) resuelve los nombres NetBIOS en direcciones IP. Lo hace a través de varias opciones para la resolución de nombres NetBIOS, incluida la búsqueda de caché local, la consulta del servidor WINS, la difusión, la búsqueda de LMHOSTS, la búsqueda de hosts y la consulta del servidor DNS. El comando elimina y corrige las entradas precargadas mediante varios conmutadores que distinguen entre mayúsculas y minúsculas. El nbtstat - a < name >
comando ejecuta un comando de estado del adaptador NetBIOS en el nombre del equipo especificado por < name >
. El comando de estado del adaptador devuelve la tabla de nombres NetBIOS local para esa computadora, así como la dirección MAC de la tarjeta adaptadora. El nbtstat -A < IP address >
comando realiza la misma función utilizando una dirección IP de destino en lugar de un nombre.
Sintaxis
nbtstat [-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Intervalo]
Los parámetros comunes son: [4]
- 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 recarga la tabla de nombres de caché remota.
- nbtstat -RR : envía paquetes de liberación de nombre a los WIN y luego inicia Refresh.
- nbtstat -s : enumera las sesiones NetBIOS actuales y su estado, incluidas las estadísticas.
- nbtstat -S : lista la tabla de sesiones con las direcciones IP de destino.
Ver también
Referencias
- ^ https://technet.microsoft.com/en-us/library/cc940063.aspx
- ^ Documentación de Microsoft TechNet
- ^ "Microsoft Corporation" . www.microsoft.com . Consultado el 13 de abril de 2016 .
- ^ Documentación de Microsoft Nbtstat
enlaces externos
- KB204279 : artículo de KB que describe el alojamiento directo más moderno de SMB
- nbtscan : programa de código abierto para escanear redes IP en busca de información de nombres NetBIOS