Gilbert Cao
E-mail: gilbert.cao@rmrf.it
Tags : Programmation
SNMP Hook est une extension à l'agent SNMP fourni par le service Windows SNMP Service. Sa fonction est de pouvoir étendre l'arbre des OID avec un nouveau noeud (typiquement) dans l'OID 1.3.6.1.4.1 (iso.org.dod.internet.private.enterprise).
Sous réserve que vous disposez d'un numéro, fourni par l'IANA (Internet Assigned Numbers Authority), dans l'OID 1.3.6.1.4.1 (cf. Numéros privé d'entreprise), vous pouvez ajouter une nouvelle arborescence dans le service SNMP.
Ce programme se présente sous la forme d'un fichier DLL snmp-hook.dll à charger au démarrage du service SNMP. Il a été testé sous Windows XP et Windows 2003 32 bits. Pour ajouter cette extension, vous trouverez toutes les informations nécessaires dans cette article.
Pour configurer les nouvelles OIDs, un fichier snmp-hook.ini doit être créé et déposé dans le même dossier que le fichier snmp-hook.dll.
Ci dessous, un exemple de fichier snmp-hook.ini avec le numéro d'entreprise 2 (à adapter en fonction de votre numéro !) :
[snmp-hook]
oid_enterprises = 1.3.6.1.4.1.2
[1.1]
name = About
value = "Author: hika (hika@bsdmon.com)"
access = READ_ONLY
type = OCTETSTRING
[1.2]
name = ApplicationName
value = "snmp-hook : SNMP DLL Agent"
access = READ_ONLY
type = OCTETSTRING
[1.3.1]
name = StringValue
value ="default"
access = READ_WRITE
type = OCTETSTRING
[1.3.2]
name = IntegerValue
value = 1
access = READ_WRITE
type = INTEGER
[1.3.3]
name = IpAddressValue
value = 10.0.1.254
access = READ_WRITE
type = IPADDRESS
[1.4.1]
name = StringValueHooked
value = "default"
access = READ_ONLY
type = OCTETSTRING
hook_command = C:\DATA\StringValueHooked.txt
[1.4.2]
name = IntegerValueHooked
value = 1
access = READ_ONLY
type = INTEGER
hook_command = C:\DATA\IntegerValueHooked.txt
[1.4.3]
name = IpAddressValueHooked
value = 10.0.1.253
access = READ_ONLY
type = IPADDRESS
hook_command = C:\DATA\IpAddressValueHooked.txt
Les 3 derniers OID ont la particularité d'avoir leur valeur issue d'un fichier .txt.
Si les fichiers n'existent pas, la valeur par défaut ("value = ") sera retournée.
Vous pouvez télécharger les sources dans le repository SVN : svn://svn.bsdmon.com/snmp-hook ou les consulter sur ce lien. Documentation snmp-hook.ini à venir...