Bonjour,
Je suis actuellement sur un projet d'interrogation de switches, je dois donc me servir du protocol SNMP en me servant également du python( je suis en python 3.2.2), aillant pris conscience du protocol SNMP, j'aimerai donc pouvoir tester que l'agent est joignable et que je puisse donc recevoir une information en retour.
Pour m'assurer d'avoir un agent et de pouvoir effectuer cette opération sans problème de configuration j'ai voulu tester sur un agent public sur ce site: http://pysnmp.sourceforge.net/quickstart.html
avec le script proposé :
from pysnmp.entity.rfc3413.oneliner import cmdgen
cmdGen = cmdgen.CommandGenerator()
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(('10.137.48.1', 161)),
cmdgen.MibVariable('SNMPv2-MIB', 'sysName', 0)
)
# Check for errors and print out results
if errorIndication:
print(errorIndication)
else:
if errorStatus:
print('%s at %s' % (
errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex)-1] or '?'
)
)
else:
for name, val in varBinds:
print('%s = %s' % (name.prettyPrint(), val.prettyPrint()))
Seulement lorsque que je run sur le shell :
>>> ================================ RESTART ================================
>>>
No SNMP response received before timeout
Etant débutant dans ce qui est réseau, scripts, SNMP etc... Je n'arrive pas à comprendre d'où l'erreur pourrait provenir, ai-je mal compris comment fonctionne un agent ?
Merci d'avance.
Partager