SNMP基础知识(很基础)
转载
1.SNMP的版本
>SNMPV1,V2均采用明文传送,SNMPV3采用加密传送,也就是说对应SNMPV1,V2用抓包工具能在数据包中直接看到团体名。SNMP消息都通过UDP的161端口进行发送接收,只有Trap消息是通过UDP的162端口接收。执行SNMP的设备都缺省的必须采用这些端口。
2.管理信息库MIB
任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。每个SNMP设备(Agent)都有自己的MIB。MIB也可以看作是NMS(网络管理系统,网络管理系统既可以指一台专门用来进行网络管理的服务器,也可以指某个网络设备中执行管理功能的一个应用程序)和Agent之间的沟通桥梁。
想访问最下面那层的ip变量 使用1.3.6.1.2.1.4 这种形式访问。
3.SNMP的操作命令
用于管理进程和代理进程(相当于被管理)之间交换
get-request操作:从代理进程处获取一个或多个参数值
get-next-request操作:从代理进程处获取当前的下一个参数值
set-request操作:设置代理进程的一个或多个参数值
get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,是代理进程响应上面三个命令的操作。
trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。
4.SNMP报文的结构
版本号:
0 对应SNMPv1
1 对应SNMPv2c
2 对应SNMPv2
3 对应SNMPv3
共同体:类似于密码。是管理代理的口令,管理员被允许访问数据对象的前提就是网络管理员知道网络代理的口令。如果把配置管理代理成可以执行Trap命令,当网络管理 员用一个错误的分区名查询管理代理时,系统就发送一个autenticationFailure trap报文。
之后的都属于PDU区域。
PUD类型
0:get-request
1:get-next-request
2:get-response
3:set-request
4:trap
请求标识符(request ID)
这是由管理进程设置的一个整数值。代理进程在发送get-response报文时也要返回此请求标识符。管理进程可同时向许多代理发出get报文,这些报文都使用UDP传送,先发送的有可能后到达。设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文
差错状态(error status)
差错状态 | 名字 | 说明 |
---|---|---|
0 | noError | 一切正常 |
1 | tooBig | 代理无法将回答装入到一个SNMP报文之中 |
2 | noSuchName | 操作指明了一个不存在的变量 |
3 | badValue | 一个set操作指明了一个无效值或无效语法 |
4 | readOnly | 管理进程试图修改一个只读变量 |
5 | genErr | 某些其他的差错 |
差错索引(error index)
当出现noSuchName、badValue或readOnly的差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。