[D] NetBios

Transcription

[D] NetBios
Linux Codex
[D] NetBios
05-03-2008
NetBios (Network Basic Input / Output System) n'est pas vraiment un protocole...
Il s'agit plutôt d'une interface de programmation d'application (API) pour les réseaux Microsoft qui permet:
      * l'attribution
      - d'un nom de machine
       - d'un nom pour un groupe de travail ou pour un domaine
       * l'identification de la fonction et/ou du (ou des services) installés
       - contrôleur de domaine
       - station de travail
Les informations enregistrées sont donc nombreuses. Cette difficulté est résolue par la mise en place de deux catégories
pour les noms et de plusieurs valeurs pour définir le type de ressource.
Les deux catégories de nom sont:
- le nom unique sur le domaine de diffusion comme par exemple le nom de machine. Cette catégorie est caractérisée par
l'attribut <UNIQUE> et les valeurs possibles pour les ressources sont:
<00> Service station de travail                <03> Service Messagerie (net send)
<06> Serveur d'accès distant (RAS)            <1F> Service NetDDE
<20> Client WINS; partage de fichier activé   <21> Client RAS
<BE> Agent du moniteur réseau (SMS)        <BF> Serveur SMS
<1B> Cette machine est Maître Explorateur du Domaine  Â
<1D> Maître Explorateur du réseau ou serveur WINS
- le nom de groupe ou de domaine. Elle est caractérisée par l'attribut <GROUPE> et les valeurs possibles pour les
ressources sont:
<00> Nom du groupe d'ordinateurs d'appartenance de la machine (groupe de travail ou domaine)<1C> Cette machine
est un des contrôleurs du domaine
<1E> Cette machine est éligible au rang de maître explorateur
<01> Indique que la machine est le maître explorateur sur le réseau
Toutes ces informations sont codées sur 16 bits avec pour règle:
- les 15 premiers bits sont destinés au nom de machine, de groupe, de domaine. Il en découle que ce nom ne pourra pas
être plus long que 15 caractères. La casse n'a pas d'importance pour les noms NetBios.
- le dernier bit est réservé à la fonction ou le service installé et prend les valeurs indiquées pour l'une des deux catégo
Les commandes
1) pour une machine windows:
La commande nbtstat /? dans une fenêtre DOS donnera toutes les options énoncées ci-dessous.
nbtstat [-a Nom Distant] [-A Adresse IP] [-c] [-n] [-r] [-R] [-RR] [-s] [S] [intervalle]
 -a (état carte) Liste la table de noms de l'ordinateur distant (nom connu).
 -A (état carte) Liste la table de noms d'ordinateurs distants (adresse IP).
 -c (cache)     Liste le cache de noms distant y compris les adresses IP.
 -n (noms)      Liste les noms NetBIOS locaux.
 -r (résolus)   Liste les noms résolus par diffusion et via WINS.
 -R (Recharge)  Purge et recharge la table du cache de noms distante.
 -S (Sessions)  Liste la table de sessions avec les adresses destination IP.
 -s (sessions)  Liste la table de sessions convertissant les adresses de
                destination IP en noms d'hôtes NETBIOS.
 -RR      (ReleaseRefresh) Envoie des paquets de libération de nom à WINS puis
                actualise
 Nom Distant: Nom de l'ordinateur hôte distant.
 Adresse IP: Représentation décimale pointée de l'adresse IP.
 intervalle: Réaffiche les statistiques sélectionnées, en marquant un temps d'arrêt égal à "intervalle" secondes entre
chaque affichage. Appuyez sur Ctrl+C pour arrêter l'affichage des statistiques.
http://www.linuxcodex.fr
Propulsé par Joomla!
Généré: 30 September, 2016, 09:00
Linux Codex
Exemples concrets:
   * nbtstat -c pour afficher le cache
   * nbstat -R purger et recharger le cache
   * nbtstat -a NomMachine affiche la table de la machine NomMachine
   * nbtstat -A 19.168.1.1 affiche la table de la machine qui porte l'adresse IP 192.168.1.1
   * nbtstat -n : affiche la table locale
   * nbtstat -r : affiche la table des noms résolus par le WINS et broadcast
Les autres commandes intéressantes:
   * netview \\AdresseIp
   pour voir les partages de la machine qui possède AdresseIP
   * netuse NomLecteur: \\AdresseIP\NomPartage
   pour connecter un lecteur réseau sur la machine Un mot de passe pourra être demandé
2) pour une machine Gnu-Linux:
   nmblookup -S NomDeVotreMachine : affiche le cache
   smbclient -M NomDeMachine: envoit un message (type netsend)
   ./findsmb   affiche les partages sur le réseau
Les man de nmblookup et de smbclient donneront les différentes options
Les ports utilisés:
135Â Â
137Â Â
138Â Â
139Â Â
445Â Â
 Service de localisation: pour les appels de procédure à distance (RPC port mapping)
 NetBios Name Service: pour avoir connaissance de l'ensemble des machines du réseau
 NetBios Datagram: pour la diffusion des informations par broadcast. Affichage du voisinage réseau
 Session NetBios:le port de connexion de deux machines qui partage une ressource.
 NetBios (W2k et suivants). Un service de nom dynamique basé sur Active Directory
Cette connaissance des ports utilisés est nécessaire pour paramétrer un firewall individuel sur les machines d'un réseau.
La résolution des noms par NetBios est gourmande en bande passante car elle s'effectue par broadcast (diffusion).
Chaque machine annonce sa carte d'identité à intervalle régulier. Le trafic réseau engendré par cette diffusion est
acceptable pour un petit réseau qui comprend peu de machines mais pénalise les grands réseaux.
Il existe deux autres méthodes pour palier ce handicap sur les réseaux qui comprennent beaucoup de machines.
La première est de renseigner le fichier lmhosts sur chaque machine du réseau. Le fichier lmhosts est une table de
correspondance entre les adresses ip et les nom des machines. Il faut alors modifier ce fichier lors d'un changement,
ajout, retrait d'une machine du réseau. C'est très fastidieux et peu pratique.
Exemple de fichier lmhosts
192.168.1.1Â Â Â savane
192.168.1.2Â Â Â taiga
192.168.1.3Â Â Â banquise
192.168.1.4Â Â Â serveur
Le fichier lmshosts se trouve dans le répertoire /etc sur une machine Gnu-Linux et dans
c:\windows\system32\drivers\etc\ pour une machine windows. C'est un fichier qui ne porte pas d'extension sauf pour le
fichier exemple de Windows qui s'appelle lmhosts.sam. Il faut l'ouvrir avec un éditeur de texte basique (bloc-note, gedit
ou kwrite) pour le compléter. La suppression de l'extension .sam (pour sample) et la commande nbtstat -R suffisent à le
prendre compte pour un poste windows.
La seconde méthode est beaucoup plus pratique car l'enregistrement de cette table de correspondance est centralisée
sur une seule machine. Les clients sont paramétrés pour aller se "déclarer" sur cette machine appelé serveur Wins
(Windows Internet Name Server). La déclaration de ce dernier s'effectue en donnant l'adresse IP du serveur Wins dans
http://www.linuxcodex.fr
Propulsé par Joomla!
Généré: 30 September, 2016, 09:00
Linux Codex
les propriétés avancées TCP/IP de la carte réseau.
Correspondance Samba (Gnu-Linux)
Dans la partie [Global] du fichier /etc/samba/smb.conf
workgroup = NomDeGroupeOuDeDomaine
NetBios Name = LeNomQueVousVoulezVoirSurLeRéseau
name resolve order = wins host bcast lmhosts
# Pour déclarer que le serveur Samba est serveur wins
wins support = yes
# Pour déclarer le serveur wins de votre domaine (ne pas mettre cette option si Samba est wins)
wins server = AdresseIpDuServeurWins
http://www.linuxcodex.fr
Propulsé par Joomla!
Généré: 30 September, 2016, 09:00