Python et SNMP

Le
Vincent Bernat
Hello !

Je cherche à faire un peu de SNMP avec Python. J'ai donc :
- le module fourni par Net-SNMP, syntaxe OK, mais segfaulte tout le
temps
- PySNMP, 10 lignes pour faire une requête, des import à rallonge, pas
très pythonic.
- PyNetSNMP qui est en fait prévu pour Twisted. Pas pratique pour faire
de petits programmes séquentiels.
- TwistedSNMP, idem.
- YapSNMP, plus maintenu, syntaxe sympa mais incompilable de nos jours
- SNMPy, plus maintenu depuis très très longtemps

Vous en connaissez d'autres ?
--
BOFH excuse #157:
Incorrect time syncronization
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
|-| /-\\ |_ \(\)7 [°¿°]
Le #16712441
Bonjour !

Je n'ai jamais eu besoin d'utilise SNMP. Mais, je pense a une
possibilité qui dépend de l'OS.

Dans les OS de la famille Windows, il existe un "SNMP provider" dans WMI
(l'implémentation dans Windows du standard WBEM). Ça se configure :

dans Windows 2000: Wbemsnmp.exe

dans XP & 2003 serveur : Ajouter des nouveaux composants Windows

dans Vista & 2008-serveur : Programmes et fonctionnalités +
Activer/désactiver des fonctionnalités windows


Ensuite, tu peux utiliser COM (dans PyWin) pour piloter WMI. Ou le
module WMI de Tom Golden (http://tgolden.sc.sabren.com/python/wmi.html)



Pour les OS de la famille unix (linux et Cie), il faut chercher dans
l'implémentation de WBEM. Mais, là, je ne sais pas. Un linuxien te
donnera sans doute le chemin.



@-salutations
--
Michel Claveau
elGringo
Le #16713371
On 3 sep, 21:34, Vincent Bernat
Hello !

Je cherche à faire un peu de SNMP avec Python. J'ai donc :
 - le  module fourni  par Net-SNMP, syntaxe  OK, mais segfaulte  tout le
   temps
 - PySNMP, 10 lignes pour faire  une requête, des import à rallon ge, pas
   très pythonic.
 - PyNetSNMP qui est en fait prévu pour Twisted. Pas pratique pour fa ire
   de petits programmes séquentiels.
 - TwistedSNMP, idem.
 - YapSNMP, plus maintenu, syntaxe sympa mais incompilable de nos jours
 - SNMPy, plus maintenu depuis très très longtemps

Vous en connaissez d'autres ?
--
BOFH excuse #157:
Incorrect time syncronization



Pour Linux, il existe le module Scapy (une sorte de couteau suisse
réseau).
Vincent Bernat
Le #17405591
OoO En ce début de soirée du mercredi 03 septembre 2008, vers 21:34, je
disais:

Je cherche à faire un peu de SNMP avec Python. J'ai donc :
- le module fourni par Net-SNMP, syntaxe OK, mais segfaulte tout le
temps
- PySNMP, 10 lignes pour faire une requête, des import à rallonge, pas
très pythonic.
- PyNetSNMP qui est en fait prévu pour Twisted. Pas pratique pour faire
de petits programmes séquentiels.
- TwistedSNMP, idem.
- YapSNMP, plus maintenu, syntaxe sympa mais incompilable de nos jours
- SNMPy, plus maintenu depuis très très longtemps



Hello!

Malgré vos suggestions, je n'ai pas trouvé mon bonheur. J'ai donc écrit
ce qu'il me fallait en utilisant un peu de C, la libsmi et la lib
netsnmp. Cela donne "snimpy":
https://trac.luffy.cx/snimpy/

Cela me permet de faire du SNMP facilement compréhensible de façon très
simple et qui s'arrête (une exception) quand il y a des erreurs. De
plus, l'interface est assez sympa. J'aime bien cet exemple:

routes = m.ipCidrRouteNextHop
for x in routes:
net, netmask, tos, src = x
print "%15s/%-15s via %-15s src %-15s" % (net, netmask, routes[x], src)

Et peu de temps après, j'ai eu aussi besoin de SNMP dans
Twisted. J'utilisé pynetsnmp mais avec un Python 2.4, j'avais des
segfaults. Du coup, rebelotte, j'ai reprogrammé un petit truc sans
prétention qui fait le minimum:
https://trac.luffy.cx/wiremaps/wiki/SnmpLibrary

L'important, c'est d'avoir le choix. ;-)

a+
--
panic("sun_82072_fd_inb: How did I get here?");
2.2.16 /usr/src/linux/include/asm-sparc/floppy.h
Jean-Baptiste renard
Le #17449881
Vincent Bernat wrote:

OoO En ce début de soirée du mercredi 03 septembre 2008, vers 21:34, je
disais:

Je cherche à faire un peu de SNMP avec Python. J'ai donc :
- le module fourni par Net-SNMP, syntaxe OK, mais segfaulte tout le
temps
- PySNMP, 10 lignes pour faire une requête, des import à rallonge, pas
très pythonic.
- PyNetSNMP qui est en fait prévu pour Twisted. Pas pratique pour faire
de petits programmes séquentiels.
- TwistedSNMP, idem.
- YapSNMP, plus maintenu, syntaxe sympa mais incompilable de nos jours
- SNMPy, plus maintenu depuis très très longtemps



Hello!

Malgré vos suggestions, je n'ai pas trouvé mon bonheur. J'ai donc écrit
ce qu'il me fallait en utilisant un peu de C, la libsmi et la lib
netsnmp. Cela donne "snimpy":
https://trac.luffy.cx/snimpy/

Cela me permet de faire du SNMP facilement compréhensible de façon très
simple et qui s'arrête (une exception) quand il y a des erreurs. De
plus, l'interface est assez sympa. J'aime bien cet exemple:

routes = m.ipCidrRouteNextHop
for x in routes:
net, netmask, tos, src = x
print "%15s/%-15s via %-15s src %-15s" % (net, netmask, routes[x],
src)

Et peu de temps après, j'ai eu aussi besoin de SNMP dans
Twisted. J'utilisé pynetsnmp mais avec un Python 2.4, j'avais des
segfaults. Du coup, rebelotte, j'ai reprogrammé un petit truc sans
prétention qui fait le minimum:
https://trac.luffy.cx/wiremaps/wiki/SnmpLibrary

L'important, c'est d'avoir le choix. ;-)

a+



intéressant, je bookmarks
Publicité
Poster une réponse
Anonyme