App爬虫神器mitmproxy和mitmdump的使用
mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。
mitmproxy还有两个关联组件。
一个是mitmdump,它是mitmproxy的命令行接口,利用它可对接Python脚本,用Python实现监听后的处理。
另一个是mitmweb,它是一个Web程序,通过它可清楚观察mitmproxy捕获的请求。
# C:Users.mitmproxy目录下存放证书
|
openssl x509 -subject_hash_old -inform PEM -in ~/.mitmproxy/mitmproxy-ca-cert.pem | head -1
adb push ~/.mitmproxy/mitmproxy-ca-cert.pem /system/etc/security/cacerts/c8750f0d.0 |
3. 查看pc的局域网地址,通过adb设置代理的地址和端口号; |
adb shell settings delete global http_proxy adb shell settings delete global global_http_proxy_host adb shell settings delete global global_http_proxy_port |
mitmproxy有如下几项功能。
-
拦截HTTP和HTTPS请求和响应。
-
保存HTTP会话并进行分析。
-
模拟客户端发起请求,模拟服务端返回响应。
-
利用反向代理将流量转发给指定的服务器。
-
支持Mac和Linux上的透明代理。
-
利用Python对HTTP请求和响应进行实时处理。
原理
手机和PC在同一个局域网内,设置代理为mitmproxy的代理地址。 “中间人”:手机在访问互联网时,流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器; 服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy抓取到所有Request和Response。 另外这个过程还可对接mitmdump,抓取到的Request和Response的具体内容都可直接用Python来处理,比如得到Response之后可直接进行解析,然后存入数据库就完成了数据的解析和存储过程。 手机端抓包: https://www.jianshu.com/p/032eb87aa7e0温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/yidong/11377.html
- 上一篇:移动端自动化之请求拦截
- 下一篇:怎么检测我手机是否被监控了?