上一篇文章: Python3网络爬虫实战---七、Python3网络爬虫实战---APP爬取相关库的安装:Charles的安装
下一篇文章:
MitmProxy 是一个支持 HTTP 和 HTTPS 的抓包程序,相似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操做。
同时 MitmProxy 还有两个关联组件,一个是 MitmDump,它是 MitmProxy 的命令行接口,利用它咱们能够对接 Python 脚本,用 Python 实现监听后的处理。另外一个是 MitmWeb,它是一个 Web 程序,经过它咱们能够清楚地观察到 MitmProxy 捕获的请求。
本节咱们来了解一下 MitmProxy、MitmDump、MitmWeb 的安装方式。html
最简单的安装方式仍是使用 Pip,直接执行以下命令便可安装:python
pip3 install mitmproxy
这是最简单和通用的安装方式,执行完毕以后便可完成 MitmProxy的安装,另外还安装了MitmDump、MitmWeb 两个组件,若是不想用此种方式安装也能够选择下文列出的专门针对各个平台的安装方式或者 Docker 安装方式。git
Mac 的安装很是简单,使用 HomeBrew 便可,命令以下:github
brew install mitmproxy
执行命令后便可完成 MitmProxy 的安装。web
MitmProxy 也支持 Docker,其 Docker Hub 的地址为https://hub.docker.com/r/mitm...
Docker 下 MitmProxy 的安装命令为:docker
docker run --rm -it -p 8080:8080 mitmproxy/mitmproxy mitmdump
这样就在 8080 端口上启动了 MitmProxy 和 MitmDump。
若是想要获取 CA 证书,能够选择挂载磁盘选项,命令以下:segmentfault
docker run --rm -it -v ~/.mitmproxy:/home/mitmproxy/.mitmproxy -p 8080:8080 mitmproxy/mitmproxy mitmdump
这样能够在 ~/.mitmproxy 目录找到 CA 证书。
另外还能够在 8081 端口上启动 MitmWeb,命令以下:网络
docker run --rm -it -p 8080:8080 -p 127.0.0.1:8081:8081 mitmproxy/mitmproxy mitmweb
更多启动方式能够参考 Docker Hub 的安装说明。网站
对于 MitmProxy 来讲,若是想要截获 HTTPS 请求,咱们就须要设置证书,MitmProxy 在安装后会提供一套 CA 证书,只要客户端信任了 MitmProxy 提供的证书,咱们就能够经过 MitmProxy 获取 HTTPS 请求的具体内容,不然 MitmProxy 是没法解析 HTTPS 请求的。
首先运行一下命令产生 CA 证书,启动 MitmDump 便可:
mitmdump
这样便可启动 MitmDump,接下来咱们就能够在用户目录下的 .mitmproxy 目录里面找到 CA 证书,如图 1-61 所示:spa
图 1-61 证书文件
证书一共五个,下面是对这五个证书的说明:
下面咱们介绍一下 Mac、iOS、Android 平台下的证书配置过程。
Mac 下双击 mitmproxy-ca-cert.pem 便可弹出钥匙串管理页面,而后找到 mitmproxy 证书,点击打开其设置选项,选择始终信任便可,如图 1-66 所示:
图 1-66 证书配置
这样就配置完成 Mac 下信任 CA 证书了。
将 mitmproxy-ca-cert.pem 文件发送到 iPhone 上,推荐使用邮件的方式发送,iPhone 上能够直接点击附件并识别安装,如图 1-67 所示:
图 1-67 证书安装页面
点击以后会跳到安装描述文件的页面,点击右上角的安装按钮便可安装,此处会有警告提示,如图 1-68 所示:
图 1-68 安装警告页面
继续点击右上角的安装便可,安装成功以后会有已安装的提示,如图 1-69 所示:
若是你的 iOS 版本是 10.3 如下的话,此处信任 CA 证书的流程就已经完成了。
若是你的 iOS 版本是 10.3 及以上,还须要在设置->通用->关于本机->证书信任设置将证书添加彻底信任,如图 1-70 所示:
图 1-70 证书信任设置
在这里将 MitmProxy 的彻底信任开关打开便可。
这样 iOS 上配置信任 CA 证书的流程就结束了。
Android
Android 手机一样须要将证书 mitmproxy-ca-cert.pem 文件发送到手机上,例如直接拷贝文件。
接下来点击证书便会出现一个提示窗口,如图 1-71 所示:
图 1-71 证书安装页面
这时输入证书的名称,而后点击肯定便可完成安装。
本节咱们了解了 MitmProxy、MitmDump、MitmWeb 的安装方式,在后文咱们会用它来进行 APP 数据的抓取。