mitmproxy配置

mitmproxy抓包

mitmproxy是一个支持HTTP和HTTPS的抓包程序,只不过是一个控制台的形式。

1、安装

pip install mitmproxy

2、证书配置

对于mitmproxy,如果要截取HTTPS请求,就需要设置证书。mitmproxy在安装后回提供一套CA证书,只要客户端信任mimtproxy提供的证书,就可以获取HTTPS请求,否则无法解析。
在Mac客户端配置,运行以下命令产生CA证书,并启动mitmdump

mitmdump

接下来在用户目录下的.mitmproxy目录里找到CA证书,
mitmproxy配置_第1张图片
在Mac中双击mitmproxy-ca-cert.pem,弹出钥匙串管理页面,找到mitmproxy证书,选择“始终信任”。
在ios中安装:将mitmproxy-ca-cert.pem发送给iPhone上,安装描述文件。(推荐用邮箱发送文件,这样手机可以安装。)如果是10.3版本以上的,需要在设置->通用->关于手机->证书信任将mitmproxy的信任开关打开。

3、功能介绍

  1. 拦截HTTP和HTTPS请求和响应
  2. 保存HTTP绘画并进行分析
  3. 模拟客户端发起请求,模拟服务端返回响应
  4. 利用方向代理将流量转发给指定服务器
  5. 支持Mac和Linux上的透明代理
  6. 利用Python对HTTP请求和响应进行实时处理

4、抓包原理

mitmproxy运行在PC上,mitmproxy会在PC的8080端口运行,开启一个代理服务,这个服务实际上是HTTP/HTTPS的代理。手机和PC在同一局域网内,设置代理为mitmproxy的代理地址,手机访问互联网会经过mitmproxy。mitmproxy起到了中间人的作用,抓取所有的Request和Reponse。
这个过程可以对接mitmdump,抓取到的Request和Response的内容直接用Python处理。

5、设置代理

启动mitmproxy输入命令:mitmproxy,会在8080(右下角监听端口)端口运行一个代理服务。
mitmproxy配置_第2张图片

还可以启动mitmproxy也会监听8080端口。

将手机和PC链接在同一局域网下,设置代理为当前代理。首先查看当前局域网的IP地址,输入命令ifconfig。
mitmproxy配置_第3张图片

其中HTTP代理,服务器是PC在局域网下的ip,监听端口为8080。

6、mitmproxy的使用

手机访问任意网页和APP返回请求。
mitmproxy配置_第4张图片
可以点击其中想要查看的url,使用tab来进行切换,e来选择编辑,保存为敲击esc和q,发送请求为r。

7、mitmdump的使用

mitmdump -w 文件(将截获的数据输出到文件中)
mitmdump -s a.py(执行Python文件)

你可能感兴趣的:(工具使用)