通过 Pysnmp 从特定端口发送 SNMP 消息
Sending SNMP messages from certain port by Pysnmp
我正在使用 python pysnmp 从网络中的设备获取信号信息。
for (errorIndication, errorStatus, errorIndex, varBinds) in nextCmd(
SnmpEngine(),
UsmUserData(userName=config.transmitter_username, authKey=config.transmitter_authkey),
UdpTransportTarget((X.X.X.X, 161), timeout=1.0, retries=0),
ContextData(),
ObjectType(ObjectIdentity(SNMP_INITIAL_INFO_OIDS[0][1])),
lexicographicMode=False
):
if errorIndication or errorStatus:
请求没有问题,但我定期(每 5 秒一次)执行此操作,每次发送请求时,目标端口为 161,但源端口不同,这是预期的,因为它会找到任何内容当时可用的端口。我也想修复该端口,但不知道如何使用 pysnmp.hlapi 进行修复。我需要的是绑定用于通过 pysnmp 发送 SNMP 的端口。我在谷歌上搜索了一下,但找不到太多所以我来了。
尝试在 hlapi.UdpTransportTarget 对象上调用 .setLocalAddress
。那应该使您的套接字端绑定到这个特定地址。
也许永久分配该端点是有意义的,这样您就不会碰到其他进程占用的繁忙端口。
我正在使用 python pysnmp 从网络中的设备获取信号信息。
for (errorIndication, errorStatus, errorIndex, varBinds) in nextCmd(
SnmpEngine(),
UsmUserData(userName=config.transmitter_username, authKey=config.transmitter_authkey),
UdpTransportTarget((X.X.X.X, 161), timeout=1.0, retries=0),
ContextData(),
ObjectType(ObjectIdentity(SNMP_INITIAL_INFO_OIDS[0][1])),
lexicographicMode=False
):
if errorIndication or errorStatus:
请求没有问题,但我定期(每 5 秒一次)执行此操作,每次发送请求时,目标端口为 161,但源端口不同,这是预期的,因为它会找到任何内容当时可用的端口。我也想修复该端口,但不知道如何使用 pysnmp.hlapi 进行修复。我需要的是绑定用于通过 pysnmp 发送 SNMP 的端口。我在谷歌上搜索了一下,但找不到太多所以我来了。
尝试在 hlapi.UdpTransportTarget 对象上调用 .setLocalAddress
。那应该使您的套接字端绑定到这个特定地址。
也许永久分配该端点是有意义的,这样您就不会碰到其他进程占用的繁忙端口。