SNMP 协议 OID的使用

SNMP 协议 OID的使用

SNMP(Simple Network Management Protocol简单网络管理)协议 是现在网络管理系统(NMS)监控网络设备状态的协议,是现在网管事实上的标准,如果网络设备不支持SNMP协议的话,那就好花费大量的精力来说服NMS厂商来支持你的设备,这样得不偿失。

 

SNMP支持的操作和操作方法很简单的(当然协议本身还是不简单的)。

SNMP的操作:GET ,GETNEXT, SET, TRAP

SNMP将被管理对象用一个树来组织,被管理对象用OID表示(看不懂的童鞋先去看看Google百度一下snmp),通过snmp操作oid即可得到网络管理的数据。

 

oid长这样“.1.3.6.1.2.1.1.2.0”  子树 1 -> 3 -> 6 -> 1 -> 2 -> 1 -> 1 -> 2 

 

oid的设计,在开发snmp agent中合理的设计OID让它发挥强大的查询功能。

(1)最简单的查找对象值 GET .1.3.6.1.4.1.123.2.1.2  从根节点到叶子节点 

(2)查找表格中对象值 [表格的表现力是非常强大的,想想数据库就是一张一张的表格],snmp协议当然要用表格来组织如此多的被管理的数据,而且通过GET GETNEXT oid可以完成各种形式完成对表格数据车查询,(当然一次只能查到一个被管理对象的数据,所以比较简单)。

      通过二维表格定位查询 GET .1.3.6.1.4.1.123.3.column-index.row-index 倒数第二位是列名的索引,最后一位是行索引

      通过某个字段索引比如ID号,可以像GET .1.3.6.1.4.1.123.3.column-index.id这样获取

                            比如IP地址,可以像 GET .1.3.6.1.4.1.123.3.column-index.192.168.1.254这样获取

                            比如 名称字符串,可以像这样GET .1.3.6.1.4.1.123.3.column-index.length.aa.aa. ... .aa 其中length为名称字符串的长度,.aa.aa. ... .aa为名称的ascii码。

       通过支持GETNEXT .1.3.6.1.4.1.123.3.column-index.0.192.168.1.254 得到值并返回OID .1.3.6.1.4.1.123.3.column-index.index.192.168.1.254 如果没有值就返回 .1.3.6.1.4.1.123.3.column-index.first-row-index(表格第一行的值和oid),常用于在表中遍历ip地址为192.168.1.254的所有的字段值。

(3) 多个查询关键字组合

   关键字的类型 :int32:直接使用即可,如123

                        ip地址:也可以直接使用,就是四个int32的组合而已,如192.168.1.254

                        字符串:使用字符串个数+字符串的ascii码。 aa 表示为“2.97.97”

 查询的规则要制定好,顺序不能变,字符串的最好放在最后一个。如我要查询ip为192.168.1.254上用户名为aa的用户的在线时间可以这样".1.3.6.1.4.1.123.3.在线时间.192.168.1.254.2.97.97"

 还可以定义一下关键词的类型,比如1=int32,2=ip地址,3=字符串,可以这样 “".1.3.6.1.4.1.123.3.在线时间.3.2.97.97.2.192.168.1.254。

 

还有没有别的oid的设计方法漏掉的,希望大家能够补充交流

转载于:https://my.oschina.net/macwe/blog/160177

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值