通过使用命令行(ssh),我可以获得如下所示的开关接口状态(仅演示):
Cisco-Switch# show int status
Port Name Status Vlan Duplex Speed
Eth0/1 test_alias connected 1 a-full a-100
Eth0/2 notconnect 1 auto auto
Eth0/3 connected 3 a-full a-100
Eth0/4 connected 3 a-full a-100
Eth0/5 potchann linkFlapE 255 auto auto
Eth0/6 notconnect 300 auto auto
Eth0/7 sfpAbsent routed auto auto
Eth0/8 sfpAbsent routed auto auto
Eth0/9 connected trunk full a-10G
通过使用SNMP walk(oid:.1.3.6.1.2.1.2.2.1或.1.3.6.1.2.1.31.1.1.1),我可以获得每个接口名称,adminStatus,operStatus等。我在总结后得到了这些:
| adminStatus | OperStatus | commandLine Port Status |
| up | up | connected |
| up | down | notconnect |
| up | down | linkFlapE |
| up | down | sfpAbsent |
| down | down | disable |
| down | down | sfpAbsent |
绝对地,在snmp oid“ 1.3.6.1.2.1.2.2.1”中,当AdminStatus处于运行状态且OperStatus处于处于关闭状态时,会有3种状态。因此,我认为此snmp oid无法获取命令行端口状态。finnaly,我找不到在SNMP中获取交换机接口状态(如“已连接”,“未连接”,“禁用”,“ sfpAbsent”)的方法。希望有人可以告诉我解决这个问题的方法。感谢您的帮助。
大多数接口信息可使用此OID检索:
.1.3.6.1.2.1.2.2.1.7
我认为您只是错过了那里的7个!