SNMP(简单网络管理协议)是一种用于网络管理系统的协议,它通常使用UDP(用户数据报协议)作为其传输协议。在Python中,你可以使用第三方库如 pysnmp 来发送SNMP数据包。以下是一个简单的例子:
首先,你需要安装 pysnmp 库,你可以使用 pip 来安装:
pip install pysnmp
然后,你可以使用以下代码来发送一个 SNMP GET 请求:
from pysnmp.hlapi import *
errorIndication, errorStatus, errorIndex, varBinds = next(
getCmd(SnmpEngine(),
CommunityData('public'),
UdpTransportTarget(('demo.snmplabs.com', 161)),
ContextData(),
ObjectType(ObjectIdentity('SNMPv2-MIB', 'sysDescr', 0)))
)
if errorIndication:
print(errorIndication)
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
这段代码将发送一个 SNMP GET 请求到 'demo.snmplabs.com',并请求 'sysDescr' 对象的值。请注意,你需要将 'public' 和 'demo.snmplabs.com' 替换为你自己的社区字符串和目标主机。
领取专属 10元无门槛券
手把手带您无忧上云