Python爬虫入门教程 47-100 mitmproxy安装与安卓模拟器的配合使用-手机APP爬虫部分
1. 准备下载软件
介绍一款爬虫辅助工具mitmproxy
,mitmproxy 就是用于mitm的proxy,mitm中间人攻击。说白了就是服务器和客户机中间通讯多增加了一层。跟fiddler和charles最大的不同就是,mitmproxy可以进行二次开发,尤其可以对接python。
mitmproxy一般用于开发或者测试,用在爬虫辅助也是极好的。
1.1 几个重要地址
github地址:
官网地址:
1.2 安装流程
进入cmd窗口,执行
pip install mitmproxy
安装完成后,系统将拥有 mitmproxy、mitmdump、mitmweb 三个命令,由于 mitmproxy 命令不支持在 windows 系统中运行。
mitmproxy是一个支持http和https的抓包程序,有类似fiddler、charles的功能。除了命令行形式的控制台,mitmproxy还有两个关联组件:mitmdump和mitmweb。 mitmdump:它是mitmproxy的命令行接口,利用它我们可以对接python脚本,用python实现监听后的处理。 mitmweb:它是一个web程序,通过它我们可以清楚观察mitmproxy捕获的请求。
我们可以拿 mitmdump 测试一下安装是否成功,执行:
mitmdump --version
执行结果
1.3 启动mitmweb
控制台运行
mitmweb
输出
λ mitmweb web server listening at http://127.0.0.1:8081/ proxy server listening at http://*:8080
同时打开你的默认浏览器
1.4 配置代理
操作简单,熟悉爬虫的人设置起来难度不大
将代理服务器设置为 127.0.0.1:8080即可
这是完毕,在随便访问一个网站,例如百度,一股似曾相识的感觉铺面而来,这就是网页版的fiddler
1.5 命令行启动
接下来关闭所有 chrome 窗口,否则命令行启动时的附加参数将失效。打开 cmd,执行:
"c:\program files (x86)\google\chrome\application\chrome.exe" --proxy-server=127.0.0.1:8080 --ignore-certificate-errors
前面那一长串是 chrome 的的安装路径,应当根据系统实际情况修改,后面两参数设置了代理地址并强制忽略掉证书错误。
1.6 ca证书的安装
当我们初次运行mitmproxy或mitmdump时,
会在当前目录下生成 ~/.mitmproxy文件夹,其中该文件下包含4个文件,这就是我们要的证书了。
.mitmproxy文件夹自行搜索,我采用的是everything软件
,一般在电脑上的用户目录
mitmproxy-ca.pem 私钥 mitmproxy-ca-cert.pem 非windows平台使用 mitmproxy-ca-cert.p12 windows上使用 mitmproxy-ca-cert.cer 与mitmproxy-ca-cert.pem相同,android上使用
windows上安装证书很简单,双击.p12结尾的证书文件即可。
安卓手机需要将对应的文件发送到手机文件,进行安装。
将mitmproxy-ca-cert.cer 放到sdcard根目录下 选择设置-安全和隐私-从存储设备安装证书
2. 使用mitmdump
在windows平台下一般使用mitmdump
控制台运行 mitmdump,出现如下结果
λ mitmdump proxy server listening at http://*:8080
2.1 获取本地ip地址 ipconfig
打开模拟器,跟fiddler和charles的配置其实是非常类似的
基本步骤
1.电脑和手机连接到同一个wifi环境下
2.修改浏览器代理服务器地址为运行mitmdump的那台机器(本机)ip地址,端口设定为你启动mitmdump时设定的端口,如果没有指定就使用8080
3.手机做同样操作,修改wifi链接代理为 【手动】,然后指定ip地址和端口
在手机或pc机上打开浏览器访问 mitm.it 这个地址,选择你当前平台的图标,点击安装证书。
所有这一切操作完毕,打开模拟器的默认浏览器,输入www.baidu.com,等待数据的抓取
3. mitmproxy安装与模拟器配合操作完毕
当你看到数据抓取到的那一刻,表示本篇博客结束啦,下一篇,我们就实际的对接一下python,感谢你的阅读。
上一篇: 用SQL批量插入数据的存储过程
下一篇: 深入理解设计模式(20):桥接模式