
rap报文中的udp协议和snmp的关系UDP 是“邮递员”,SNMP 是“信件内容”。具体来说UDP 协议负责“传输”它规定了如何把报文从一台设备送到另一台设备处理的是 IP 地址、端口号、数据长度这些网络层和传输层信息。SNMP 负责“内容”它规定了报文里具体写了什么信息比如 Trap 的类型、设备名称、时间戳、具体错误码等。UDP 协议是 SNMP 报文的基础载体而 SNMP 是封装在 UDP 数据部分的应用程序协议。要想对 Trap 报文进行完整的 SNMP 解码必须先完成 UDP 协议的解码。UDP 层包裹本身UDP 头部解码后能看到两个关键信息源端口161或162 和 目的端口162。关键点Wireshark 这样的工具正是根据目的端口是 162才判断出这个 UDP 包裹里装的是一封 SNMP Trap“信件”。这是 UDP 层对 SNMP 层最重要的意义。SNMP 层信件内容如果 UDP 层解析正确工具就会尝试解析 UDP 负载Payload里的数据。此时SNMP 解码器开始工作读取内部的版本、团体名、PDU 类型等。如果成功你才能在 Wireshark 里看到Simple Network Management Protocol下清晰的字段比如version: v2c,community: public,trap: linkDown等。抓包解析抓包命令tcpdump -nl -i any src host 192.168.118.12 and udp port 60162 -w 12.pcapwireshark 设置和解析选中一个流右键并解码为以下将当前协议选为 SNMP 然后就能看到解码之后的报文内容查看消息报文