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

mitmproxy 是一款工具,也能够说是 python 的一个包,在命令行操做的工具。python

MITM 即中间人攻击(Man-in-the-middle attack)c++

使用这个工具能够在命令行上进行抓包,还能够对所抓到的包进行脚本处理,很是有用。web

安装 mitmproxy

安装这个咱们必须先安装了 pip。 pip 在安装了 python以后自带的,若是你安装了 python 就能够忽略了,如何安装这里就不说了,只说安装 mitmproxy浏览器

打开命令行,输入 pip install mitmproxy 便可工具

按下回车便可下载ui

可是到最后下载失败spa

error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools

是由于安装这个包的 window 系统须要首先安装 Microsoft Visual C++ V14.0以上 才行。操作系统

能够在https://visualstudio.microsof... 直接下载便可,安装以后须要把 c++ de 库之类的东西都安装了,而后再在命令行进行安装 mitmproxy便可。命令行

安装完以后查看 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

这个就是在抓包的同时运行了 mitm.py 的脚本了,代码是:

# 必须这样写 def request(flow):  print(flow.request.headers)  # 打印请求头

这个是打印抓到的请求头,方法名和参数的名称是固定的,写错了就运行不了这个脚本。

这样子就开始了,而后在手机上打开网页。

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

可是输出并不明显,咱们可使用里面的一个日志模块来输出,这样子就会显示出不一样的颜色了。

命令行上显示这样:

这样子就清楚多了。

除了上面的请求头,咱们还能够访问他们的请求方法,请求路径等。

响应的请求也能够获取:

一样,这里的方法名和参数也是固定的,不写这个会捕捉不到。

本文完。

相关文章
相关标签/搜索