gpt4 book ai didi

python - pysnmp 中的 ipv6 支持

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:11 24 4
gpt4 key购买 nike

我正在使用以下代码:

import pysnmp
from pysnmp.entity.rfc3413.oneliner import cmdgen


errorIndication, errorStatus, errorIndex, \
varBindTable = cmdGen.nextCmd (
cmdgen.CommunityData(agent, community_string),
cmdgen.UdpTransportTarget ( (ip, port) ),
(str(oid))
)

其中 ip 是 ipv4 地址。如何使用 ipv6 地址。我读过 pysnmp 也支持 ipv6。我不知道如何使用这里的地址。

谢谢。

最佳答案

需要进行一些调整才能通过“oneline”界面使用 IPv6:

from pysnmp.entity.rfc3413.oneliner import cmdgen
from pysnmp.carrier.asynsock.dgram import udp6
import socket

class Udp6TransportTarget(cmdgen.UdpTransportTarget):
transportDomain = udp6.domainName

def __init__(self, transportAddr, timeout=1, retries=5):
self.transportAddr = (
socket.getaddrinfo(transportAddr[0], transportAddr[1],
socket.AF_INET6,
socket.SOCK_DGRAM,
socket.IPPROTO_UDP)[0][4]
)
self.timeout = timeout
self.retries = retries

def openClientMode(self):
self.transport = udp6.Udp6SocketTransport().openClientMode()
return self.transport

print cmdgen.CommandGenerator().getCmd(
cmdgen.CommunityData('public'),
Udp6TransportTarget(('::1', 161)),
'1.3.6.1.2.1.1.1.0')

关于python - pysnmp 中的 ipv6 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11337883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com