构建SNMP协议的Get请求
Get 请求表示网络管理站 NMS 要从 SNMP 代理处获取被管理设备上的一个或多个参数值。
netwox 工具中编号为 159 的模块可以实现 SNMP Get 请求功能,它可以向 SNMP服务设备发送 Get 请求,获取指定参数的值。语法格式如下:
【实例】已知支持 SNMP 协议的远程网络设备地址为 199.58.200.68。在主机 192.168.59.133上,构建 SNMP Get 请求,获取该设备上的系统基本信息。
1) 获取系统基本信息,执行命令如下:
获取到的系统基本信息如下:
2) 通过抓包可以捕获到对应的请求和响应包。
Get 请求包如图所示。
在上图中,第 2 个数据包的源 IP 地址为 192.168.59.133,目标 IP 地址为 199.58.200.68,Info 列中的基本信息为 get-request 1.3.6.1.2.1.1.1.0,表示成功向远程设备发送了 SNMP Get 请求。第 4 个数据包为对应的响应包。
请求数据包的 Simple Network Management Protocol 部分显示了 Get 请求包的报文信息,具体如下:
3) 响应包信息如图所示。
响应包的报文信息如下:
netwox 工具中编号为 159 的模块可以实现 SNMP Get 请求功能,它可以向 SNMP服务设备发送 Get 请求,获取指定参数的值。语法格式如下:
netwox -q OID -i IP
其中,-q 选项用来指定对象标识符,表示要获取该标识符对应的值;-i 选项用来指定 SNMP 服务地址。【实例】已知支持 SNMP 协议的远程网络设备地址为 199.58.200.68。在主机 192.168.59.133上,构建 SNMP Get 请求,获取该设备上的系统基本信息。
1) 获取系统基本信息,执行命令如下:
root@daxueba:~# netwox 159 -q ".1.3.6.1.2.1.1.1.0" -i 199.58.200.68
命令中的 .1.3.6.1.2.1.1.1.0 为对象标识符,表示系统基本信息参数位置。获取到的系统基本信息如下:
'Dell Out-of-band SNMP Agent for Remote Access Controller'
以上输出信息显示了远程设备的系统信息,从中可以了解到该设备是戴尔远程访问控制器。2) 通过抓包可以捕获到对应的请求和响应包。
Get 请求包如图所示。
请求数据包的 Simple Network Management Protocol 部分显示了 Get 请求包的报文信息,具体如下:
Simple Network Management Protocol version: version-1 (0) #版本, 这里值为0, 代表SNMP v1 community: public #共同体 data: get-request (0) #PDU类型, 这里值为0, 表示为Get请求 get-request request-id: 1330050988 #请求标识 error-status: noError (0) #差错状态, 值为0, 表示无差错 error-index: 0 #差错索引 variable-bindings: 1 item #变量绑定 1.3.6.1.2.1.1.1.0: Value (Null) #变量名:值, 目前值为空, 因为 是请求包 Object Name: 1.3.6.1.2.1.1.1.0 (iso.3.6.1.2.1.1.1.0) #变量名 Value (Null) #值, 这里值为空上述输出信息显示了 Get 请求包中的字段信息。可以看到请求的变量名为 1.3.6.1.2.1.1.1.0,目前变量值为空,使用的请求标识为 1330050988。
3) 响应包信息如图所示。
Simple Network Management Protocol version: version-1 (0) community: public data: get-response (2) #PDU类型, 这里值为2, 表示为响应包 get-response request-id: 1330050988 #请求标识 error-status: noError (0) error-index: 0 variable-bindings: 1 item 1.3.6.1.2.1.1.1.0: 44656c6c204f75742d6f662d62616e6420534e4 d50204167... Object Name: 1.3.6.1.2.1.1.1.0 (iso.3.6.1.2.1.1.1.0) Value (OctetString): 44656c6c204f75742d6f662d62616e642 0534e4d50204167... Variable-binding-string: Dell Out-of-band SNMP Agent for Remote Access Controller从输出信息中可以看到,请求标识为 1330050988 与请求包中的请求标识相同,表示是同一次的请求与响应;这里的值类型为 OctetString,并且成功返回了要查询的系统基本信息(最后一行)。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算