详解安装mitmproxy以及遇到的坑和简单用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

详解安装mitmproxy以及遇到的坑和简单⽤法mitmproxy 是⼀款⼯具,也可以说是 python 的⼀个包,在命令⾏操作的⼯具。

MITM 即中间⼈攻击(Man-in-the-middle attack)
使⽤这个⼯具可以在命令⾏上进⾏抓包,还可以对所抓到的包进⾏脚本处理,⾮常有⽤。

安装 mitmproxy
安装这个我们必须先安装了 pip。

pip 在安装了 python之后⾃带的,如果你安装了 python 就可以忽略了,如何安装这⾥就不说了,只说安装 mitmproxy 打开命令⾏,输⼊ pip install mitmproxy 即可
按下回车即可下载
但是到最后下载失败
是因为安装这个包的 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
然后根据你的⼿机系统进⾏安装即可。

然后就可以进⾏抓包了。

在浏览器输⼊ 就可以看到下⾯内容了。

电脑端的也是这样差不多,都是设置代理后安装证书,这⾥就不多说了。

抓包之后的操作
由于在 window上操作,只能使⽤ mitmdump 和 mitmweb这两个命令,mitmdump 命令是没有界⾯,只能进⾏默默地抓包,不能进⾏数据包的查看和过滤。

⽽ mitmweb 和在⼀个⽹页上进⾏抓包的调试。

所以下⾯我们⽤ mitmweb 来进⾏调试。

1.开始抓包
mitmweb -p 8889
在你输⼊ 的时候就会看到这些包了。

查看包的请求信息和响应信息只需要点击相对应的包即可。

其他的就不多说了。

在 mitmproxy 上运⾏ python脚本
mitmproxy 的强⼤之处就在于它能够运⾏ python 脚本来处理相关的请求,现在就来看看如何处理吧。

mitmdump -p 889 -s mitm.py
这个就是在抓包的同时运⾏了 mitm.py 的脚本了,代码是:
# 必须这样写 def request(flow): print(flow.request.headers) # 打印请求头
这个是打印抓到的请求头,⽅法名和参数的名称是固定的,写错了就运⾏不了这个脚本。

这样⼦就开始了,然后在⼿机上打开⽹页。

这样⼦就把他们的请求头给输出了。

但是输出并不明显,我们可以使⽤⾥⾯的⼀个⽇志模块来输出,这样⼦就会显⽰出不同的颜⾊了。

命令⾏上显⽰这样:
这样⼦就清楚多了。

除了上⾯的请求头,我们还可以访问他们的请求⽅法,请求路径等。

响应的请求也可以获取:
同样,这⾥的⽅法名和参数也是固定的,不写这个会捕捉不到。

以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

相关文档
最新文档