Description du protocole Netbios. Désactivation du protocole LLMNR à l'aide de la stratégie de groupe. Enregistrement de noms à l'aide de messages diffusés

L'utilisation de protocoles obsolètes sans nécessité évidente peut constituer une faille de sécurité potentielle pour tout utilisateur. réseau informatique. À cet égard, le battage médiatique récent autour défense la plus simple qui consistait à abandonner complètement l'utilisation de l'ancien protocole SMBv1. Protocoles de diffusion NetBIOS sur TCP/IP Et LLMNR sont également des protocoles obsolètes, et dans la plupart réseaux modernes ils sont utilisés uniquement à des fins de compatibilité. Dans le même temps, les pirates disposent de divers outils dans leur boîte à outils qui leur permettent d'exploiter les vulnérabilités des protocoles NetBIOS et LLMNR pour intercepter les informations d'identification des utilisateurs dans sous-réseau local(y compris les hachages NTLMv2). C'est pourquoi, pour des raisons de sécurité, réseau de domaine ces protocoles doivent être désactivés. Voyons comment désactiver LLMNR et NetBIOS à l'aide de stratégies de groupe.

Tout d’abord, nous devons vous rappeler quels sont ces protocoles.

Protocole LLMNR

LLMNR(UDP/5355, Link-Local Multicast Name Resolution - un mécanisme de résolution de noms de diffusion) - le protocole est présent dans toutes les versions de Windows, à commencer par Vista et permet aux clients IPv6 et IPv4 de résoudre les noms des ordinateurs voisins sans utiliser DNS via la diffusion. requêtes dans le serveur de segment de réseau L2 local. Ce protocole est également automatiquement utilisé lorsque le DNS n'est pas disponible. Par conséquent, lorsque des serveurs DNS fonctionnent dans le domaine, ce protocole n'est absolument pas nécessaire.

NetBIOS sur protocole TCP/IP

NetBIOS sur protocole TCP/IP ou NBT-NS (UDP/137,138 ; TCP/139) est un protocole de diffusion prédécesseur de LLMNR et est utilisé sur un réseau local pour la publication et la recherche de ressources. La prise en charge de NetBIOS sur TCP/IP est activée par défaut pour toutes les interfaces de tous les systèmes d'exploitation Windows.

Ainsi, ces protocoles permettent aux ordinateurs d'un réseau local de se retrouver lorsque le serveur DNS est indisponible. Peut-être qu'ils sont nécessaires groupe de travail, mais dans un réseau de domaine, ces deux protocoles peuvent être désactivés.

Conseil. Avant la mise en œuvre massive de données de stratégie dans un domaine, nous vous recommandons fortement de tester le fonctionnement des ordinateurs avec NetBIOS et LLMNR désactivés sur des groupes de test d'ordinateurs et de serveurs. Et s'il n'y a aucun problème avec la désactivation de LLMNR, la désactivation de NetBIOS peut paralyser le fonctionnement des systèmes existants

Désactivez le protocole LLMNR à l'aide de la stratégie de groupe

Dans un environnement de domaine, les requêtes de diffusion LLMNR sur les ordinateurs du domaine peuvent être désactivées à l'aide de politique de groupe. Pour ce faire :

  1. Dans la console GPMC.msc, créez une nouvelle stratégie ou modifiez une stratégie existante qui s'applique à tous les postes de travail et serveurs.
  2. Aller à la rubrique Configuration ordinateur -> Modèles d'administration -> Réseau -> Client DNS
  3. Activer la stratégie Éteindre Résolution du nom de multidiffusion, en changeant sa valeur en Activé

Désactivation du protocole NetBIOS sur TCP/IP

Note. Le protocole NetBIOS peut être utilisé par les anciennes versions de Windows et certains systèmes non Windows, le processus de désactivation dans un environnement particulier mérite donc d'être testé.

Vous pouvez désactiver NetBIOS manuellement sur un client spécifique.

  1. Ouvrir les propriétés de la connexion réseau
  2. Sélectionnez le protocole TCP/IPv4 et ouvrir ses propriétés
  3. Cliquez sur le bouton Avancé, puis allez dans l'onglet VICTOIRES et sélectionnez l'option Désactiver NetBIOS sur TCP(Désactivez NetBIOS sur TCP/IP)
  4. Enregistrer les modifications

Vous pouvez également désactiver la prise en charge NetBIOS pour une carte réseau spécifique à partir du registre. Pour chaque adaptateur réseau informatique, il existe une branche distincte avec son TCPIP_GUID à l'intérieur HKEY_LOCALE_MACHINE\SYSTÈME\EnsembleContrôleActuel\Services\NetBT\Paramètres\Interfaces.

Pour désactiver NetBIOS pour un adaptateur spécifique, vous devez ouvrir sa branche et modifier la valeur du paramètre Options Netbios sur 2 (la valeur par défaut est 0).

Pour arrêt complet Protocole NetBIOS, les opérations ci-dessus doivent être effectuées pour toutes les cartes réseau de l'ordinateur.

Sur les clients de domaine qui reçoivent des adresses IP d'un serveur DHCP, vous pouvez désactiver NetBIOS via les paramètres Options DHCP serveur.

  1. Pour ce faire, ouvrez la console dhcpmgmt.MS c et sélectionnez les paramètres de la zone Scope Option (ou Server Options).
  2. Allez dans l'onglet Avancé, dans la liste déroulante Classe de fournisseur, sélectionnez MicrosoftWindows 2000Possibilités
  3. Activez l'option 001 MicrosoftDésactiverNetbiosOption et changez sa valeur en 0 x2

Il n'existe aucune option distincte qui vous permet de désactiver NETBIOS sur TCP/IP pour toutes les cartes réseau d'un ordinateur via des stratégies de groupe. Pour désactiver NETBIOS pour tous les adaptateurs d'ordinateur, utilisez la commande suivante Script PowerShell, qui doit être placé dans la politique OrdinateurConfiguration ->Politiques ->FenêtresParamètres ->Scripts ->Démarrage->PowerShellScripts

$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach ( Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose)

Note. Pour que les modifications prennent effet, vous devez désactiver/activer adaptateurs réseau ou redémarrez votre ordinateur.

Le moyen le plus simple de résoudre les noms d'hôtes consiste à conserver une table de ces noms et de leurs adresses IP correspondantes. Cette tâche est accomplie par le fichier HOSTS, un fichier ASCII stocké sur le disque dur local et contenant les adresses IP à gauche et les noms d'hôte à droite. Si un utilisateur transmet un nom d'hôte à une application, cette application le recherche dans le fichier HOSTS. Si ce nom est trouvé, l'adresse IP équivalente est utilisée pour créer connexion réseau. Si le nom n'est pas trouvé, la connexion ne peut pas être établie.

Bien que cela puisse paraître difficile à croire, à une certaine époque, les services de résolution de noms pour l'ensemble d'Internet étaient fournis via une seule table HOSTS contenant des milliers d'enregistrements qui devaient être régulièrement téléchargés par les utilisateurs Internet pour mettre à jour leur fichier. Les problèmes liés à l’utilisation de cette méthode sont évidents. L'insertion de noms et d'adresses dans un fichier pour les enregistrer ne peut se faire que manuellement. Les utilisateurs ou administrateurs doivent modifier ou mettre à jour individuellement le fichier HOSTS sur chaque ordinateur en réseau pour inclure le nom et l'adresse de chaque hôte qui doit être adressé par son nom. De plus, le nombre d'enregistrements augmente, la taille du fichier augmente rapidement, ce qui commence à affecter la vitesse de résolution du nom. Imaginez devoir gérer un fichier HOSTS avec des centaines ou des milliers d'entrées pour mapper les noms aux adresses IP. Chaque modification de ce fichier nécessiterait une mise à jour sur tous les ordinateurs du réseau, c'est-à-dire un transfert Fichier HÔTES chacun d'eux.

Utilisation du système de noms de domaine (DNS)

Le système de noms de domaine (DNS) est la méthode la plus courante de résolution de noms d'hôtes Internet, car il permet aux utilisateurs de se connecter à n'importe quel site Internet par son nom. Cela peut sembler incroyablement difficile, surtout à la lumière de la croissance d'Internet au cours des dernières années, mais le DNS utilise la structure de domaine des noms d'hôte Internet et constitue bien sûr la principale raison de son utilisation.

Le système de noms de domaine se compose de milliers de serveurs DNS répartis sur Internet. Si vous enregistrez un nom de domaine, vous devez alors spécifier les serveurs DNS principal et de sauvegarde. Ils sont appelés faisant autorité serveurs pour votre domaine. Un serveur DNS est un démon UNIX ou un service Windows chargé de maintenir et de publier une base de données de noms d'hôtes et d'adresses dans son propre domaine.

Les serveurs DNS d'un domaine n'ont pas besoin d'être sur son propre réseau, et en effet, de nombreux fournisseurs d'accès Internet (FAI) proposent des services d'hébergement Web dans lesquels ils proposent l'utilisation de leurs serveurs DNS moyennant des frais. L'important ici est que l'autorité Internet ou toute autre organisation qui a enregistré le nom de ce domaine dispose d'une entrée pour les serveurs DNS responsables des hôtes de ce domaine.

Parce que les administrateurs réseaux individuels sont responsables de l'attribution des noms d'hôte dans leurs domaines, ils doivent également conserver des enregistrements DNS pour ces noms. Étonnamment, l'enregistrement des noms d'hôtes de domaine sur son Serveurs DNS– c’est la même opération manuelle que pour le fichier HOSTS. Par exemple, si vous ajoutez un nouveau serveur FTPà votre réseau, vous devez ajouter ou modifier manuellement un enregistrement de ressource DNS en spécifiant le nom et l'adresse nouvelle voiture.

Noms NetBIOS

Bien que NetBIOS ne soit plus élément obligatoire V Réseau Windows Server 2003, il est important pour compatibilité ascendante Avec systèmes précédents Windows, tel que Windows 9x et Windows NT, qui utilisent NetBIOS pour la communication, ainsi que les applications utilisant NetBIOS.

NetBIOS est interface logicielle, qui est utilisé depuis de nombreuses années pour fournir des capacités de mise en réseau aux applications. Certaines fonctionnalités de l'architecture Windows NT d'origine intégrée à Windows Server 2003 reposaient entièrement sur le système de dénomination NetBIOS pour nommer d'autres ordinateurs du réseau.

Un nom NetBIOS contient jusqu'à 16 caractères, dont le dernier est enregistré par Windows pour identifier des fonctionnalités spécifiques de certains ordinateurs, tels que les contrôleurs de domaine ou les navigateurs. Si le service NetBIOS est activé, alors chaque ordinateur système opérateur le nom NetBIOS est attribué. Ce nom peut être ou non identique au nom de connexion de l'utilisateur ou au nom d'hôte de l'ordinateur. Vous utilisez des noms NetBIOS lorsque vous entrez un nom de chemin UNC qui pointe vers un hôte sur un réseau Windows.

NetBIOS n'est plus un composant obligatoire sauf si vous disposez d'anciens clients Windows ou d'applications dépendantes de NetBIOS, mais il l'est toujours. composant réseau Outils Windows. Des services de poste de travail et de serveur qui s'exécutent sur tout le monde Ordinateurs Windows Server 2003/2000, utilisez à la fois NetBIOS et l'hébergement direct pour fournir des services d'accès partagé de base aux fichiers demandés par n'importe quel système d'exploitation. L'hébergement direct est un protocole qui utilise DNS plutôt que NetBIOS pour la résolution de noms. La configuration par défaut consiste à activer à la fois NetBIOS et l'hébergement direct, qui sont utilisés simultanément lors de la résolution des noms des nouvelles connexions à d'autres machines.

Étant donné que NetBIOS s'exécute au-dessus de Transport Device Interface (TDI), il peut théoriquement utiliser n'importe quel protocoles compatibles pour vos besoins d'interaction de bas niveau. Initialement, les systèmes d'exploitation antérieurs à Windows 2000 utilisaient l'interface NetBIOS Extended Use Interface (NetBEUI) pour le trafic NetBIOS. Cependant, NetBEUI n'est pas routable, donc lorsque TCP/IP a été proposé comme alternative, le développement a commencé norme ouverte(publié plus tard sous forme de RFC) pour définir la manière dont les services NetBIOS pourraient être fournis à l'aide des protocoles TCP/IP. Cette norme est appelée NetBIOS sur TCP/IP ou NetBT.

La norme NetBT définit deux types de services : les services de session et de datagramme. Les services de session utilisent TCP pour fournir un service de messagerie orienté connexion totalement fiable, tandis que les services de datagramme utilisent UDP, qui nécessite peu de temps système et n'est pas très fiable.

Dans les demandes à services réseau, générés par l'interface NetBIOS, utilisent les noms d'ordinateur NetBIOS pour faire référence à d'autres systèmes. Pour que TCP/IP puisse transmettre des requêtes sur un réseau, les noms NetBIOS (similaires aux noms d'hôte) doivent d'abord être résolus (résolus) en adresses IP.

Étant donné que les noms NetBIOS sont résolus en adresses IP avant le transfert des données, vous pouvez les utiliser à la place des noms d'hôte dans réseaux internes. Par exemple, pour se connecter à un serveur Web intranet, un utilisateur peut spécifier le nom NetBIOS du serveur au lieu du nom d'hôte normal. De même, vous pouvez utiliser le nom d'hôte dans le chemin UNC au lieu du nom NetBIOS.

Types de nœuds

Il y en a plusieurs diverses méthodes, grâce auquel les ordinateurs peuvent enregistrer et résoudre leurs noms NetBIOS sur un réseau Windows Server 2003/2000. Ces méthodes varient dans leurs capacités et leur efficacité. Pour rechercher une machine portant un nom NetBIOS spécifique, l'ordinateur peut utiliser des diffusions réseau, il peut contacter un serveur de noms NetBIOS (NBNS) sur son réseau (par exemple, un serveur WINS) ou il peut utiliser une table de recherche dans un fichier stocké localement. Fichier LMHOSTS.

La norme NetBT définit plusieurs types de nœuds qui spécifient les méthodes qu'un ordinateur doit utiliser et dans quel ordre. Les types de nœuds sont attribués aux clients serveur DHCP ou déterminé par les paramètres TCP/IP spécifiés dans la configuration client. La norme NetBT définit les types de nœuds suivants.

  • Nœud B. Le client utilise les diffusions réseau pour l'enregistrement et la résolution de nom.
  • Noeud en P. Le client envoie message séparé pour enregistrer ou résoudre un nom sur le serveur de noms NetBIOS.
  • Nœud M. Le client utilise des messages diffusés pour enregistrer des noms ; Le client utilise d'abord des messages de diffusion pour résoudre les noms, et si cela échoue, il transmet les requêtes au serveur de noms NetBIOS.
  • Noeud en H. Le client envoie un message distinct d'enregistrement ou de résolution de nom au serveur de noms NetBIOS (NBNS) ; si le NBNS n'est pas disponible, le client utilise des messages diffusés jusqu'à ce que la connexion au NBNS soit rétablie.

Les systèmes d'exploitation antérieurs à Windows 2000 utilisaient initialement un service de nœud B étendu pour l'enregistrement et la résolution de noms. Le service a été considéré comme étendu car si le nom ne pouvait pas être résolu à l'aide de messages diffusés, le fichier LMHOSTS était utilisé comme alternative. de cet ordinateur. Cela permettait aux utilisateurs d'accéder à des ordinateurs sur d'autres segments du réseau à condition que ces ordinateurs soient saisis manuellement dans le fichier LMHOSTS.

Windows Server 2003 continue d'inclure WINS comme serveur de noms NetBIOS, qui stocke les noms NetBIOS et les adresses IP de l'ensemble d'Internet dans sa base de données, rendant ces informations disponibles aux utilisateurs de toute l'entreprise. Les ordinateurs exécutant des versions antérieures de Windows sont décrits comme des nœuds H améliorés. Ces ordinateurs tentent d'abord de résoudre les noms NetBIOS à l'aide de WINS en accédant aux messages de diffusion si WINS échoue ou n'est pas disponible, puis accèdent au fichier LMHOSTS si la résolution de noms ne peut pas être obtenue à l'aide de messages de diffusion.

Enregistrement des noms NetBIOS

La norme NetBT exige que lorsqu'une machine avec plus première version Lorsque Windows se connecte à un réseau, son nom NetBIOS doit être enregistré afin qu'aucun autre ordinateur ne puisse utiliser le nom en double et que l'adresse IP soit définie correctement. Si vous déplacez un poste de travail vers un autre sous-réseau et modifiez manuellement son adresse IP, le processus d'enregistrement garantit que les autres ordinateurs et serveurs WINS sont informés du changement.

La méthode d'enregistrement de nom utilisée par un poste de travail dépend de son type de nœud. Les nœuds B et M utilisent des messages diffusés pour enregistrer les noms, tandis que les nœuds H et P envoient des demandes d'enregistrement directement au serveur WINS. Ces deux méthodes sont décrites dans les sections suivantes. L'une de ces deux méthodes est utilisée par tout ordinateur exécutant une version antérieure de Windows et se connectant au réseau.

Enregistrement de noms à l'aide de messages diffusés

Les nœuds B et M qui utilisent des messages de diffusion pour enregistrer les noms NetBIOS n'effectuent pas l'enregistrement de la même manière que les autres types de nœuds. Ce nom n'est inscrit dans aucune table et n'est pas stocké sur d'autres ordinateurs du réseau. Au lieu de cela, un ordinateur donné utilise des messages diffusés pour « annoncer » son nom NetBIOS et vérifier si un autre ordinateur utilise déjà ce nom.

Le processus d'enregistrement commence lorsque cet ordinateur entre dans le réseau. Il se propage avec Protocole UDP un ensemble de messages diffusés NAME REGISTRATION REQUEST contenant son nom NetBIOS proposé et son adresse IP. Si ce nom est déjà utilisé par une autre machine sur le réseau, cette machine envoie un message NEGATIVE NAME REGISTRATION RESPONSE distinct à l'adresse IP de l'ordinateur demandeur. Cela entraîne le rejet de la demande d’enregistrement. L'ordinateur demandeur doit choisir un nom différent et tenter à nouveau de s'enregistrer.

Si un ordinateur ne reçoit aucune réponse aux tentatives répétées d'envoi de paquets NAME REGISTRATION REQUEST dans un délai spécifié, il envoie un message NAME OVERWRITE DEMAND, déclarant qu'il a réussi à enregistrer son nom. Cet ordinateur doit désormais répondre à toutes les requêtes envoyées par d'autres ordinateurs utilisant ce nom NetBIOS.

Comme tous les messages diffusés, ces messages d'enregistrement de nom sont limités segment local réseaux. Cela signifie que les ordinateurs sur d'autres segments du réseau peuvent utiliser le même nom NetBIOS. Cela pose un problème évident. Seul un travail minutieux de la part des administrateurs réseau peut empêcher les collisions de noms et les paquets mal acheminés. Ce danger, ainsi que le trafic réseau excessif provoqué par l'envoi de messages diffusés, sont des raisons pour créer un serveur WINS comme moyen d'enregistrement des noms.

Enregistrement de noms à l'aide de WINS

L'ordinateur client WINS commence le processus d'enregistrement de nom en générant le même paquet DEMANDE D'ENREGISTREMENT DE NOM que celui qu'il diffuserait. Mais cette fois, le paquet est envoyé sous forme de message distinct directement au serveur WINS spécifié dans l'onglet Configuration WINS de la boîte de dialogue Propriétés TCP/IP. Si aucun autre ordinateur n'utilise le nom, le serveur WINS renvoie une RÉPONSE D'ENREGISTREMENT DE NOM POSITIVE à l'expéditeur et enregistre prénom NetBIOS et adresse IP à votre base de données.

Si le serveur WINS détecte qu'un nom NetBIOS donné est déjà enregistré par un autre ordinateur, le serveur WINS envoie un message NAME QUERY REQUEST à cet ordinateur pour « protéger » son nom enregistré. Si le propriétaire du nom ne répond pas ou envoie une RÉPONSE À LA REQUÊTE DE NOM NÉGATIF, le serveur WINS enregistre le nom du nouvel ordinateur et lui envoie un message RÉPONSE D'ENREGISTREMENT DE NOM POSITIVE. Si le titulaire du nom interrogé envoie une RÉPONSE À LA REQUÊTE DE NOM POSITIF, cela signifie qu'il a réussi à "protéger" son nom. Dans ce cas, le serveur WINS envoie un message NEGATIVE NAME REGISTRATION RESPONSE au nouvel ordinateur, l'informant que sa tentative d'enregistrement a été refusée.

Lorsque le serveur WINS enregistre avec succès un nom NetBIOS particulier, il attribue une date d'expiration pour l'enregistrement sous la forme Valeurs TTL(durée de vie). Chaque fois que l'ordinateur se connecte au réseau, cette valeur est mise à jour. Jusqu'à l'expiration de ce délai, toute tentative d'enregistrement de ce nom NetBIOS sera rejetée. Mais si aucune connexion n'est effectuée pendant cette période, alors ce nom NetBIOS sera libéré et pourra être à nouveau attribué par le serveur WINS sans rien demander à aucun ordinateur. Si un prénom reste inutilisé pendant une durée déterminée, il est déclaré obsolète et effacé de la base de données WINS.

Notez que l'ensemble de la transaction est effectuée à l'aide de messages distincts envoyés entre ordinateurs. Il n'y a pas de flot de messages diffusés pour submerger le réseau, et c'est l'un des principaux avantages de WINS.

Le protocole NetBIOS a été créé pour fonctionner sur les réseaux locaux. Le système NetBIOS est destiné aux ordinateurs personnels tels que IBM/PC en tant qu'interface indépendante du fabricant. NetBIOS est utilisé comme moyen de transport Protocoles TCP et UDP. NetBIOS est décrit dans le document IBM 6322916 « Technical Reference PC Network ».

Le package NetBIOS a été créé pour être utilisé par un groupe d'ordinateurs ; il prend en charge à la fois le mode session (travail via une connexion) et le mode datagramme (sans connexion). Les noms d'objets à 16 caractères dans netbios sont distribués dynamiquement. NetBIOS a propre DNS, qui peut interagir avec Internet. Lorsque vous travaillez avec NetBIOS, le nom de l'objet ne peut pas commencer par le caractère *.

Les applications peuvent utiliser NetBIOS pour rechercher les ressources dont elles ont besoin, établir des communications et envoyer ou recevoir des informations. NetBIOS utilise le port 137 pour le service de noms, le port 138 pour le service de datagramme et le port 139 pour les sessions.

Toute session commence par une requête NetBIOS, définissant une adresse IP et définissant un port TCP objet distant, suivi d'un échange de messages NetBIOS, après quoi la session est fermée. Une session échange des informations entre deux applications NetBIOS. La longueur du message varie de 0 à 131 071 octets. Il est permis d'effectuer simultanément plusieurs sessions entre deux objets.

Lors de l'organisation du transport IP via NetBIOS, le datagramme IP est intégré dans un paquet NetBIOS. L'échange d'informations se produit dans ce cas sans établir de connexion entre les objets. Noms Netbios doit contenir des adresses IP. Ainsi, une partie de l'adresse NetBIOS peut ressembler à ip.**.**.**.**, où IP indique le type d'opération (IP via NetBIOS), et **.**.**.** - ip - adresse. Le système NetBIOS a propre système commandes (appeler, écouter, raccrocher, envoyer, recevoir, état de session, réinitialisation, annulation, état de l'adaptateur, dissociation, chargement de programme à distance) et primitives pour travailler avec des datagrammes (envoyer un datagramme, envoyer un datagramme de diffusion, recevoir un datagramme, recevoir un datagramme de diffusion) . Tous les nœuds finaux NetBIOS sont divisés en trois types :

Nœuds de diffusion (« b » );

nœuds point à point ("p");

nœuds type mixte("m").

Une adresse IP peut être associée à l'un des types spécifiés. Les nœuds B établissent une communication avec leur homologue via des requêtes de diffusion. Les nœuds P et M utilisent à cet effet un serveur de noms netbios (NBNS) et un serveur de distribution de datagrammes (NBDD).

Actuellement, une version améliorée du protocole NetBIOS a été développée - NetBeui (interface utilisateur étendue NetBios). Ce nouveau protocole utilisé par les systèmes d'exploitation LAN Manager, serveur LAN, Windows pour Workgroups et Windows NT, et dans sa fonction, il occupe le créneau des protocoles TCP/IP, couvrant les niveaux de communication, réseau et transport. Le format du package NetBios a été standardisé ici et de nouvelles fonctionnalités ont été ajoutées. Netbuei est basé sur le protocole OSI LLC2, introduit la norme netbios frame format (NDF) et utilise NetBios comme interface haut niveau. Le protocole est rapide et sert à combiner de petits réseaux locaux(20 à 200 ordinateurs) entre eux ou avec l'ordinateur principal. Ce protocole correspond à la communication, au réseau et couche de transport Modèles OSI. Dans les nouvelles versions de NetBuei (3.0 et supérieures), la limite du nombre de sessions simultanées (254) a été supprimée. Parmi les limites de NetBuei, il y a le manque routage interne Et restrictions sérieuses quand on travaille dans réseaux régionaux. Pour cette raison, netbuei est recommandé pour les réseaux locaux (ici ils sont préférables aux autres protocoles), et pour relations extérieures utilisez, par exemple, TCP/IP.

Le dernier protocole que nous examinerons dans ce livre est le protocole NETBIOS (Network Basic Input/Output System) développé par IBM. Ce protocole fonctionne sur trois couches du modèle OSI à sept couches : niveau du réseau, couche transport et au niveau des canaux de communication. La couche canal de communication fournit un mécanisme d'échange de messages entre les programmes exécutés sur les stations au sein d'un canal de communication ou d'une session. NETBIOS peut fournir une interface de niveau supérieur à celle des protocoles IPX et SPX.

Le protocole NETBIOS est supporté sur les réseaux IBM (IBM PC LAN), Novell NetWare, Microsoft Windows pour les groupes de travail et autres réseaux. Malheureusement, il n'existe pas de norme unique pour le protocole NETBIOS, c'est pourquoi les logiciels réseau de différentes sociétés utilisent différentes interfaces pour appeler les commandes NETBIOS.

De notre point de vue, le plus grand intérêt est l'utilisation de NETBIOS dans les réseaux Novell NetWare et Microsoft Windows for Workgroups. Nous examinerons les principales fonctionnalités de NETBIOS liées au transfert de données entre postes de travail au sein d'un même segment de réseau logique.

Pour travailler avec le protocole NETBIOS sur les réseaux Novell NetWare, vous devez exécuter un émulateur NETBIOS spécial - le programme netbios.exe, inclus avec Novell NetWare. Ce programme émule le protocole NETBIOS en utilisant les protocoles IPX/SPX déjà familiers.

NETBIOS est plus facile à utiliser que IPX ou SPX. Toutefois, étant donné que Novell NetWare nécessite un émulateur NETBIOS spécial, les performances du programme peuvent être réduites. De plus, l'émulateur nécessite de la mémoire supplémentaire, puisqu'il est implémenté en tant que programme résident.

4.1. Adressage des stations et des programmes

Comme vous vous en souvenez, pour identification poste de travail Les protocoles IPX et SPX utilisent un numéro de réseau, une adresse de station sur le réseau et un socket. L'adresse de la station est déterminée par niveau matériel et est un nombre de 6 octets. Le numéro de réseau prend 4 octets. Les sockets sont alloués dynamiquement par le pilote de protocole IPX ou peuvent être obtenus auprès de Novell.

Le protocole NETBIOS utilise un mécanisme différent pour adresser les stations et les programmes. Pour adresser une station, des noms de 16 octets sont utilisés. Chaque station possède un nom permanent(nom permanent), qui est formé à partir de l'adresse matérielle en y ajoutant dix octets zéro à gauche. En plus du nom persistant, le protocole NETBIOS permet d'ajouter (et de supprimer) noms réguliers et noms de groupe. Les noms réguliers sont utilisés pour identifier un poste de travail ; les noms de groupe peuvent être utilisés pour envoyer des paquets simultanément à plusieurs postes du réseau. Le nom permanent ne peut pas être supprimé car il est entièrement déterminé par le matériel de la station.

Lorsqu'un nom commun est ajouté, le protocole NETBIOS interroge l'ensemble du réseau pour vérifier que le nom est unique. Le nom du groupe peut être le même sur plusieurs stations, donc lors de l'ajout d'un nom de groupe, le réseau est interrogé
n'est pas exécuté.

Après avoir ajouté un nouveau nom, ce nom se voit attribuer un numéro de nom, qui est utilisé pour transmettre des données sur le réseau.

En comparant les méthodes d'adressage utilisées par les protocoles IPX/SPX et NETBIOS, il est facile de constater que la méthode d'adressage du protocole NETBIOS est plus pratique. Vous pouvez adresser des données non seulement à une station (comme dans IPX et SPX) ou à toutes les stations à la fois (comme dans IPX), mais également à des groupes de stations ayant le même nom du groupe. Cela peut être pratique s'il existe plusieurs groupes d'utilisateurs sur le réseau qui échangent intensément des données entre eux.

Un autre avantage du schéma d'adressage du protocole NETBIOS par rapport au schéma d'adressage du protocole IPX/SPX est qu'il n'est pas nécessaire d'obtenir le vôtre auprès de Novell. propre numéro prise pour identifier votre logiciel. Vous pouvez créer votre propre nom de groupe unique, comprenant, par exemple, le nom du programme et de votre entreprise, et l'utiliser pour travailler selon le schéma client-serveur.

4.2. Travailler avec le protocole NETBIOS

Le protocole NETBIOS fournit aux programmes une interface pour transmettre des données au niveau du datagramme et au niveau du lien de communication. Pour appeler NETBIOS, le programme doit créer un bloc de contrôle en mémoire, appelé NCB (Network Control Block). L'adresse du bloc NCB rempli est transférée à l'interruption INT 5Ch, au sein de laquelle l'interface du protocole NETBIOS est implémentée. Il existe également une interface alternative implémentée dans l'interruption INT 2Ah, qui est prise en charge par l'émulateur NETBIOS développé par Novell, ainsi que par le système d'exploitation. Système Windows pour les groupes de travail version 3.1.

4.2.1. Vérifier la présence de NETBIOS

La première chose qu'un programme souhaitant utiliser le protocole NETBIOS doit faire est de vérifier la présence d'une interface NETBIOS sur le système.

Vous trouverez ci-dessous un programme qui détermine si le pilote NETBIOS est installé.

À l'aide de la fonction getvect(), le programme obtient un pointeur vers le gestionnaire d'interruption INT 5Ch. Cette interruption est utilisée pour appeler NETBIOS. Si le composant segment de l'adresse est zéro ou F000h, le gestionnaire d'interruption n'est pas installé ou un stub situé dans le BIOS est installé. Dans ce cas, le programme pense que NETBIOS est manquant.

// ================================================= ==== === // Listing 16. Vérification de la présence de NETBIOS // // Fichier nbver.cpp // // (C) A. Frolov, 1993 // =========== ====== ==================================== #include #inclure #inclure #inclure #inclure #inclure void main(void) ( void interruption (*int5C)(...); printf("Vérifier si NETBIOS est installé\n"); int5C = getvect(0x5c); if(FP_SEG(int5C) == 0x0000 || FP_SEG (int5C) == 0xF000) ( printf("NETBIOS NON installé.\n"); ) else printf("NETBIOS est installé !\n" )

Une autre façon de vérifier la présence d'une interface NETBIOS consiste à appeler l'interruption INT 2Ah. Chargez le registre AH avec une valeur nulle et appelez l'interruption INT 2Ah. Si après le retour de l'interruption dans le registre AH
est toujours nul, le pilote NETBIOS n'est pas installé.

Cette méthode de vérification fonctionnera sur machine virtuelle DOS en cours d'exécution Environnement Windows pour Workgroups version 3.1 (si Windows fonctionne en mode avancé).

Le programme suivant détecte la présence de NETBIOS en appelant l'interruption INT 2Ah (Listing 17) :

// ================================================= ==== === // Listing 17. Vérification de la présence de NETBIOS // grâce à l'interface INT 2Ah // // Fichier 2atest.cpp // // (C) A. Frolov, 1993 // ==== ====== ============================================= =========== #inclure #inclure #inclure #inclure #inclure #inclure void main(void) ( union REGS regs; printf("Vérifier si NETBIOS est installé\n"); regs.h.ah = 0; int86(0x2a, ®s, ®s); if(regs.h.ah == 0 ) ( printf("NETBIOS NON installé.\n"); ) else printf("NETBIOS est installé !\n" )

L'interruption INT 2Ah est utilisée dans les réseaux de Microsoft et Lantastic. Émulateur de protocole NETBIOS fourni par Novell avec le système d'exploitation Système Novell NetWare prend en charge les interfaces d'interruption INT 5Ch et INT 2Ah.

4.2.2. Appel des commandes du protocole NETBIOS

L'interface du protocole NETBIOS est implémentée dans l'interruption INT 5Ch ou INT 2Ah et est très simple.

Pour appeler les commandes du protocole NETBIOS, il vous suffit de préparer le bloc NCB, de charger son adresse distante dans les registres ES:BX et d'appeler l'interruption INT 5Ch.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :