snmp+Python
时间: 2023-12-22 12:27:40 浏览: 87
snimpy:带有Python的交互式SNMP工具
SNMP(Simple Network Management Protocol)是一种网络管理协议,用于管理和监控网络设备。Python中有一些库可以用于SNMP,例如PySNMP和easysnmp。
以下是使用PySNMP库实现SNMP GET操作的示例代码:
```python
from pysnmp.hlapi import *
# 设置SNMP协议版本、目标IP地址、OID
snmp_object = ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0)
snmp_target = UdpTransportTarget(('demo.snmplabs.com', 161))
snmp_version = CommunityData('public')
# 发送SNMP GET请求
error_indication, error_status, error_index, var_binds = next(
getCmd(SnmpEngine(),
snmp_version,
snmp_target,
ContextData(),
ObjectType(snmp_object))
)
# 处理SNMP GET响应
if error_indication:
print(error_indication)
else:
if error_status:
print('%s at %s' % (error_status.prettyPrint(),
error_index and var_binds[int(error_index) - 1][0] or '?'))
else:
for var_bind in var_binds:
print(' = '.join([x.prettyPrint() for x in var_bind]))
```
以上代码使用SNMPv2-MIB中的sysDescr OID获取了demo.snmplabs.com设备的系统描述信息。
阅读全文