请问怎么判断数据包的协议类型,是根据端口号?数据包中的关键字?还是其他什么特殊标记?
不吝赐教,谢谢!
如图:

解决方案 »

  1.   

    一个数据包里应该包含几个协议的吧,至少要经过传输层,网络层,数据链路层,每经过一层就会加上一个对应的包头,比如HTTP,在应用层的时候加上HTTP协议头,传输层的时候加上TCP或者UDP协议头·····
    如果要判断一个数据包是在哪个协议层产生的,我觉得判断数据包里第一个协议头的类型应该是可以的
      

  2.   

    个人感觉还是看里面的data数据,那样还是很好区分的,比如包头和包尾都是固定的,再去寻找里面协议类型对应的16进制
      

  3.   

    怎样才能让自定义协议在Wireshark中显示呢,如果不能解析自定义协议的话那为什么Wireshark中可以解析TNS协议呢(Oracle数据库协议,应该不是共有协议吧)?
      

  4.   

    可以根据网络层IP包头,里面有个协议字段,可以通过它知道数据包是什么协议,比如是TCP或UDP,再根据
    传输层包中的端口,判断是HTTP协议还是FTP协议等;