¡Intentemos pasar por esto como un viaje donde usted y yo nos paramos a aprender cómo funciona esto!
1. ¿Son necesarios ambos servicios? Si no, ¿hay algún beneficio sobre la ejecución de un solo servicio?
Dependiendo de su sistema operativo y entorno , ambos servicios no son necesarios .
SMB (bloque de mensajes del servidor)
Server Message Block , cuyo dialecto moderno se conoce como Common Internet File System , funciona como un protocolo de red de capa de aplicación utilizado principalmente para proporcionar acceso compartido a archivos, impresoras, puertos serie y comunicaciones misceláneas entre nodos en una red. ...
El protocolo de bloqueo de mensajes del servidor puede ejecutarse sobre las capas de red de sesión (y más bajas) de varias maneras:
- directamente sobre TCP, puerto 445
- a través de la API NetBIOS, que a su vez puede ejecutarse en varios transportes:
- en los puertos UDP 137, 138 y los puertos TCP 137, 139: consulte NetBIOS sobre TCP / IP
- en varios protocolos heredados como NBF (incorrectamente denominado NetBEUI).
Cita : artículo de WikiPedia sobre el bloque de mensajes del servidor
En Windows, SMB puede ejecutarse directamente sobre TCP / IP sin la necesidad de NetBIOS sobre TCP / IP . Esto usará, como usted señala, puerto 445
.
En términos generales, en otros sistemas, encontrará servicios y aplicaciones que utilizan el puerto 139
. Básicamente, esto significa que SMB se está ejecutando con NetBIOS sobre TCP / IP , donde, en cuanto a la pila, SMB está por encima de NetBIOS si se lo imagina con el modelo OSI.
Aquí hay una visualización de Richard Sharpe, de samba.org.
Aquí hay una versión ligeramente modificada para ilustrar cómo puedes imaginar esto en un sistema basado en Windows.
1.a Si ambos son necesarios, ¿hay algún beneficio?
El único "beneficio", no es realmente un beneficio, sino un requisito, es que con SMB sobre NBT (NetBIOS sobre TCP / IP), en realidad podrá comunicarse con una mayor cantidad de implementaciones de SMB .
2. ¿Qué información / servicio ofrece netbios-ssn
y microsoft-ds
proporciona?
* Mi suposición rápida es que si bien netbios-ssn
simplemente proporciona la API de NetBIOS, incluido NBT (NetBIOS sobre TCP / IP) a través del puerto 139
. Por otro lado, microsoft-ds
proporciona el alojamiento directo de SMB a través del puerto 445
. *
Con Windows 2000, Microsoft consideró que esto se puede mejorar. Agregaron el puerto 445 para el mismo servicio. En el puerto 445, SMB se ejecuta directamente sobre TCP. La única diferencia es que el cliente omite la sesión de NetBIOS (ahorra un viaje de ida y vuelta) y luego negocia, autentica, monta, etc.
Verifique las propiedades de su tarjeta de red. En algún lugar de la Configuración avanzada de IP hay una casilla de verificación "Habilitar NetBIOS sobre TCP". Actívelo y su computadora usa el puerto 139. Desactive la opción y el sistema quiere usar el 445.
...
- Puerto 139:
SMB -> NetBIOS -> TCP
- Puerto 445:
SMB -> .... -> TCP
Fuente : packethunter en Wireshark Q&A
3. ¿Cuál es la relación entre SMB y NetBIOS? ¿están separados? ¿Uno depende del otro?
SMB confía en NetBIOS para la comunicación con dispositivos que no admiten el alojamiento directo de SMB sobre TCP / IP .
NetBIOS es completamente independiente de SMB . Es una API que SMB y otras tecnologías pueden usar, por lo que NetBIOS no depende de SMB.
NetBIOS (sistema básico de red)
... Proporciona servicios relacionados con la capa de sesión del modelo OSI permitiendo que las aplicaciones en computadoras separadas se comuniquen a través de una red de área local . Como estrictamente una API, NetBIOS no es un protocolo de red. ...
... En las redes modernas, NetBIOS normalmente se ejecuta sobre TCP / IP a través del protocolo NetBIOS sobre TCP / IP (NBT) . Esto da como resultado que cada computadora en la red tenga una dirección IP y un nombre NetBIOS correspondiente a un nombre de host (posiblemente diferente). ...
Cita : artículo de WikiPedia sobre NetBIOS
Como puede ver, la relación sería Application -> SMB -> NetBIOS -> (TCP/IP, others)
.