【发布时间】:2015-02-02 17:54:01
【问题描述】:
我知道这里有很多关于解析 snmpwalk 响应的问题和答案,但我似乎无法在这里找到相关的答案。我不擅长解析文本,但我正在尽力学习。
我正在使用以下命令轮询我的瞻博网络设备:
snmpwalk -v2c -c blablabla x.x.x.x iso.3.6.1.2.1.2.2.1.2
得到如下响应:
iso.3.6.1.2.1.2.2.1.2.2548 = STRING: "xe-4/0/1.3461"
iso.3.6.1.2.1.2.2.1.2.2549 = STRING: "xe-4/0/2.3462"
iso.3.6.1.2.1.2.2.1.2.2550 = STRING: "xe-4/0/2.3461"
iso.3.6.1.2.1.2.2.1.2.2551 = STRING: "xe-4/0/3.3462"
iso.3.6.1.2.1.2.2.1.2.2552 = STRING: "xe-4/0/3.3461"
iso.3.6.1.2.1.2.2.1.2.2557 = STRING: "xe-4/2/1.1514"
iso.3.6.1.2.1.2.2.1.2.2558 = STRING: "xe-4/2/1.1634"
由于此特定设备上有许多接口,因此省略了输出。 我需要解析这个输出,以便我只能获得物理接口。例如字符串外:
iso.3.6.1.2.1.2.2.1.2.2557 = STRING: "xe-4/2/1.1514"
我只需要提取 xe-4/2/1 等其他行。基本上,在字符 " 之后,点之前的所有内容。请注意,有这样的行:
iso.3.6.1.2.1.2.2.1.2.1664 = STRING: "xe-4/3/3"
iso.3.6.1.2.1.2.2.1.2.1665 = STRING: "xe-4/1/3.534"
iso.3.6.1.2.1.2.2.1.2.1666 = STRING: "xe-4/1/3.552"
iso.3.6.1.2.1.2.2.1.2.1667 = STRING: "xe-4/3/0.1613"
iso.3.6.1.2.1.2.2.1.2.1296 = STRING: "ae2.1464"
iso.3.6.1.2.1.2.2.1.2.1297 = STRING: "ae2.1503"
iso.3.6.1.2.1.2.2.1.2.1299 = STRING: "ae2.1596"
iso.3.6.1.2.1.2.2.1.2.1300 = STRING: "ae2.2020"
我的最终目标是从这个特定设备中提取所有物理接口。与接口相关的唯一 OID 似乎是 iso.3.6.1.2.1.2.2.1.2 并且在汇集设备时它输出所有接口,包括物理和逻辑接口。
非常感谢
【问题讨论】:
-
您提到的 OID 是
ifDescr并且您注意到它显示了所有现有接口。您可以通过ifTypeOID (1.3.6.1.2.1.2.2.1.3) 根据类型过滤接口,然后将它们映射到来自ifDescrOID 的接口名称。 -
为什么不运行
snmpget -v2c -c blablabla x.x.x.x iso.3.6.1.2.1.2.2.1.2.2557snmpget一个ODI。snmpwalk用于获取ODIs的组