Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| 215snmp:70_exercice-pratique [le 15/07/2010 à 09:53] – prof | 215snmp:70_exercice-pratique [le 30/06/2018 à 15:43] (Version actuelle) – prof | ||
|---|---|---|---|
| Ligne 210: | Ligne 210: | ||
| ==== Deuxième essai ==== | ==== Deuxième essai ==== | ||
| + | Comme ceci n'est pas un cours de PHP, voici juste une façon de faire, parmi tant d' | ||
| <code php> | <code php> | ||
| Ligne 220: | Ligne 221: | ||
| $X = snmprealwalk(' | $X = snmprealwalk(' | ||
| foreach($X as $key => $value) { | foreach($X as $key => $value) { | ||
| - | $adrMac | + | $macAddr |
| $port = explode(': | $port = explode(': | ||
| - | echo $port[1].' | + | echo $port[1].' |
| } | } | ||
| ?> | ?> | ||
| Ligne 244: | Ligne 245: | ||
| 13 == 144.230.186.157.115.173 | 13 == 144.230.186.157.115.173 | ||
| </ | </ | ||
| - | Pour trier correctement | + | Cependant : |
| + | * les adresses MAC (les clés) ne sont pas dans un format exploitable (représentation hexadécimale) ; | ||
| + | * les ports (les données) sont sous forme de texte, si bien qu'un tri se fera suivant | ||
| + | Nous allons donc créer un second | ||
| + | ==== Troisième essai ==== | ||
| + | === L' | ||
| + | Créons une fonction dans laquelle nous injecterons l' | ||
| + | <code php> | ||
| + | function parseMacAddr($T) { | ||
| + | $tok = strtok($T," | ||
| + | while ($tok !== false) { | ||
| + | $oct=dechex($tok); | ||
| + | settype($oct," | ||
| + | if (strlen($oct)==1) $oct = " | ||
| + | $macAddr = $macAddr.$oct.":"; | ||
| + | $tok = strtok(" | ||
| + | } | ||
| + | $macAddr = substr($macAddr, | ||
| + | return $macAddr; | ||
| + | } | ||
| + | </ | ||
| + | La fonction '' | ||
| + | |||
| + | === La solution définitive(? | ||
| + | Finalement, le code suivant : | ||
| <code php> | <code php> | ||
| <?php | <?php | ||
| Ligne 260: | Ligne 285: | ||
| } | } | ||
| + | // nous souhaitons traiter les OIDs de façon numérique | ||
| + | snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC); | ||
| + | |||
| $OID = ' | $OID = ' | ||
| - | + | ||
| - | snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC); | + | |
| $X = snmprealwalk(' | $X = snmprealwalk(' | ||
| foreach($X as $key => $value) { | foreach($X as $key => $value) { | ||
| Ligne 280: | Ligne 306: | ||
| ?> | ?> | ||
| </ | </ | ||
| + | donne quelque chose d' | ||
| + | < | ||
| + | 0 == 00: | ||
| + | 3 == 00: | ||
| + | 4 == 00: | ||
| + | 5 == 00: | ||
| + | 6 == 00: | ||
| + | 7 == 00: | ||
| + | 8 == 00: | ||
| + | 9 == 00: | ||
| + | 10 == 00: | ||
| + | 11 == 00: | ||
| + | 13 == 90: | ||
| + | 23 == 00: | ||
| + | 23 == 00: | ||
| + | 24 == 00: | ||
| + | 24 == 00: | ||
| + | </ | ||
| + | Notre tableau '' | ||
| + | ===== Pour finir ===== | ||
| + | Beaucoup d' | ||
Exercice pratique: Dernière modification le: 15/07/2010 à 09:53 par prof