Ubuntu 16.04下Mitmproxy 3.0.4日志如何保存为人类可读文件?
解决Mitmproxy日志保存为人类可读格式的问题
结合你的环境(Ubuntu 16.04、Mitmproxy 3.0.4、Python 3.5.2),我来帮你搞定这个问题——你之前用-w保存的文件之所以不可读,是因为这个参数默认存的是Mitmproxy专用的二进制流量文件,专门用来后续重新加载分析,不是给人直接读的。下面给你两种实用的解决办法:
方法一:抓包时直接导出可读日志
如果想在抓包的同时直接生成能看懂的日志文件,只要把Mitmdump的终端输出重定向到文本文件就行,同时保留--showhost让域名显示更清晰:
mitmdump --mode transparent --showhost -p 9001 > 可读日志.txt 2>&1
>是把正常的抓包日志输出到可读日志.txt里2>&1是把错误信息也合并到同一个文件,避免漏掉关键日志- 要是你想同时保留二进制流量文件(方便后续分析)和可读日志,可以把
-w和重定向一起用:
mitmdump --mode transparent --showhost -p 9001 -w 二进制流量文件 > 可读日志.txt 2>&1
方法二:把已存的二进制文件转成可读格式
如果你已经有了之前用-w保存的二进制文件,也可以用Mitmdump加载它,再导出成可读文本:
mitmdump -r 你的二进制文件名 --showhost --flow-detail 3 > 转换后的可读日志.txt 2>&1
这里的--flow-detail参数用来控制日志的详细程度,你可以按需调整:
0:只显示请求方法、URL、状态码这些最基础的信息1:加上请求和响应的头部信息2:头部信息+部分请求/响应内容3:完整的头部和内容(适合需要深入分析的场景)
额外小技巧:导出JSON格式
如果你想要结构更清晰、同时还方便脚本解析的可读格式,也可以导出成JSON:
mitmdump -r 你的二进制文件名 -j > 日志.json
这种格式既可以直接用文本编辑器打开阅读,后续用Python处理也非常方便。
内容的提问来源于stack exchange,提问作者semangatTA
相关产品推荐
相关产品推荐

