mitmproxy 是一款工具,也可以说是 python 的一个包,在命令行操作的工具爬虫工具。
MITM 即中间人攻击(Man-in-the-middle attack)
使用这个工具可以在命令行上进行抓包,还可以对所抓到的包进行脚本处理,非常有用爬虫工具。
python学习关注我们企鹅qun: 8393 83765 各类入门学习资料免费分享哦爬虫工具!
安装 mitmproxy
安装这个我们必须先安装了 pip爬虫工具。 pip 在安装了 python之后自带的,如果你安装了 python 就可以忽略了,如何安装这里就不说了,只说安装 mitmproxy
打开命令行爬虫工具,输入 pip install mitmproxy 即可
按下回车即可下载
但是到最后下载失败
pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”:
/pre
是因为安装这个包的 window 系统需要首先安装 Microsoft Visual C++ V14.0以上 才行爬虫工具。
可以在即可爬虫工具。
安装完之后查看 mitmproxy版本
命令行输入 mitmproxy --version
显示错误,这是因为 window操作系统不支持使用 mitmproxy 这个命令,我们可以使用 mitmdump 或 mitmweb 代替爬虫工具。
这样就成功了爬虫工具。
如何使用 mitmproxy抓包
开启抓包:mitmdump
这样子就是开始抓包了爬虫工具,监听了所有的地址,端口是 8080,如果需要改端口号,可以按 ctrl + c 退出抓包,然后输入下列命令:
mitmdump -p 8889
这样子就把端口号改成 8889 了
如果需要抓手机的包的话爬虫工具,就需要在你连接的 wifi 修改代理
上面的主机名字是 你电脑抓包的 ip 地址,端口号是刚才设置的端口号爬虫工具。设置完了打开浏览器查看。
发现需证书有问题,我们还需要安装 mitmproxy 提供的证书,要不抓包失败爬虫工具。
安装证书:浏览器输入 mitm.it
然后根据你的手机系统进行安装即可爬虫工具。
然后就可以进行抓包了爬虫工具。在浏览器输入 baidu.com 就可以看到下面内容了。
电脑端的也是这样差不多,都是设置代理后安装证书,这里就不多说了爬虫工具。
抓包之后的操作
由于在 window上操作,只能使用 mitmdump 和 mitmweb这两个命令,mitmdump 命令是没有界面,只能进行默默地抓包,不能进行数据包的查看和过滤爬虫工具。而 mitmweb 和在一个网页上进行抓包的调试。所以下面我们用 mitmweb 来进行调试。
1.开始抓包
mitmweb -p 8889
在你输入 baidu.com 的时候就会看到这些包了爬虫工具。
查看包的请求信息和响应信息只需要点击相对应的包即可爬虫工具。其他的就不多说了。
在 mitmproxy 上运行 python脚本
mitmproxy 的强大之处就在于它能够运行 python 脚本来处理相关的请求,现在就来看看如何处理吧爬虫工具。
mitmdump -p 889 -s mitm.py
python学习关注我们企鹅qun: 8393 83765 各类入门学习资料免费分享哦爬虫工具!
这个就是在抓包的同时运行了 mitm.py 的脚本了爬虫工具,代码是:
pre style="-webkit-tap-highlight-color: transparent; box-sizing: border-box; font-family: Consolas, Menlo, Courier, monospace; font-size: 16px; white-space: pre-wrap; position: relative; line-height: 1.5; color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px; background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"# 必须这样写
def request(flow):
print(flow.request.headers) # 打印请求头
/pre
这个是打印抓到的请求头,方法名和参数的名称是固定的,写错了就运行不了这个脚本爬虫工具。
这样子就开始了,然后在手机上打开网页爬虫工具。
Python爬虫新姿势:mitmproxy最新的爬虫工具爬虫工具!
这样子就把他们的请求头给输出了爬虫工具。
但是输出并不明显,我们可以使用里面的一个日志模块来输出,这样子就会显示出不同的颜色了爬虫工具。
Python爬虫新姿势:mitmproxy最新的爬虫工具爬虫工具!
命令行上显示这样:
这样子就清楚多了爬虫工具。
除了上面的请求头,我们还可以访问他们的请求方法,请求路径等爬虫工具。
响应的请求也可以获取:
好啦分享就到这里爬虫工具,跟多python学习可以关注我们哦
注:python学习关注我们企鹅qun: 8393 83765 各类入门学习资料免费分享哦爬虫工具!
添加上方▲技术, 在线咨询
复制微信号
声明
一、本站原创内容,其版权属于本网站所有。其他媒体、网站或个人转载使用时不得进行商业性的原版原式的转载,也不得歪曲和篡改本网站所发布的内容。如转载须注明文章来源。
二、本网站转载其它媒体作品的目的在于传递更多信息,并不代表本网站赞同其观点和对其真实性负责;如侵犯你的权益请告诉我们立即删除;其他媒体、网站或个人转载使用自负法律责任。
发表评论
2021-11-23 02:56:03回复