问题标签 [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 回答
5451 浏览

python - 将 pysnmp 数字 oid 输出转换为符号名称

我编写了一个脚本(如下)来测试我pysnmp在我的一个应用程序中的使用效果。我需要能够使用类似名称的 mib-walk 网络元素ifDescr,并且我的输出需要引用我查询的相同名称...

问题

当我执行此代码时,从我的本地定义中pysnmp正确识别; 但是,没有将 mib OID 转换为如下输出中的名称...ifDescrRFC-1213.pypysnmpifDescr

问题

如何将实例pysnmp输出为而不是?ObjectName()ObjectName(ifDescr.1)ObjectName(1.3.6.1.2.1.2.2.1.2.1)

更新

基于 Popper12 的答案的显式解决方案是

当我运行它时,我现在得到...

这并不能回答我关于带有符号名称的 ObjectName 实例的确切问题;但是,它肯定已经足够好了。

0 投票
1 回答
5785 浏览

python - 如何在 python 中检查网络接口上的数据传输?

有一个套接字方法可以获取给定网络接口的 IP:

它返回以下内容:

有没有类似的方法可以返回那个接口的网络传输?我知道我可以阅读/proc/net/dev,但我喜欢套接字方法。

0 投票
2 回答
11349 浏览

python - python net-snmp 加载 mibs

我正在使用 net-snmp 的 python 库对各种开关进行一些长查询。我希望能够加载新的 mib——但我找不到任何有关如何执行此操作的文档。

PySNMP 似乎相当复杂,需要我为每个 mib 创建 Python 对象(这对我来说无法扩展);所以我坚持使用 net-snmp 的库(除了加载 mib 之外,这些库还不错)。

我知道我可以将-mand-M选项与 net-snmp 命令行工具一起使用,并且有关于使用所有 mib 预编译 net-snmp 套件(等)的文档./configuremake我也假设到库中);如果 Python 库不提供加载 mib 的能力,我是否可以至少配置 net-snmp 以提供我的 python 库访问 mib 而无需重新编译?

0 投票
1 回答
85765 浏览

python - 如何使用 python 从 SNMP 获取数据?

如何从 fdb 表中获取值 mac 和 vlan 使用 python?
在 bash snmpwalk 中工作正常:

pysnmp:

输出:[(ObjectName(1.3.6.1.2.1.17.7.1.2.2.1.2), NoSuchInstance(''))]

输出:('27','27','25','27','27','27','24','27','25','18','4','27' , '25', '27', '27', '25', '27', '27', '27', '27', '27', '27', '27', '27', ' 27'、'27'、'27'、'27'、'27'、'27'、'27'、'27'、'23'、'25'、'27'、'27'、'27' , '25', '27', '25', '27', '27', '25', '27', '27', '27', '27', '27', '27', ' 27','27','27','25','27','27','27','27','27','27','27','27'、'27'、'27'、'27'、'27'、'25'、'25'、'25'、'7'、'27'、'27'、'9'、'25' ','27','20','19','27','27','27','27','27','27','27','27','27', '27'、'27'、'27'、'27'、'27'、'11'、'25'、'27'、'27'、'27'、'27'、'27'、'27' ','27','27','27','27','27','27','27','27','25','27','27','27', '27','27','27','27','27','27','2','27','5','27','0',“27”、“27”、“27”、“27”、“27”)

第一个脚本(pysnmp)返回 NoSuchInstance。第二个脚本(netsnmp)返回端口列表,但没有 mac 和 vlan。怎么了?

0 投票
2 回答
4417 浏览

python - 如何在 PySNMP 中进行单个 GETNEXT 查询

我正在尝试进行一个简单的 snmp GETNEXT 查询,以检索树层次结构中给定 OID 的下一项。

例如,我想要的是:

当我使用 OID 1.3.6.1.2.1.1 (iso.org.dod.internet.mgmt.mib-2.system)发出GETNEXT请求时

我希望得到一个响应,包括 OID 1.3.6.1.2.1.1.1.0 (iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0) 及其相应的值。

事实是:

为了检索单个下一个值,PySNMP 在1.3.6.1.2.1.1下执行 SNMP 遍历并检索所有子项。

如何更改此行为并使其仅返回单个下一个值而不是执行 snmpwalk?

我使用以下代码,该代码取自 PySNMP 的文档。

0 投票
1 回答
1457 浏览

rest - SNMP 包装代理?

所以我们有一些内部应用程序通过 RESTful api 提供指标。我们想通过 SNMP 公开这些数据。我在想的是,在主机级别,SNMP 包装器将接收 SNMPGET,然后对必要的数据执行 HTTP 请求,转换为 SNMP 并回复。

有没有人做过类似的事情,或者听说过有人做过类似的事情。任何现有的程序或库可用?

0 投票
1 回答
718 浏览

python - PySNMP:加载错误:错误的 OctetString 初始化程序

我有来自 pysnmp 页面的以下示例:# GET Command Generator from pysnmp.entity.rfc3413.oneliner import cmdgen

我确保 SNMP 正在我的机器上运行。我使用以下命令在控制台中签入:

效果很好。如果我执行上面的 python 代码,我会收到以下错误:

最后的数字随着每次执行而变化(似乎是时间戳或类似的东西)。我正在使用 python 2.7 和最新版本的 pySNMP (4.2.1)。有谁知道这个示例代码有什么问题?

0 投票
1 回答
5308 浏览

python - 使用 MIB 文件时出现 PySNMP 错误

我正在尝试在 PySNMP 中使用 MIB 文件。代码相当简单。没什么复杂的。只是试图获取 OID 下的信息。我正在使用的代码如下:

我知道放入其中的数据是准确的,就像我使用它时asynCommandGenerator.asyncNextCmd一样udpTransportTargetCommunityData它可以正常工作。另外,我看到的错误非常特定于 MibBuilder 组件。

我看到的错误是:

回溯(最近一次通话最后):

文件“./snmpcollectortest.py”,第 11 行,在

'NS-MIB-smiv2',

loadModules 中的文件“/usr/lib/python2.7/site-packages/pysnmp-4.2.1-py2.7.egg/pysnmp/smi/builder.py”,第 221 行

pysnmp.smi.error.SmiError:MIB 模块“/path/to/command/mibs/MIB-File.py”加载错误:在搜索路径中找不到 MIB 文件“ASN1.py[co]”

更新:

我发现我没有安装 M2Crypto,这就是我找不到 ASN1.py 的原因。但是我已经纠正了这个问题,但我仍然遇到同样的错误。

0 投票
1 回答
837 浏览

python - PySNMP MIB 模块在尝试访问功能 Counter64 时失败

尝试运行基于 MIB 的 SNMP 脚本时遇到了问题。尽管我知道包含该功能的模块已安装,但它无法运行功能 Counter64。MIB 模块是自动生成的,所以我尝试在安装缺少的模块后重新生成它,但它没有解决问题。

代码如下:

我知道环境变量是正确的,因为我可以使用手动分配的 OID 毫无问题地查询它们。我收到的 Traceback 是:

有人有建议吗?Counter64 是 pycopia-SMI Python 模块的一部分,我已经确认它已安装。但我不确定如何解决这个问题。

0 投票
1 回答
3443 浏览

python - 如何使用pysnmp监控系统资源?

您好,我是 python 和 snmp 的新手,我想知道如何使用 pysnmp 来监控系统资源,例如 CPU 使用率、内存使用率、磁盘使用率和 NIC 负载?

我正在尝试cmdgen.CommandGenerator().getCmd()但很难找到能给我带来任何有意义的 OID。

我尝试过的一个例子(cpu使用查询):

输出: