但是还有一种情况,就是 SNMP 代理主动向网络管理站 NMS 发出报文,通知发生了某些事件。该种情况使用的是 Trap 请求,它可以用来通知故障、连接的中断和恢复、认证失败等消息。
由于 SNMP 版本不同,netwox 工具提供了不同的模块,用于构建 SNMPv1 版本和 SNMPv2 版本的 Trap 请求。
构建 SNMPv1 版本的 Trap 请求
netwox 工具编号为 161 的模块实现了 SNMPv1 版本的 Trap 请求功能,其语法格式如下:netwox 161 -i IP -r OID -a IP -s Traptype -z timestamp -n OID -t OIDtype -V oidvalue
参数说明:- -i 选项用来指定远程主机服务(网络管理站 NMS)的地址。
- -r 选项用来指定报文的网络设备的 OID(报文中的企业字段)。
- -a 选项用来指定 SNMP 代理的 IP 地址。
- -s 选项用来指定 Trap 类型。
- -z 选项用来指定时间戳。
- -n 选项用来指定要告诉网络管理站 NMS,发生事情的 OID。
- -t 选项用来指定 OID 类型。
- -V 选项用来指定 OID 对应的值。
【实例】已知网络管理站 NMS 地址为 182.16.184.190。主机 192.168.59.133 作为 SNMP 代理,构建 SNMP Trap 请求,具体步骤如下:
1) 构建 SNMP Get 请求,设置企业对象 OID 为 .1.3.6.1.4.1,通知网络管理站 NMS,OID.1.3.6.1.2.1.1.1.0 对应的值为 APC Web/SNMP Management Card。执行命令如下:
root@daxueba:~# netwox 161 -i "182.16.184.190" -r ".1.3.6.1.4.1.3.1" –a "192.168.59.133" -s "3" -z "0" -n ".1.3.6.1.2.1.1.1.0" -t "s" -V "APC Web/SNMP Management Card"
执行命令后没有任何输出信息,但是会成功构建 SNMP Trap 请求。2) 通过抓包查看构建的 SNMP Trap 请求,如图所示。
Simple Network Management Protocol 部分显示了 Trap 请求的相关报文信息,具体如下:
Simple Network Management Protocol version: version-1 (0) community: public data: trap (4) ) #PDU类型,这里值为4,表示为Trap请求 trap enterprise: 1.3.6.1.4.1.3.1 (iso.3.6.1.4.1.3.1) #企业OID agent-addr: 192.168.59.133 #代理IP地址 generic-trap: linkUp (3) #Trap类型 specific-trap: 0 #特定代码 time-stamp: 0 #时间戳 variable-bindings: 1 item 1.3.6.1.2.1.1.1.0: 415043205765622f534e4d50204d616e6167656d656e7420... Object Name: 1.3.6.1.2.1.1.1.0 (iso.3.6.1.2.1.1.1.0) #OID Value (OctetString): 415043205765622f534e4d50204d616e6167656d656e7420... Variable-binding-string: APC Web/SNMP Management Card #OID的值上述输出信息显示了 Trap 请求的报文信息,如代理 IP 地址、Trap 类型、OID,以及对应的值。
构建 SNMPv2 版本的 Trap 请求
netwox 工具中编号为 162 的模块实现了 SNMPv2 版本的 Trap 请求功能,其语法格式如下:netwox 162 -i IP -r OID -z timestamp -n OID -t OIDtype -V oidvalue
参数说明:- -i 选项用来指定网络管理站 NMS 的地址。
- -r 选项用来指定报文中企业字段的 OID。
- -z 选项用来指定时间戳。
- -n 选项用来告诉网络管理站 NMS,发生事情的 OID。
- -t 选项用来指定 OID 类型。
- -V 选项用来指定 OID 对应的值。
【实例】构建 SNMPv2 版本的 Trap 请求。执行命令如下:
root@daxueba:~# netwox 162 -i "182.16.184.190" -r ".1.3.6.1.4.1.3.1" -z "0" -n ".1.3.6.1.2.1.1.1.0" -t "s" -V "APC Web/SNMP Management Card"
执行命令后没有任何输出信息。通过抓包查看构建的 Trap 请求,如图所示。