Proviamo a fare tutto questo come un viaggio in cui sia io che io stiamo per imparare come funziona!
1. Sono necessari entrambi i servizi? In caso contrario, ci sono dei vantaggi rispetto all'esecuzione di un singolo servizio?
A seconda del sistema operativo e dell'ambiente , entrambi i servizi non sono necessari .
SMB (Server Message Block)
Server Message Block , il cui dialetto moderno è noto come Common Internet File System , funziona come un protocollo di rete a livello di applicazione utilizzato principalmente per fornire accesso condiviso a file, stampanti, porte seriali e comunicazioni varie tra nodi in una rete. ...
Il protocollo Server Message Block può essere eseguito sopra i livelli di rete Session (e inferiore) in diversi modi:
- direttamente su TCP, porta 445
- tramite l'API NetBIOS, che a sua volta può essere eseguita su diversi trasporti:
- sulle porte UDP 137, 138 e TCP 137, 139 - vedere NetBIOS su TCP / IP
- su diversi protocolli legacy come NBF (erroneamente denominato NetBEUI).
Citazione : articolo di WikiPedia su Server Message Block
Su Windows, SMB può essere eseguito direttamente su TCP / IP senza la necessità di NetBIOS su TCP / IP . Questo, come sottolineato, utilizzerà la porta 445
.
In generale, su altri sistemi, troverai servizi e applicazioni che usano la porta 139
. Questo, fondamentalmente, significa che SMB è in esecuzione con NetBIOS su TCP / IP , dove, per quanto riguarda lo stack, SMB è in cima a NetBIOS se si deve immaginarlo con il modello OSI.
Ecco una visualizzazione di Richard Sharpe, di samba.org.
Ecco una versione leggermente ottimizzata per illustrare come puoi immaginarlo su un sistema basato su Windows.
1.a Se sono entrambi necessari, ci sono dei vantaggi?
L'unico "vantaggio" - non è in realtà un vantaggio, quanto un requisito - è che con SMB su NBT (NetBIOS su TCP / IP), sarai effettivamente in grado di comunicare con una maggiore quantità di implementazioni di SMB .
2. Quali informazioni / servizi forniscono netbios-ssn
e microsoft-ds
forniscono?
* La mia ipotesi è che mentre netbios-ssn
fornisce semplicemente l'API NetBIOS, incluso NBT (NetBIOS su TCP / IP) via porta 139
. D'altra parte, microsoft-ds
fornisce l' hosting diretto di SMB tramite porta 445
. *
Con Windows 2000 Microsoft ha ritenuto che ciò potesse essere migliorato. Hanno aggiunto la porta 445 per lo stesso servizio. Sulla porta 445 SMB funziona direttamente su TCP. L'unica differenza è che il client salta la sessione NetBIOS (salva un round trip) quindi negozia, autentica, monta ecc.
Controlla le proprietà della tua scheda di rete. Da qualche parte nelle Impostazioni IP avanzate è presente la casella di controllo "Abilita NetBIOS su TCP". Attivalo e il tuo computer utilizza la porta 139. Disattiva l'opzione e il sistema vuole utilizzare 445.
...
- Porta 139:
SMB -> NetBIOS -> TCP
- Porta 445:
SMB -> .... -> TCP
Fonte : packethunter presso Wireshark Q&A
3. Qual è la relazione tra SMB e NetBIOS; sono separati, uno si affida all'altro?
SMB si affida a NetBIOS per la comunicazione con dispositivi che non supportano l'hosting diretto di SMB su TCP / IP .
NetBIOS è completamente indipendente da SMB . È un'API che può essere utilizzata da SMB e altre tecnologie, quindi NetBIOS non ha alcuna dipendenza da SMB.
NetBIOS (Network Basic System)
... Fornisce servizi relativi al livello di sessione del modello OSI che consente alle applicazioni su computer separati di comunicare su una rete locale . Essendo rigorosamente un'API, NetBIOS non è un protocollo di rete. ...
... Nelle reti moderne, NetBIOS funziona normalmente su TCP / IP tramite il protocollo NetBIOS su TCP / IP (NBT) . Ciò comporta che ciascun computer nella rete abbia sia un indirizzo IP sia un nome NetBIOS corrispondenti a un nome host (possibilmente diverso). ...
Citazione : articolo di WikiPedia su NetBIOS
Come puoi vedere, la relazione sarebbe Application -> SMB -> NetBIOS -> (TCP/IP, others)
.