简单网络管理协议(SNMP)是用于管理IP网络上的设备的Internet标准协议,包括用于数据检索,修改和通知的操作。 SNMP通常通过UDP运行。
我终于成功地使用以下 python 脚本为我的专有 MIB 生成了一个 Get 命令: 从 pysnmp.entity.rfc3413.oneliner 导入 cmdgen 错误指示、错误状态、错误索引、变量...
使用 snmpwalk 我可以从我的设备中获取此信息: OID=.1.3.6.1.4.1.5296.1.9.1.1.1.7.115.101.99.99.97.57.27.1.41 类型=八位字节字符串 值=secca99 我在 Python 中尝试了这个程序来从
我试图弄清楚如何加载mib并获取cisco交换机的sysObjectID,然后将其解析为人类可读的内容。现在我的代码可以工作,但令我困惑的是
如何使用 SNMPv3 从 cisco 交换机提取每个 VLAN 的 MAC 地址?
我想提取交换机知道的所有MAC地址。我在SNMPv2中发现 此命令在 Linux 终端上成功 snmpwalk -v2c -c SNMPCommunity@10 10.10.10.10 .1.3.6.1.2.1.17...
我想使用python pysnmp模块获取snmp数据。我曾经使用命令行来获取 SNMP 数据,但现在我想使用 pysnmp 模块来读取它。 SNMP命令- snmpwalk -v 1 -c 公共 我想使用python pysnmp模块获取snmp数据。我曾经使用命令行来获取 SNMP 数据,但现在我想使用 pysnmp 模块来读取它。 SNMP 命令 - snmpwalk -v 1 -c public <ip address>:<port> xyz::pqr 我正在使用上面的命令。现在我尝试了类似下面的东西 - import netsnmp def getmac(): oid = netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.2.1.17.7.1.2.2.1.2')) res = netsnmp.snmpgetbulk(oid, Version = 1, DestHost='ip', Community='pub') return res print getmac() 我遇到错误 - 导入 netsnmp。没有模块 netsnmp 任何人都可以给我建议如何使用 python 从 snmp 服务器获取 snmp 数据? 您似乎使用的是 netsnmp 模块,而不是 pysnmp。 如果您想使用pysnmp,那么这个示例可能会有所帮助: from pysnmp.hlapi import * for (errorIndication, errorStatus, errorIndex, varBinds) in nextCmd(SnmpEngine(), CommunityData('public', mpModel=0), UdpTransportTarget(('demo.pysnmp.com', 161)), ContextData(), ObjectType(ObjectIdentity('1.3.6.1.2.1.17.7.1.2.2.1.2'))): if errorIndication or errorStatus: print(errorIndication or errorStatus) break else: for varBind in varBinds: print(' = '.join([x.prettyPrint() for x in varBind])) 更新: 上述循环每次迭代都会获取一个 OID 值。如果您想更有效地获取数据,一种选择是将更多 OID 填充到查询中(以许多 ObjectType(...) 参数的形式)。 或者您可以切换到 GETBULK PDU 类型,这可以通过将您的 nextCmd 调用更改为 bulkCmd 像这样来完成。 from pysnmp.hlapi import * for (errorIndication, errorStatus, errorIndex, varBinds) in bulkCmd(SnmpEngine(), CommunityData('public'), UdpTransportTarget(('demo.pysnmp.com', 161)), ContextData(), 0, 25, # fetch up to 25 OIDs one-shot ObjectType(ObjectIdentity('1.3.6.1.2.1.17.7.1.2.2.1.2'))): if errorIndication or errorStatus: print(errorIndication or errorStatus) break else: for varBind in varBinds: print(' = '.join([x.prettyPrint() for x in varBind])) 请记住,GETBULK 命令支持首次在 SNMP v2c 中引入,也就是说您不能通过 SNMP v1 使用它。
客户要求我们将 SNMP 陷阱发送到他们的 Nagios 服务器,而不是电子邮件警报。昨天之前我对 SNMP 唯一了解的是它听起来像一个缩写词,所以
我正在尝试发送指定发件人代理 IP 地址的 SNMP 陷阱。 我一直在测试 net-snmp snmptrap 命令及其选项,但我似乎无法修改发件人地址...
对专有 MIB 进行 GET 查询的结果是:(无、无、无、[])。 这个结果有什么意义呢? 这是Python脚本: >>>g= getCmd(SnmpEngine(), ... 通讯...
我正在尝试利用 pysnmp 中的 setCmd() 方法来设置变量。我在设置特定对象标识时遇到问题,因为 pysnmp 似乎将“.0”附加到我想要的对象标识...
SNMP v3 的 PYSNMP 支持 TRAP 和 Inform Receiver 吗?
我可以从其文档站点看到 SNMP v1 和 V2 的陷阱接收器。 它不支持 SNMP v3 陷阱。 PYSNMP 中有 v3 陷阱接收器的东西吗? 还有什么可以通知接收者的吗?
我正在尝试用 Python 查询 Cisco 路由设备上的 SNMP 变量,但很困难。 我有一个运行良好的 snmpwalk 命令: $snmpwalk -v2c -c <
我从 PySNMP 开始,提供的示例效果非常好。 该示例表示它可以与命令一起使用:“snmpwalk -v2c -c public 127.0.0.1 .1.3.6”,它是正确的,它可以工作(仅在
我在 PySNMP 代理中实现自定义 MIB 时遇到困难。 我从它的文档网站开始,创建了自己的 MIB 文件,使用 build-pysnmp-mib 制作了一个 Python 模块并成功导入...
我正在根据 pysnmp 的文档开发一个命令响应程序。 我的目的是通过从文本文件(随时间更新)读取 snmp 数据来回答我的托管对象的获取消息。 ...
pysnmp.smi.error.SmiError:在 <pysnmp.smi.builder.MibBuilder instance at Y>
我正在尝试对我的应用程序的一些特定 OID 执行 GET 命令。我有一个 .txt 格式的自定义 MIB 文件。我通过 http://www.ibr.cs.tu-bs.de/projects/libsmi... 将文件转换为 .py 格式...
我正在尝试查找Python的netsnmp绑定是否可以使用twisted进行异步?如果有人有一个例子,那会很有帮助。我的目标是看看我是否可以在 a...
我想开发一个在远程Linux服务器上运行的python代码,它可以使用SNMP的所有功能,如SNMPGet、SNMPSet、SNMPWalk。基本上我想创建表达式 MIB ...
目前我已经设置了trap监听器,它可以很好地监听snmp通知。 然而它只返回数字 oid,我希望能够将此 oid 解析为人类可读的......
总而言之, 我正在利用 pysnmp 获取多个值来创建包含路由表信息的 .CSV。 当我在 OID: .1.3.6.1.2.1.4.20.1.3 上执行 SNMPWALK I 时,我得到: IP-MIB::ipAdEntNetMask....
我有以下代码: cmdGen = cmdgen.AsynCommandGenerator() cmdGen.asyncNextCmd( cmdgen.CommunityData('公共', mpModel=0), cmdgen.UdpTransportTarget((ip, 161)), ...