gpt4 book ai didi

python - PySNMP 查询接口(interface)的选择列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:26:30 25 4
gpt4 key购买 nike

我想获取有关选定接口(interface)列表的所有信息。目前我有一个变量 oid_base

oid_base = ['1.3.6.1.2.1.2.2.1.1.', 
'1.3.6.1.2.1.2.2.1.2.',
'1.3.6.1.2.1.2.2.1.3.',
...,
'1.3.6.1.2.1.2.2.1.22.']

以及接口(interface)列表(我想查询数百个中的大约 20 个)

interfaces = ['35', '37', '94']

为了获取我想要的数据,我循环遍历接口(interface)并为每个单独传递给 cmdgen.getCmd 的接口(interface)创建一个 oid_args:

for interface in snmpif.interfaces():
oid_args = [str(b + interface) for b in oid_base]
ei, es, ein, var_binds = cmd_gen.getCmd(sec_obj, trans, *oid_args)
# Handle errors and output of `var_binds`

有没有办法批量查询所有接口(interface)并返回一个表。

我尝试过使用cmdgen.bulkCmd,但我不知道如何选择接口(interface)。

最佳答案

假设您正在尝试优化 SNMP 通信的数量,则可以使用 getBulk(),但对于相邻接口(interface)池。例如,如果您必须查询接口(interface) 2、3、4,则可以对接口(interface) 1 执行 getBulk(),并将 maxRepetitions 和 maxRows 参数设置为 3(要查询的接口(interface)数量)。

可以通过将这些“隔离”接口(interface)放在 oid_args 的开头并相应地设置 getBulk 的 nonRepeaters 选项来单独查询。

无论 SNMP 请求类型如何,您都可以在 SNMP 数据包可以容纳的情况下将尽可能多的 OID 填充到请求中,而不必只是属于单个接口(interface)的 OID。

关于python - PySNMP 查询接口(interface)的选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085205/

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