Wireshark解析自定义加密协议

Wireshark解析自定义加密协议

ID:45567491

大小:89.55 KB

页数:11页

时间:2019-11-14

Wireshark解析自定义加密协议_第1页
Wireshark解析自定义加密协议_第2页
Wireshark解析自定义加密协议_第3页
Wireshark解析自定义加密协议_第4页
Wireshark解析自定义加密协议_第5页
资源描述:

《Wireshark解析自定义加密协议》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、ompressionType协议数据长度(4字节)protoDataLength协议数据(protoDataLength字节)protoData:本文仅专注于解码,为简化复杂性,暂时不考虑一个UDP/TCP包出现多个自定义localf_protoEncrytionType=ProtoField・uint8("multi・protoEncrytionTypen/'EncrytionType"base.DEC,{[1]="EncrytionType_lH,[2]=,,EncrytionType_2,[3]="EncrytionType_3n,})localf_protoCompressio

3、nType=ProtoField.uint8(nmulti•protoCompressionType11HCompressionType11,base.DEC,{[1]="CompressionType_lH,[2]="CompressionType_2ll>[3]="CompressionType_3lf})localf_protoDataLength=ProtoField・uint32("multi・protoDataLength","DataLength",base.DEC)p_multi.fields={f_protoVersion,f_protoCmdType^f_protoE

4、ncrytionType,f_protoCompressionType,f_protoDataLength}functionDecodeBufferFunction(protoEncrytionType,protoCompressionTypejbufjpos,buf_len)localdecodeBuf=buf--TODO:ThisarticaljobreturndecodeBufendfunctionp_multi•dissector(bufpkt,root)localpos=0localbuf_len=buf:len()localt二root:add(p_multi,buf(0,b

5、uf_len))--协议版本(1字节)t:add(f_protoVersion,buf(pos,1))pos=pos+1■■协议命令类型(2字节)t:add(f_protoCmdType,buf(pos,2))pos=pos+2--协议加密类型(1字节)t:add(f_protoEncrytionType,buf(pos,1))localprotoEncrytionType=buf(pos,1):uint()pos=pos+1--协议压缩类型(1字节)t:add(f_protoCompressionType,buf(pos^1))localprotoCompressionType=buf

6、(pos^1):uint()pos=pos+1--协议数据长度(4字节)t:add(f_protoDataLengthybuf(pos,1))localprotoDataLength=buf(pos^4):uint()pos=pos+4--协议数据(protoDataLength字节)buf=DecodeBuffer(protoEncrytionType,protoCompressionType,buf,pos,buf_len)new_buf_len二buf:len()--TODO:addyourcodeend本文的主要任务是DecodeBufferFunction的实现。目前的任务是把

7、原始数据(buf)协议头加密数据变成(decodeBuf)协议头解密数据上图实际上就是原始buf和decodeBufo这里buf、decodeBuf均为Tvb(uTestyVirtualBuffed).另外,为操持两个buf在偏移上的一致,decodeBuf的头部也添加了“协议头”因而DecodeBufferFunction的任务有3个:1.由buf转换成luac库的数据结构2.Luac库完成解码,并返回数据3.再rhluac库的数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。