前言
我这边是没办法测试这个流程了,因为我的手机和电脑按照上面这几个软件所写的开端口,手机搞证书搞代理,但是只能抓取到 http 的,https 根本抓不到.
fiddler 根据设置,发现我只有在 pc 端可以看到 https 请求和内容,手机上设置完 网络就出现问题 并且在 fiddler 中发送的 https 请求看不到,
http://i2.tiimg.com/691087/985a55c38b750b7e.png
使用 mitmproxy 中只能看到有 http 请求,
并且在手机上设置代理 ip:8080,我去访问 bilibili 时网络无法连接的情况
http://i2.tiimg.com/691087/b203a4b95300089b.png
charles 也是同样,设置了代理 ip:8888,证书,ssl,能看到 https 请求,但出现 unknown 显示,显示都是乱码
http://i2.tiimg.com/691087/97d9d4e77e7f8684.png
也就只有自动化软件能用了...
有哪位知道怎么搞定这些,能否告知一下
我先来说说流程
相对页面的数据进行抓取
(1)
使用 fiddler 或者 Charles 想抓取的接口
(2)
编写要在 mitmdump 筛选提取 addons.py 文件
(2)(1)
impoer mitmproxy.http.HTTPFlow
from mitmproxy import ctx, http
def response(self, flow: mitmproxy.http.HTTPFlow):
if '找到接口中所有含有的关键字' in flow.response.url or flow.request.host == "关键字":
text = flow.response.get_text()
text = re.findall('提取的内容',text)
#存入数据库或者文本
with open(....)as f:
f.writer(text)
addons = [
response()
]
(2)(2)
开启 mitmproxy 中的 mitmweb->>>直接在命令行开启 mitmweb
(2)(3)
mitmdump 加载刚刚写出来的文件->>>加载文件 mitmdump -s addons.py
这样手机在使用 app 滑动的时候,mitmdump 会对所有经过的请求进行过滤,进行文本提取,保存
(3)
上面几乎已经完成,只需要使用自动化工具 appium 或者 AirtestIDE 来对手机不断滑动发送请求,mtimdump 则保存
网络上教程太少了,文档也就那么几个反反复复,
这个流程是否正确??????????? 是可以无视 js 和加密的把?