Administration de réseau Le protocole SNMP I Installation de EasyPHP 1.8 Cédric Humbert Page 1/8
L endroit où l on déposera nos dossiers contenant les fichiers html sera : C:\Program Files\EasyPHP1-8\www Cédric Humbert Page 2/8
II Installation de l agent SNMP Dans le panneau de configuration, ajout et suppression de programmes, ajout de composants Windows, outils de gestion, détails et on coche SNMP. On configure ensuite le service, clic droit sur le poste de travail, gérer. On ajoute notre communauté, et on accepte tous les paquets SNMP. Cédric Humbert Page 3/8
III Interface HTML PHP 1) Résultat final de l interface : 2) Sources HTML : - Fichier index.html : <HTML> <style type="text/css"> <!--.Style1 { font-size: 36px; font-weight: bold; color: #0000FF; body { background-image: url(viper-065.jpg); --> </style> <title>wesh</title> <div align="center" class="style1">administration SNMP</div> <div align="center">réalisé par Alex Daniaud et Cédric Humbert<br><br><br> </div> Cédric Humbert Page 4/8
//balise form qui nous permettra d envoyer nos resultats dans une //nouvelle page test.php qui prendra les paramètres // du formulaire en compte <form action="test.php" method="get" target="_blank"> //On centre <div align="center"> // On créé la case pour récupérer l adresse IP <strong>adresse IP : </strong><input type="text" name="ip" /><br> // On créé la case pour récupérer la communauté <strong>community</strong> : <input type="text" name="community" /><br> // On créé la case pour récupérer l OID <strong>object I.D. </strong> : <input type="text" name="oid" /><br> // On créé une case déroulante pour choisir la méthode <strong>méthode </strong> : <select name="methode" size="1"> <option selected value="0">choisir</option> <option value="snmpwalk">snmpwalk</option> <option value="snmpwalkoid">snmpwalkoid</option> <option value="snmpget">snmpget</option> </select><br> // On créé la case pour récupérer le fichier à écrire <strong>fichier de sauvegarde : </strong><input type="text" name="fichier" /><br><br> // On créé le bouton OK <input name="submit" type="submit" value="ok"> </div> </form> </BODY></HTML> - Fichier test.php : <html> <head> <title>les résultats</title> </head> <body> // On commence notre balise php et vérifie que tous les champs sont complets <?php if((isset($_get['ip']))&&(isset($_get['community']))&&(isset($_get['oid'])) &&(isset($_get['methode']))){ // On récupère les parametres passes en argument dans des variables $hostname = $_GET['IP']; $community = $_GET['community']; $oid = $_GET['oid']; $methode = $_GET['methode']; Cédric Humbert Page 5/8
//Si on reçoit la methode snmpwalk, on l execute et la stocke dans $a if($methode=="snmpwalk") $a = snmpwalk($hostname,$community,$oid); //Si on reçoit la methode snmpget, on l execute et la stocke dans $a else if($methode=="snmpget") $a = snmpget($hostname,$community,$oid); //Si on reçoit la methode snmpwalkoid, on l execute et la stocke dans $a else if($methode=="snmpwalkoid") $a = snmpwalkoid($hostname,$community,$oid); //On vérifie que $a n est pas vide if(isset($a)){ if($methode=="snmpwalkoid"){ echo "<h4>reponse :</h4>"; // On ouvre fichier, s il n existe pas il sera créé // sinon on écrit à la suite $FichierClient = fopen ($_GET['fichier'], "a"); // On récupère la date $date=date("d/m/y H:i"); // On écrit une première ligne dans le fichier fputs ($FichierClient, "\n\n\nréponse du $date pour $hostname : \n\n"); // On parcourt ce qu il y a dans $a et on affiche et écrit ligne par ligne for (reset($a); $i = key($a); next($a)){ fputs ($FichierClient, "$i: $a[$i]\n"); echo "$i: $a[$i]<br>\n"; // On ferme le fichier fclose ($FichierClient); // Si on reçoit une autre methode, on fait presque la même chose else{ $FichierClient = fopen ($_GET['fichier'], "a"); $date=date("d/m/y H:i"); fputs ($FichierClient, "\n\n\nréponse du $date pour $hostname : \n\n"); echo "<h4>reponse :</h4>"; for ($i=0; $i<count($a); $i++) { fputs ($FichierClient, "$i: $a[$i]\n"); echo "$i: $a[$i]<br>\n";?> </body> </html> Cédric Humbert Page 6/8
3) Exemple de résultat : Le résultat s ouvre dans une nouvelle fenêtre Dans le fichier sauvegardé : Cédric Humbert Page 7/8
IV Conclusion Avantages et inconvénients de SNMP : - Avantages : o Simple donc implémenté sur de nombreux équipements o Permet d'administrer du matériel hétérogène o C'est le protocole le plus largement répandu - Inconvénients : o Il faut un administrateur compétent o Sécurité limitée à un contrôle sur la communauté (community string) o Administration répartie ou hiérarchique impossible - Possibilités : o Inventaire de parc informatique Cédric Humbert Page 8/8