问题标签 [pysnmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2718 浏览

python - 如何使用 python 在 net-snmp 中实现 mib 模块?

在常见问题解答中,我读到这个“..代理还可以支持在 perl 或(从 5.4)python 中实现的 MIB 模块。” 我已经构建了带有 python 支持的 net-snmp,但是现在还不清楚如何用 python 实际实现我自己的 MIB 模块。我在 python 目录中看到的 python 脚本与实现 snmp 客户端有关,而不是 snmp 代理。可能我只是在某个地方错过了重点。有人可以给我一个关于如何开始的提示吗?

谢谢,

汤姆

0 投票
1 回答
622 浏览

python - 使用 Python Asyncore 构建 SNMP 请求-响应服务

我有一个建立在 asyncore 之上的第 3 方协议模块 (SNMP)。asyncore 接口用于处理响应消息。在异步主循环运行时设计生成协议请求端的客户端的正确技术是什么?我现在可以想到两个选择:

  1. 使用 asyncore.loop() 的循环、超时参数让我的客户端程序有时间发送适当的请求。

  2. 创建一个客户端异步调度器,它将在与接收器相同的异步处理循环中执行。

什么是最好的选择?我正在研究第二个解决方案,因为协议 API 没有让我直接访问异步参数。如果我误解了使用 asyncore 的正确技术,请纠正我。

0 投票
5 回答
10488 浏览

python - PySNMP 错误:pysnmp.smi.error.SmiError

我在 Windows XP 机器上运行 Python 程序。当我运行程序时,我收到以下错误:

文件 SNMPv2-MIB.py 当前位于C:\Python27\Lib\pysnmp\smi\mibs. 有谁知道我该如何解决这个问题?

0 投票
1 回答
719 浏览

python - 从 Python 绑定中重置 net-snmp 库的所有全局内部状态

我正在尝试为这个硬件+软件测试主题创建自动化集成测试,它运行一个 SNMP 代理作为它的命令接口。我们的测试设置如下所示:我们使用 Fitnesse 作为测试运行器,使用 PyFit 能够在 Python 中编写测试。然后我们使用带有 Python 绑定的 netsnmp 来发送 SNMP 命令。这工作得很好。

但是,当我尝试运行一个套件时,SNMP 代理(测试对象)会重新启动(通常在不同的模拟时间),这会使 netsnmp 的内部得到各种有趣的错误。

事实证明,netsnmp 库中存储了很多全局状态,例如社区和上下文名称,以及有问题的 EngineTime 和 EngineBootCnt,它们用于防止 SNMP v3 中的重放攻击。这会导致代理拒绝我的 snmp 命令。

我的问题是如何以重置内部全局状态的方式重新初始化 netsnmp 库(来自 Python 绑定)?Python 绑定中的 netsnmp.Session 对象确实采用参数 EngineTime 和 EngineBoots 并将它们设置为 0 应该重置它们,但实际上它似乎没有这样做。我也不知道那里是否还有其他需要重置的全局状态。

我正处于我认为需要重写测试以使用纯 python snmp 库 pysnmp 的地步,但我希望避免它。

0 投票
1 回答
6588 浏览

python - 使用 pyinstaller 创建 Python 可执行文件时未导入库

我正在尝试为 Windows 构建一个 Python .exe 并且能够很好地创建它。但是,当我运行该应用程序时,我注意到它无法执行其所有功能,因为并非所有库都已导入;PySNMP 没有被具体导入。当我查看构建过程的输出时,我注意到 PySNMP 根本没有列出,即使我的程序中的几个模块导入了它。任何人都知道可能导致此问题的原因是什么?谢谢!

这是生成安装程序的代码:

0 投票
2 回答
1798 浏览

python - 会话未定义

我正在尝试运行这个示例程序 - http://pysnmp.sourceforge.net/examples/1.x/snmpbulk.html

我在 Mac OS X 上,我通过以下方式安装了 pysnmp -

现在,当我运行程序时,我得到-


更新:

好像 pysnmp 4.x 没有 msession,所以我尝试了 http://pysnmp.sourceforge.net/examples/4.x/v3arch/index.html

现在我得到 -

该网页还表示他们依赖于第三方库 -

最新的 PySNMP 版本(4.x 和更高版本)取决于以下内容:

用于处理 ASN.1 对象的 Python ASN.1 库 Python
Cryptography Toolkit 用于 SNMP 消息身份验证和加密

如何安装它们?直接从网页的压缩包安装会更好吗?

0 投票
2 回答
772 浏览

python - 出表时出现异步getNext错误

我正在使用其中一个示例进行GetNext树的 SNMPWalk 的操作。我正在使用异步变体来收集 OID -

我得到了我需要的 OID;但是,当它从表中取出并从 cbFun 返回时,最后一行中的 Dispatcher 会抛出一个错误,我无法解决,输出看起来像 -

0 投票
3 回答
21195 浏览

python - 将 snmp 八位字节字符串转换为人类可读的日期格式

使用 pysnmp 框架,我得到一些值进行 snmp walk。不幸的是oid

1.3.6.1.21.69.1.5.8.1.2 (DOCS-CABLE-DEVICE-MIB)

我得到一个奇怪的结果,我无法在这里正确打印,因为它包含 ascii 字符,如BEL ACK

当做一个代表我得到:

OctetString('\x07\xd8\t\x17\x03\x184\x00')

但输出应如下所示:

2008-9-23,3:24:52.0

该格式称为“DateAndTime”。如何将 OctetString 输出转换为“人类可读”的日期/时间?

0 投票
2 回答
9205 浏览

python - Python SNMP GetBulk - 多个 OID

我需要使用 PySNMP 的 GetBulk 实现来查询表 OID 列表。我能够让它查询 1 个表 OID,但无法让它从列表中读取表 OID。我究竟做错了什么?请帮忙。

0 投票
1 回答
1071 浏览

snmp - 使用 build-pysnmp-mibs 解析 mib 和使用 pysnmp 加载 mib 时出错

我正在尝试使用 mibBuilder 加载一些自定义 mib。

最初,根据 pysnmp 文档,我使用 build-pysnmp-mib 实用程序将 mib 转换为 pysnmp mib 格式。但我收到以下错误:

此外,在使用该-k选项时,smidump 会生成一个文件,但 mibBuilder 无法加载生成的文件。

我在某处读到实现中存在错误,但在 Internet 上找不到足够的文档或示例。