NetBIOS su TCP: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: '''NetBIOS su TCP/IP''' ('''NBT''', o a volte '''NetBT''') è un protocollo di rete che permette alle applicazioni che si ba...
 
KSavys (discussione | contributi)
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(21 versioni intermedie di 17 utenti non mostrate)
Riga 1:
{{W|informatica|agosto 2024}}
'''NetBIOS su TCP/IP''' ('''NBT''', o a volte '''NetBT''') è un [[Protocolli di rete|protocollo]] [[Reti di Computer|di rete]] che permette alle applicazioni che si basano su chiamate [[Application programming interface|API]] al [[NetBIOS]] di poter essere utilizzate su reti [[TCP/IP]].
 
Il NetBIOS wasè developedstato insviluppato thenegli earlyanni 1980s1980, targetingper gestire le comunicazioni su veryreti smallmolto networkspiccole (aboutdi acirca dozenuna computersdozzina di computer). SomeAlcune applicazioni applicationsutilizzano stillancora useil NetBIOS, ande donon notsono ben [[scalabilityscalabilità|scalescalabili]] wellnelle inreti today'sdi networksoggi, ofcon hundredscentinaia ofdi computerscomputer, whenspecialmente NetBIOSquando sono utilizzati ispacchetti rundi overrete [[NetBIOS Frames protocol|NBF]]. WhenQuando properlyopportunamente configuredconfigurato, l'NBT allowspermette thosealle applicationsapplicazioni todi beessere runattive onsu largevaste reti TCP/IP networks (includingall'interno the wholedell'intera [[Internet]],) althoughsenza thatdover isapportare likelymodifiche toal besoftware, subjectbenché tosia securitysoggetto problems)verosimilmente a problemi withoutdi changesicurezza.
 
L'NBT è definito dai documenti standard [[Request for Comments|RFC]] 1001 e 1002.
NBT is defined by the RFC 1001 and RFC 1002 standard documents.
 
== ServicesServizi ==
Il NetBIOS providesfornisce threetre distinctdiversi servicesservizi:
* Servizio dei Nomi (Name service) per la registrazione e la forrisoluzione namedei registrationnomi anddelle resolutionrisorse (portsporte: 137/udp ande 137/tcp)
* Servizio di distribuzione dei [[Datagrammi]] per la comunicazione senza connessione (connectionless) (porta: 138/udp)
* [[Datagram]] distribution service for connectionless communication (port: 138/udp)
* SessionServizio servicedi forsessione per la comunicazione orientata alla comunicazione (connection-oriented communication) (portporta: 139/tcp)
 
Il NBT implementa tutti i seguenti servizi.
NBT implements all of those services.
 
===NameServizio servicedei Nomi===<!-- This section is linked from [[Name server]] -->
Nel NetBIOS, ogni partecipante deve registrarsi sulla rete utilizzando un nome unico di massimo 15 caratteri.<ref name=":0" /> Nelle vecchie reti ereditate (legacy networks), quando una nuova applicazione voleva registrare un suo nome, doveva trasmettere un messaggio in broadcast che diceva "C'è qualcuno attualmente che sta utilizzando quel nome?" ed attendere una eventuale risposta. Se non riceveva alcuna risposta di ritorno allora era sicura che quel nome non era in uso. Comunque, il tempo di attesa era di alcuni secondi, rendendo la registrazione del nome un processo molto lungo, l'unico modo per sapere se un nome era registrato era quello di non ricevere alcuna risposta.
In NetBIOS, each participant must register on the network using a unique name of at most 15 characters. In legacy networks, when a new application wanted to register a name, it had to broadcast a message saying "Is anyone currently using that name?" and wait for an answer. If no answer came back, it was safe to assume that the name was not in use. However, the wait timeout was a few seconds, making the name registration a very lengthy process, as the only way of knowing that a name was not registered was to not receive any answer.
 
L'NBT può implementare un repositori centrale, o "Servizio dei Nomi (''Name Service''), che memorizza tutte le registrazioni dei nomi. Un'applicazione che vuole registrare un nome dovrebbe quindi contattare il server dei nomi (che ha un indirizzo di rete conosciuto) e chiedere se il nome è già registrato, inviando un pacchetto "Name Query".
NBT can implement a central repository, or ''Name Service'', that records all name registrations. An application wanting to register a name would therefore contact the name server (which has a known network address) and ask whether the name is already registered, using a "Name Query" packet. This is much faster, as the name server returns a negative response immediately if the name is not already in the database, meaning it is available. The Name Service, according to RFCs 1001 and 1002, is called'' NetBIOS Naming Service'' or NBNS. Microsoft [[Windows Internet Name Service|WINS]] is an implementation of NBNS. It is worth saying that due to constant development of the way in which the Name Service handles conflict or merges, "group names" varies from vendor to vendor and can even be different by version e.g. with the introduction of a service pack.
Questo metodo è molto veloce, poiché il server dei nomi risponde immediatamente in modo negativo se il nome non è già presente nel database, il che significa che è disponibile. Il servizio dei nomi, secondo le specifiche RFCs 1001 e 1002, è chiamato ''NetBIOS Naming Service'' o NBNS. Microsoft [[Windows Internet Name Service|WINS]] è un'implementazione del NBNS. Va ricordato che a causa del costante sviluppo nel modo in cui il servizio dei nomi gestisce i conflitti, i nomi di gruppo ("Group Names") variano da produttore a produttore e possono essere differenti in base alla versione, ad esempio per l'introduzione di un service pack.
 
TheI packetformati formatsdi ofpacchetto thedel Name Service aresono identicalidentici toal [[Domain Name System|DNS]]. TheLe keydifferenze differencessostanziali aresono thenell'aggiunta additiondella ofquery NetBIOS "Node Status" query, dynamice registrationi andpacchetti conflictdi markingregistrazione packetsdinamica e segnalazione di conflitto. TheyQuesti aresono encapsulatedincapsulati innel [[User Datagram Protocol|UDP]]. LaterIn implementationseguito includesl'implementazione anha incluso una parte opzionale del nome, optionaldetta ''Scope'', partrendendo of the name,il makingnome NetBIOS namegerarchico hierarchicalcome likeil DNS, but thisma isè seldomusato usedraramente.
 
Inoltre, per iniziare una sessione o per inviare un datagramma ad un particolare host anziché diffondere il datagramma in broadcast, NBT dovrà determinare l'[[Indirizzo IP]] dell'host per un dato nome NetBIOS; questo si ottiene diffondendo in broadcast un pacchetto "Name Query", e/o inviandolo ad un server dei Nomi NetBIOS. La risposta sarà l'[[Indirizzo IP]] dell'host risulta registrato sul server con quel nome.
In addition, to start a session or to send a datagram to a particular host rather than to broadcast the datagram, NBT will have to determine the [[IP address]] of the host with a given NetBIOS name; this is done by broadcasting a "Name Query" packet, and/or sending it to the NetBIOS name server. The response will have the IP address of the host with that name.
 
È interessante notare che il NBNS è uno dei primi servizi distribuiti e dinamici e propriamente [[peer-to-peer]] per la registrazione dei nomi. Il protocollo NBNS è stato criticato a seguito di una errata preconfigurazione dello stesso da parte di Microsoft nei primi sistemi operativi:
It is interesting to note that NBNS is one of the first proper dynamic peer-to-peer distributed name registration services. The NBNS protocol was brought into disrepute by Microsoft: it earned a bad name for being 'chatty', swamping networks with dynamic registration traffic on multiple protocols (IPX/SPX, NBF and TCP/IP) as people badly misconfigured their machines and their networks{{Citation needed|date=January 2013}}. The principles implemented in NBNS have been reimplemented many times, including in such systems as [[ZeroConf]] and [[MobileIP]].
così il protocollo si è guadagnato la cattiva fama di essere troppo presente (chiacchierone,'chatty') creando con molto traffico nelle reti dovuto alla continua registrazione dinamica dei nomi in diversi protocolli contemporaneamente (IPX/SPX, NBF and TCP/IP), invece il problema era imputabile al fatto che gli utenti lasciavano in una configurazione sbagliata (predefinita da Microsoft) le proprie macchine collegate in rete, creando così dei problemi alle proprie reti{{Citazione necessaria}}.
I principi implementati nel NBNS sono stati reimplementati più volte, anche in sistemi come [[ZeroConf]] and [[MobileIP]].
 
===Servizio di distribuzione Datagrammi===
===Datagram distribution service===
DatagramLa modemodalità isDatagramma è non orientata alla connessione ("connectionless"); NetBIOSi datagramsdatagrammi areNetBIOS sono sentinviati overin UDP. AUn datagramdatagramma isviene sentinviato withcon apacchetto "Direct Unique" oro "Direct Group" packetse ifè it'sstato beinginviato sentad toun aparticolare particularnome NetBIOS name, oroppure acon pacchetto "Broadcast" packetse ifè it'sstato beinginviato senta totutti alli NetBIOSnomi names onNetBIOS thedella networkrete.
 
===SessionServizio servicedi Sessione===
La modalità di Sessione consente a due computer di stabilire una connessione per una "conversazione", permette di gestire messaggi più grandi, e fornisce una gestione degli errori per garantire l'integrità dei messaggi.
Session mode lets two computers establish a connection for a "conversation", allows larger messages to be handled, and provides error detection and recovery.
 
SessionsLe aresessioni establishedvengono bystabilite exchangingcon packetslo scambio di pacchetti. TheIl computer establishingche theinizia sessionla attemptssessione totenta makedi acreare una connessione [[Transmission Control Protocol|TCP]] connectionsulla to portporta 139 on thedel computer with whichcon theil sessionquale isintende tostabilire bela establishedsessione. IfSe thela connectionconnessione isviene madecreata con successo, theil computer establishingche theha sessioniniziato thenla sendssessione overinvia thesulla connectionconnessione aun pacchetto "Session Request" packetcon withi thenomi NetBIOS namesdell'applicazione ofche thesta applicationiniziando establishingla thesessione sessioned andil thenome NetBIOS namedel tocomputer con whichil thequale sessiondeve isessere tostabilita bela establishedsessione. TheIl computer withcon whichil thequale sessionla issessione todeve beessere establishedstabilita willrisponderà respondcon with aun "Positive Session Response", indicatingche thatindica apuò sessionessere canstabilita bela establishedsessione, oraltrimenti acon un "Negative Session Response" indicatingche indica che thatla nosessione sessionnon canpuò beessere establishedstabilita (eitheroppure becausepoiché thatil computer isn'tnon listeningsi foraspettava sessionssessioni beinga establishedquel tonome, thato namepoiché ornon becausec'erano norisorse resourcesdisponibili areper availablestabilire to establish auna sessionsessione tocon thatquel namenome).
 
Stabilita una sessione i dati sono trasmessi in pacchetti "Session Message". Il TCP gestisce il controllo di flusso e ritrasmissione di tutti i pacchetti di servizio di sessione, e la divisione del flusso dei dati sul quale sono trasmessi i pacchetti in datagrammi [[Internet Protocol|IP]] abbastanza piccoli da adattarsi alla grandezza dei pacchetti del Link-Layer.
Data is transmitted during an established session by Session Message packets.
 
Le sessioni vengono chiuse con la chiusura della connessione TCP
TCP handles flow control and retransmission of all session service packets, and the dividing of the data stream over which the packets are transmitted into [[Internet Protocol|IP]] datagrams small enough to fit in link-layer packets.
 
==Vulnerabilità nella Sicurezza==
Sessions are closed by closing the TCP connection.
I [[Server web|server Web]] sono tipicamente, ma non esclusivamente, il primo punto d'impatto dei vettori d'attacco tramite internet. Le porte di rete (LAN) [[Local area network]], progettualmente, danno informazione e spesso diventano conseguentemente obbiettivo della maggior parte degli attacchi su reti Client-Server.
 
Molti servizi che sono vulnerabili a questi tipi di attacco, possono essere disabilitati senza problemi, in funzione dell'impatto organizzativo sui workflow. Questo è maggiormente vero nel caso di servizi di rete incentrati per natura in reti Intranet.
==Security vulnerabilities==
Web servers are typically - but not exclusively - the first point of impact for internet-based attack vectors. [[Local area network]] (LAN) ports, by design, advertise information and consequently often become the focus of the most attacks upon Client-Server networks. Many services that are vulnerable to such means of attack, can - dependent on organizational impact to work-flows - safely be disabled. This is particularly true of network services that are inherently intranet-centric.
 
TwoTra suchi vulnerableprotocolli networkdi protocolsrete thatsono provideche servicessi aredimostrano particolarmente vulnerabili nel fornire questi servizi ci sono: theil protocollo [[Server Message Block]] (SMB) protocoled andil NetBIOS over TCP/IP. BothEntrambi servicesi canservizi revealpossono incrediblerivelare amountsquantità ofdi detailedinformazioni anddettagliate e vitali in termini vitaldi securitysicurezza informational aboutriguardo andelle exposedreti networkesposte. WhenQuando notnon mitigatedconfinati, i protocolli NetBIOS over TCP/IP and SMB provideforniscono recurringvettori vectorsricorrenti forper maliciousattacchi attacksmalevoli uponsulla a networkrete. SpecificallySpecificamente, il NetBIOS providesfornisce attackersai withmalintenzionati ai meansmezzi toper mapmappare thela networkrete and also freelye navigatespostarsi aliberamente compromisednella intranet compromessa. InPer regardsquanto toriguarda publici server Web Serverspubblici, neithernessun servicedi isquesti necessaryservizi forNBT thee successfulSMB, operationsono ofnecessari aal publiccorretto Webfunzionamento di un server andweb disablingpubblico bothe servicesla disabilitazione di entrambi in suchquesti scenari può scenariosmigliorare candi greatlymolto enhanceil thelivello securitydi statussicurezza ofdi auna networkrete.
 
==DecreasingDiminuzione relevancedell'importanza innelle post-NTreti Client-Server Networkspost-NT==
In relazione alle reti di tipo client-server su sistemi successivi a MS-[[Windows 2000]]/NT, il NetBIOS sta effettivamente diventando un protocollo obsoleto. Il NetBIOS era inoltre sviluppato per reti LAN non instradabili. Nella maggioranza delle reti create dopo l'anno 2000 con sistemi Windows 2000 o successivi, il NetBIOS effettivamente offre una retro-compatibilità con dispositivi di rete che hanno una compatibilità precedente al [[Domain name system|DNS]]. Il ruolo centrale del NetBIOS nelle reti Client-Server (ed anche in quelle reti in cui sono collegate tra loro periferiche hardware che precedono l'introduzione della compatibilità DNS) è quello di fornire la risoluzione dei nomi per i computer e per le periferiche di rete. Inoltre, permette all'hardware di rete di poter essere acceduto e condiviso, e rende possibile la mappatura e la navigazione delle cartelle di rete, delle condivisioni e delle stampanti condivise, dei fax, ecc. Nella sua capacità primaria, agisce come un protocollo dello strato sessione spostato sopra il TCP/IP per fornire la risoluzione dei nomi ai computer ed alle cartelle condivise. In finale, le reti Client-Server basate su Windows 2000, e successive, non hanno bisogno di questi mezzi poco sicuri per la risoluzione dei nomi e l'indirizzamento o l'accesso alle cartelle condivise in rete.<ref name=":0">{{Cita web|url=https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc940063(v=technet.10)|titolo=NetBIOS Over TCP/IP|sito=Microsoft Learn|editore=[[Microsoft]]|data=2012-07-18|lingua=en-us|accesso=2024-03-27}}</ref>
In relation to post-MS Windows 2000 / NT, client-server based networks, NetBIOS is effectively becoming a legacy protocol. NetBIOS was also developed for non-routable LANs. In most post year 2000 networks operating Windows 2000 or later, NetBIOS effectively offers backwards compatibility for network devices that predate compatibility with [[Domain name system|DNS]]. A central role of NetBIOS in Client-Server networks (and also those networks that have networked peripheral hardware that also predates DNS compatibility) is to provide name resolution to computers and networked peripherals. Further, it allows for such networked hardware to be accessed and shared and also enables the mapping and browsing of network folders, shares and shared printers, faxes, etc. In its primary capacity, it acts as a session-layer protocol transported over TCP/IP to provide name resolution to a computer and shared folders. To that end, Windows 2000-based, Client-Server networks - and later - do not require this insecure means of name resolving and addressing or navigating of network shares.<ref>http://technet.microsoft.com/en-us/library/cc940063.aspx</ref>
 
== TroubleshootingRisoluzione dei problemi relativi al NetBIOS ==
===Nbtstat===
 
il comando Nbtstat isè designedstato tocreato helpper troubleshootfornire NetBIOSun nameaiuto resolutionalla problemsrisoluzione di problemi relativi alla risoluzione dei nomi NetBIOS.<ref>[httphttps://technet.microsoft.com/en-us/library/cc940106.aspx Microsoft TechNet Documentation]</ref> WhenQuando auna networkrete isfunziona functioning normallynormalmente, il NetBIOS over TCP/IP (NetBT) resolvesrisolve i nomi NetBIOS namesin toindirizzi IP addresses. ItQuesto doesviene thisottenuto throughattraverso severaldiverse optionsopzioni forper NetBIOSla namerisoluzione resolutiondei nomi NetBIOS, includinginclusa localla cache lookuplocale di ricerca, WINSla richiesta al server queryWINS, i pacchetti broadcast, LMHOSTSla lookupricerca nel file LMHOSTS, Hostsla lookupricerca nel file Hosts, ande DNSla richiesta al server queryDNS.
 
Il comando nbtstat rimuove e corregge gli inserimenti precaricati utilizzando un numero di opzioni switch case-sensitive (con caratteri Maiuscolo-minuscolo). Il comando nbtstat -a < name > esegue un comando di richiesta di stato all'interfaccia NetBIOS del computer con il nome specificato nel campo < name>. Il
The nbtstat command removes and corrects preloaded entries using a number of case-sensitive switches. The nbtstat - a < name > command performs a NetBIOS adapter status command on the computer name specified by < name> . The adapter status command returns the local NetBIOS name table for that computer as well as the MAC address of the adapter card. The nbtstat -A < IP address > command performs the same function using a target IP address rather than a name.
comando di stato dell'interfaccia riporta la tabella locale dei nomi NetBIOS per quel computer, oltre all'indirizzo di rete fisica (MAC address) della scheda di rete (interfaccia). il comando nbtstat -A < IP address > esegue la stessa funzione utilizzando un indirizzo IP di destinazione anziché un nome da risolvere in indirizzo IP.
'''Nbtstat''' is a diagnostic tool for NetBIOS over TCP/IP. It is included in several versions of [[Microsoft Windows]]. Its primary design is to help troubleshoot NetBIOS name resolution problems.<sup>[[Nbtstat|[1]]]</sup>
 
'''Nbtstat''' è uno strumento diagnostico per il NetBIOS over TCP/IP. È incluso in molte versioni di sistemi operativi [[Microsoft Windows]]. Il suo scopo primario è quello di fornire informazioni che aiutino a risolvere i problemi nella risoluzione dei nomi NetBIOS.<sup>[[Nbtstat|[1]]]</sup>
 
Path: C:\Windows\System32\nbtstat.exe
EnvironmentAmbienti operativi: [[32-bit Windows|32-bit]]
CommandProcessore di comandi, cmd-Shell processor: C:\Windows\System32\cmd.exe, ande notnon C:\Windows\SysWOW64\cmd.exe
 
Ci sono molti comandi simili ad Nbtstat e che permettono molte opzioni come: ricerca nella cache locale, richiesta [[WINS Server]], richiesta broadcast, ricerca in file [[LMHOSTS]], e ricerca in file [[Host]]s. Non è utilizzato per richieste al server DNS.<ref>{{Cita web|url= https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true|titolo= Microsoft Corporation|accesso= 13 aprile 2016}}</ref>
Environment: [[32-bit Windows|32-bit]]
 
====Sintassi====
Command processor: C:\Windows\System32\cmd.exe, and not C:\Windows\SysWOW64\cmd.exe
nbtstat [-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]
 
ThereI areparametri severalcomuni commands involved with Nbtstat that allows several options such assono: local cache lookup, [[WINS Server]] query, broadcast, [[LMHOSTS]] lookup, and [[Host (network)|Hosts]] lookup. It is not for DNS server query.<ref>{{Cite web|url = http[https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true|title = Microsoft Corporation|websiteNbtstat = www.microsoft.com|access-date = 2016-04-13}}Documentation]</ref><br />
'''nbtstat -c''': Elenca la memoria cache di NBT dei nomi remoti [computer] e dei relativi indirizzi IP.<br />
'''nbtstat -n''': Elenca i nomi NetBIOS locali.<br />
'''nbtstat -r''': Elenca i nomi risolti mediante broadcast e WINS.<br />
'''nbtstat -R''': Cancella il contenuto della tabella dei nomi cache remota e la ricarica.<br />
'''nbtstat -RR''': Invia pacchetti di rilascio di nomi a WINS e quindi avvia l'aggiornamento<br />
'''nbtstat -s''': Elenca la tabella delle sessioni che converte gli indirizzi IP di destinazione in nomi computer NETBIOS.<br />
'''nbtstat -S''': Elenca la tabella delle sessioni con gli indirizzi IP di destinazione.
 
====Syntax== Note ==
<references />
nbtstat [-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval]
 
== Bibliografia ==
The common parameters are:<ref>[http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true Microsoft Nbtstat Documentation]</ref><br>
* {{IETF|1001|Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods}}
'''nbtstat -c''': displays the contents of the NetBIOS name cache, the table of NetBIOS names and their resolved IP addresses.<br>
* {{IETF|1002|Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications}}
'''nbtstat -n''': displays the names that have been registered locally on the system.<br>
'''nbtstat -r''': displays the count of all NetBIOS names resolved by broadcast and querying a WINS server.<br>
'''nbtstat -R''': purges and reloads the remote cache name table. <br>
'''nbtstat -RR''': sends name release packets to WINs and then starts Refresh. <br>
'''nbtstat -s''': lists the current NetBIOS sessions and their status, including statistics. <br>
'''nbtstat -S''': lists sessions table with the destination IP addresses.
 
== SeeVoci alsocorrelate ==
* [[Samba (software)|SambaNetBIOS]]
* [[Samba (software)]]
* [[Server Message Block]]
* [[Domain Name System|DNS]]
* [[Lightweight Directory Access Protocol|LDAP]]
* [[Network Information Service|NIS]]
* [[Windows Internet Name Service|WINS]]
 
== Collegamenti esterni ==
==External links==
* {{FOLDOC|NetBios over TCP/IP|NetBios over TCP/IP}}
* [httphttps://support.microsoft.com/kb/204279 KB204279] - KB article describing the more modern, direct hosting of SMB
* [http://www.unixwiz.net/tools/nbtscan.html nbtscan] - open-source program to scan IP networks for NetBIOS name information
 
{{Portale|informatica|telematica}}
==References==
{{Reflist}}
 
[[Categoria:Protocolli di rete]]
{{DEFAULTSORT:NetBIOS over TCP IP}}
[[Category:Network protocols]]
[[Category:Request for Comments]]