Diferencia entre NetBIOS y SMB

25

También estoy tratando de descubrir la relación entre netbios-ssn que normalmente se ejecuta en el puerto 139 y microsoft-ds que se ejecuta en el puerto 445.

Entiendo que anteriormente el Puerto 139 era más popular entre las máquinas más antiguas y NetBIOS que usa el protocolo SMB se usa para compartir archivos / impresoras, etc. En estos días es más probable que veamos microsoft-ds ejecutándose en el Puerto 445 junto con el Puerto 139 y el servicio netbios-ssn.

Mis preguntas son sin embargo.

  • ¿Son necesarios ambos servicios / proporcionan beneficios adicionales sobre la ejecución de un solo servicio? Según tengo entendido, los sistemas Linux no ejecutan el puerto 445, sino que usan Samba en el puerto 139. ¿Hay algo que pueda hacer en una máquina Windows con estos dos puertos que no puedo hacer en una máquina Linux?

  • Si cada servicio tiene su propio papel distinto, ¿qué información proporciona cada uno de ellos? ¿Qué información se puede obtener de microsoft-ds y qué se puede obtener con netbios-ssn?

  • ¿Estoy correcto en la relación entre SMB y NetBIOS? ¿O son en realidad dos protocolos separados solo relacionados por el hecho de que logran un objetivo similar? ¿Uno depende del otro?

Peleo
fuente
Agregué una respuesta que espero responda a sus preguntas, aunque todavía estoy trabajando para que la composición sea correcta.
Thor

Respuestas:

37

¡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.

Modelo OSI que muestra SMB y NetBIOS

Aquí hay una versión ligeramente modificada para ilustrar cómo puedes imaginar esto en un sistema basado en Windows.

Modelo OSI con un dibujo sorprendente que indica el salto de NetBIOS

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-ssny microsoft-dsproporciona?

* Mi suposición rápida es que si bien netbios-ssnsimplemente proporciona la API de NetBIOS, incluido NBT (NetBIOS sobre TCP / IP) a través del puerto 139. Por otro lado, microsoft-dsproporciona 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).

Thor
fuente
2
Aquí hay una publicación de blog que explica qué aplicaciones o servicios aún requieren NetBIOS: blogs.msmvps.com/acefekay/2013/03/02/do-i-need-netbios
CMCDragonkai