0

我正在尝试将 pysnmp 库与 SNMP V3 设置与 MD5 Auth 协议和 AesCfb128 Priv 协议一起使用,以从交换机获取详细信息。我正在尝试两件事。

1.在base机器上安装pysnmp和所有依赖包(包括pycrytpto)

2.为python3创建虚拟环境,并在这个虚拟环境中安装pysnmp和所有依赖包(包括pycrytpto)。

当我采用第一种方法时,可以正确检索详细信息。但是当我尝试第二种方法时,我收到“加密服务不可用”错误。我检查了两者的已安装软件包列表几乎相同。

下面是基本机器的详细信息

$ pip3 list

pip (9.0.1)

ply (3.11)

pyasn1 (0.4.5)

pycryptodomex (3.8.2)

pysmi (0.3.4)

pysnmp (4.4.9)

setuptools (28.8.0)

我的虚拟环境是在“/Users//Test/Python/Pysnmp”位置创建的

$ /Users/<user_name>/Test/Python/Pysnmp/bin/pip3 list

Package Version

pip 18.1

pipdeptree 0.13.2

ply 3.11

pyasn1 0.4.5

pycryptodomex 3.8.2

pysmi 0.3.4

pysnmp 4.4.9

setuptools 40.6.2

这是我尝试使用的命令

for (errorIndication,errorStatus,errorIndex,varBinds) in nextCmd(SnmpEngine(),
    UsmUserData('test_user', 'test_password', 'test_password', usmHMACMD5AuthProtocol, usmAesCfb128Protocol),
    UdpTransportTarget((host, 161)), ContextData(),
    ObjectType(ObjectIdentity(oid)), lexicographicMode=False):

当我在基本机器(如)中运行上述代码时python3 script.py,它会正确返回详细信息。

但是当我使用安装在虚拟环境中的python(如/Users/<user_name>/Test/Python/Pysnmp/bin/python3 script.py)运行它时,它会返回“ Ciphering services not available ”作为错误指示。

我错过了什么???

谢谢

4

0 回答 0