python 解析网络数据包
短信预约 -IT技能 免费直播动态提醒
1、问题描述
网络数据包,我已经使用mitmproxy代理抓取了,但是,数据包有些数据是gzip进行编码的,那么怎么还原成原始报文呢?使用的语言是python。
2、网上资料
使用的方法,网上有zlib和gzip。使用gzip.decompress这个函数可以直接解密,可惜我的版本不支持。然后网上说的gzip都是打开一个文件之类的。
使用zlib,一直爆出error 3 和error 5的错误。
在C语言下可以实施的,目前是不能实现了。
3、突破口
因为是gzip加密,所以还是瞄准gzip,
有这么一个加密语句:
#!/usr/bin/env python
# encoding=utf-8
import urllib2, httplib
import StringIO, gzip
#解压gzip
def gzdecode(data) :
compressedstream = StringIO.StringIO(data)
gziper = gzip.GzipFile(fileobj=compressedstream)
data2 = gziper.read() # 读取解压缩后数据
return data2
(来源:http://blog.csdn.net/wzq9706/article/details/25122417)
那么只需要将我的流导入这个,就可以进行解密了。
还有牵涉的就是编码方式了。这个编码方式。在sqlite3里面很麻烦的。不过这个语句很有效果:
conn.text_factory = str
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341