wireshark解析报文一点根据

wireshark解析报文一点根据

问题:遇到一个问题,net-snmp发出trap的时候,通过wireshark抓包发现只能发送知名端口162的告警报文。
处理过程如下:

  1. 检查代码:经过代码排查发现net-snmp没有对端口做任何限制。
  2. 抓包:经过抓包,发现都发出了UDP报文。对报文进行过滤,过滤条件为 "snmp"。发现只有端口为162时,才有报文报文标记为snmp报文,端口为非162时,过滤后,没有snmp报文。
  3. 通过对udp报文进行重新解析,发现其中udp报文中的data部分为snmp报文内容。

分析原因:
SNMP协议采用UDP报文进行交互。所以snmp发出的报文为UDP报文。
wireshark解析报文时,会按着知名端口来进行分析。因为162为snmp协议trap告警的知名端口,所以将报文解析为snmp报文。而采用其他自定义端口,wireshark只能将报文解析到udp这一级别。
结论:
wireshark解析报文时,会根据知名端口进行深入的解析。如果不确定这是什么类型的报文,那么解析会降级。
如果需要重新解析报文(decode)。可以通过如下操作来查看报文
选择报文→右键→选择解码为→当前下拉菜单→选择协议SNMP→ok。wireshark就会按照选择的协议进行解析报文。

原文地址:http://blog.51cto.com/qiaopeng688/2169581

时间: 2024-09-28 16:41:47

wireshark解析报文一点根据的相关文章

Wireshark解析自定义加密协议

一.概述 网上撰文写wireshark使用lua脚本解析协议的文章比较多. 笔者最近也因工作需要使用wireshark解析协议.但因网络安全,协议的数据部分被加密了.无法简单的使用lua脚本进行解析. 考虑到加密算法和压缩算法的复杂性,采用调用lua C库的方法,完成解密(解压). 下面与大家分享下大致思路. 二.目标及思路 协议的大致格式如下: 协议字段 命名 协议版本(1字节) protoVersion 协议命令类型(2字节) protoCmdType 协议加密类型(1字节) protoEn

分析osip的解析报文

static int_osip_message_parse (osip_message_t * sip, const char *buf, size_t length,                     int sipfrag){  int i;  const char *next_header_index;  char *tmp;  char *beg; tmp = osip_malloc (length + 2);  if (tmp == NULL)    {      OSIP_TR

用wireshark解析应用层存储包

工作中经常需要统计服务器上的rtp包接收.发送性能.不想自己再做一套统计软件,打算用现有的wireshark来做分析统计. 先把rtp头存成pcap格式文件,pcap文件格式及怎样存储可以参照这篇文章http://blog.csdn.net/force_eagle/article/details/6681802 然后在wireshark中打开pcap文件,但是问题来了,在wireshark中默认只支持完整的ip报文.这样需要在每个rtp包前加上ip头,可是ip头的大小比rtp头都还要大,这样做会

wireshark解析三次握手和四次挥手

一. TCP/IP协议族 TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负责不同的通信功能.包含以下四个层次: 1. 链路层,也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节. 2. 网络层,也称作互联网层,处理分组在网络中的活动,例如分组的选路.网络层协议包括IP协议(网际协议).ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议). 3.

dom4j解析报文

import java.io.File;import java.util.Iterator;import java.util.List;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4

Wireshark - ICMP 报文分析

1. 测试机器,源地址 IP 为 10.21.28.110,目的 IP 地址为 10.6.0.24. 2. 使用 ip.src == 10.6.0.24 or ip.dst == 10.6.0.24 过滤规则,只显示 10.21.28.110 与 10.6.0.24 交互的数据. 如上图所示,Windows 中 ping 命令默认执行 4 次 ping 程序,所以 Wireshark 会抓到 8 个 ICMP 报文. 3.  观察第一个编号为 2066 的 Echo (ping) request

dom解析报文

import java.io.File;import java.util.Iterator; import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.Transformer;import javax.xml.tran

Wireshark TCP报文到达确认(ACK)机制

TCP数据包中的序列号(Sequence Number)不是以报文段来进行编号的,而是将连接生存周期内传输的所有数据当作一个字节流,序列号就是整个字节流中每个字节的编号.一个TCP数据包中包含多个字节流的数据(即数据段),而且每个TCP数据包中的数据大小不一定相同.在建立TCP连接的三次握手过程中,通信双方各自已确定了初始的序号x和y,TCP每次传送的报文段中的序号字段值表示所要传送本报文中的第一个字节的序号.        TCP的报文到达确认(ACK),是对接收到的数据的最高序列号的确认,并

sax解析报文

import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes;import org.xml.sax.ContentHandler;import org.xml.sax.Locator;import org.xml.sax.SAXExcep