有哪些好用的HTTP代理抓包工具?如果你分不清哪个工具比较好用?又有哪个比较合适使用?那么,就不要错过IP海今天分享的文章了。
常见的http代理有:Fiddler、Charles以及下来IP海要介绍的Mitmproxy,Mitmproxy小巧强大,最为吸引的是它支持加入Python脚本,方便开发人员直接处理监听到的数据。
安装:
这步比较简单,直接pip install mitmproxy,或者自行下载安装包。
使用:
window下不支持使用mitmproxy,但可以使用另外两个附带的组件:mitmdump和mitmweb,二选一在控制台输入,代理开启后默认的监听端口为8080。mitmdump是纯控制台输出的监听形式,mitmweb则对应有相关的web监听界面。
更改监听端口?添加-p参数,如mitmdump -p 10000;想指定py脚本?带上-s参数即可,如mitmweb -s out.py;完整的参数信息及使用应该查看官网说明,下来的示例中会介绍Python脚本的使用。
示例:
mitmproxy中定义了一系列完整的监听流程事件,通常这并不需要我们关注太多,常见的Events莫过于request和response,完整的mitmproxy事件请点击这里查看,下面的简单示例或许对你有帮助:
import mitmproxy.http
def request(flow: mitmproxy.http.HTTPFlow):
"""
The full HTTP request has been read.
"""
flow.request.headers["User-Agent"] = "Chrome/66.0.3497.100"
pretty_url = flow.request.pretty_url
print(pretty_url)
def response(flow: mitmproxy.http.HTTPFlow):
"""
The full HTTP response has been read.
"""
content = flow.response.content
print(content)
使用总结:
在功能上多数抓包软件大同小异,重要的还是得根据场景来选择最合适的;我当初接触到mitmProxy,是因为在爬取某APP数据的时候,尝试了一段时间都没有还原出客户端接口加密的请求流程,后来结合使用了Appium和mitmProxy,算是部分实现了该需求。综上,全文只是简单浅显的介绍了mitmproxy,而往往看官方文档才是最完整和高效的。
IP海认为不同的抓包工具各有其特点,大家要根据不同的使用场景来进行选择,才是最为合适的搭配。
版权声明:本文为IP海(iphai.cn)原创作品,未经许可,禁止转载!
Copyright © www.iphai.cn. All Rights Reserved. IP海 版权所有.
IP海仅提供中国内IP加速服务,无法跨境联网,用户应遵守《服务条款》内容,严禁用户使用IP海从事任何违法犯罪行为。
鄂ICP备19030659号-3
鄂公网安备42100302000141号
计算机软件著作权证
ICP/EDI许可证:鄂B2-20200106