【a】 快速snmp读写

561 阅读1分钟

很多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