很多snmp测试和验证场景,看这些就够了
翻译name和oid
$ snmptranslate -On SNMPv2-MIB::system.sysContact.0
.1.3.6.1.2.1.1.4.0
$ snmptranslate .1.3.6.1.2.1.1.4.0
SNMPv2-MIB::sysContact.0
获取oid值
$ snmpget -v2c -cpublic12 10.27.10.195 .1.3.6.1.2.1.1.4.0 SNMPv2-MIB::sysContact.0 = STRING: ddaaa
设置oid值
$ snmpset -v2c -cprivate12 10.27.10.195 .1.3.6.1.2.1.1.4.0 s "hellocat3"
SNMPv2-MIB::sysContact.0 = STRING: hellocat3
$ snmpget -v2c -cpublic12 10.27.10.195 .1.3.6.1.2.1.1.4.0
SNMPv2-MIB::sysContact.0 = STRING: hellocat3
前缀
前缀可以使用mib文件名,会在mib 默认目录内查找mib文件
snmpset -v2c -cprivate12 10.27.10.195 SNMPv2-MIB::sysContact.0 s "hellocat3"
$ snmpget -v2c -cpublic12 10.27.10.195 SNMPv2-MIB::sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: hellocat55
因为这个五年级特别常用,也可以使用system
snmpset -v2c -cprivate12 10.27.10.195 system.sysContact.0 s "hellocat3"
查询mibs目录
到底netsnmp在哪里查找mib文件?可以执行命令获知:
sudo apt install libsnmp-dev
net-snmp-config --default-mibdirs
获得目录表:
ls /home/reco/.snmp/mibs
ls /usr/share/snmp/mibs
ls /usr/share/snmp/mibs/iana
ls /usr/share/snmp/mibs/ietf
ls /usr/share/mibs/site
ls /usr/share/snmp/mibs
ls /usr/share/mibs/iana
ls /usr/share/mibs/ietf
ls /usr/share/mibs/netsnmp
其中三个目录有货
ls /usr/share/snmp/mibs
ls /usr/share/snmp/mibs/ietf
ls /usr/share/snmp/mibs/iana
大名鼎鼎的ietf是mibs大户,上文用到的SNMPv2-MIB就在这个目录内。目录ls /usr/share/snmp/mibs是net-snmp的私货,有些就是使用案例,比如:
/usr/share/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt