您当前的位置:首页 > 计算机 > 网络通信

构建SNMP协议的Walk请求

时间:03-07来源:作者:点击数:

Walk 请求与 Get 请求类似,实际上是一个 Get-next-request 请求。区别在于,Walk 请求是获取对象标识符在系统树中所处位置的下一个对象标识符,并请求参数值。

netwox 工具中编号为 160 的模块实现了 SNMP Walk 请求功能,它可以向 SNMP 服务设备发送 Walk 请求,获取指定对象标识符的下一个对象标识符。语法格式如下:

netwox -q OID -i IP

其中,-q 选项用来指定对象标识符,表示要获取该标识符的下一个对象标识符;-i 选项用来指定 SNMP 服务地址。

【实例】已知支持 SNMP 协议的远程网络设备地址为 198.13.107.218。在主机 192.168.59.133 上构建 SNMP Get 请求,获取指定标识符的下一个标识符的值。

1) 获取网络接口描述信息,执行命令如下:

root@daxueba:~# netwox 160 -q ".1.3.6.1.2.1.2.2.1.2" -i 198.13.107.218

命令中 .1.3.6.1.2.1.2.2.1.2 为网络接口描述信息的标识符。

执行命令后输出信息如下:

.1.3.6.1.2.1.2.2.1.2.1: 'LOOPBACK'

以上输出信息显示了下一个标识符,这里为 .1.3.6.1.2.1.2.2.1.2.1,并且获取到了对应的值为 LOOPBACK。表示网络接口为回环接口。

2) 通过抓包可以看到构建的 SNMP Walk 请求包和对应的响应包,如图所示。 

其中,第 18 个数据包的源 IP 地址为 192.168.59.133,目标 IP 地址为 198.13.107.218,Info 列中的基本信息为 get-next-request 1.3.6.1.2.1.2.2.1.2。其中,1.3.6.1.2.1.2.2.1.2 表示 OID,get-next-request 表示要获取该 OID 的下一个 OID。

该数据包的报文信息如下:

Simple Network Management Protocol
version: version-1 (0)
community: public
data: get-next-request (1)                  #PDU类型, 这里值为1, 表示为Walk请求
get-next-request
request-id: 222961396
error-status: noError (0)
error-index: 0
variable-bindings: 1 item
1.3.6.1.2.1.2.2.1.2: Value (Null)
Object Name: 1.3.6.1.2.1.2.2.1.2 (iso.3.6.1.2.1.2.2.1.2)
#对象名(变量名)
Value (Null)

从输出信息可以看到,报文中 PDU 类型为 1,请求的变量名为对象标识符 1.3.6.1.2.1.2.2.1.2。

3) 捕获到的返回数据包,如图所示。 

该数据包为对应的响应包。此时在报文中可以看到,对象名为 1.3.6.1.2.1.2.2.1.2.1,该 OID 是命令中指定的 OID 的下一个 OID。

4) 指定再次向下一个 OID 发送请求,捕获的数据包如图所示。 

从图中的数据包报文中可以看到,对象名为 1.3.6.1.2.1.2.2.1.2.1,表示向下一个 OID 发送了请求。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门