一.目的
通过流量分析软件Mitmproxy的学习与应用,最终要完成写一个python插件实现Android的HTTP、HTTPS流量的监控与转存。
实现规划(大概两周进行深入了解):
第一周 |
了解、熟悉mitmproxy,尝试用Genymotion创建虚拟机,测试mitmproxy功能 |
第二周 |
进一步学习mitmproxy,并且学习写插件,实现真机的流量检测并完成转存到本地 |
二.什么是Mitmproxy
Mitmproxy是一种拦截代理的工具,类似于WireShark,包括有对HTTP和HTTPS的拦截、修改、保存、重播、转发等功能。
Mitmproxy是一组为HTTP/1、HTTP/2和WebSockets提供交互式、支持SSL/TLS的拦截代理的工具,类似于WireShark、Filddler,只不过它是一个控制台的形式操作。另外,它还有两个非常有用的组件,一个是mitmdump,它是mitmproxy的命令行接口,可以直接抓取请求数据;另一个是mitmweb,它是一个web程序,通过它可以清楚地观察mitmproxy抓取的请求数据。
对Mitmproxy的学习能够帮助我们深入理解网络通信,学会对Android端流量的实时监控与调试,不仅可以提高个人的技能和知识,还可以为组织提供更强大和灵活的网络监控和分析能力,从而确保数据安全和业务连续性。
我的Mitmproxy的学习包括两个大的阶段,第一步是了解这个工具并且学会安装使用;第二步是学会用python写脚本完成其他需求,并最终实现需要的转存流量。具体内容如下:
(1)Mitmproxy的功能
·拦截HTTP和HTTPS请求和响应,并实时修改它们;
·保存完整的HTTP对话,以便以后重播和分析;
·重播HTTP会话的客户端;
·重播以前录制的服务器的HTTP响应;