你好,我是悦创。
公众号:AI悦创
为了更好的阅读体验,访问AI悦创博客阅读:https://www.aiyc.top/archives/505.html
最近在搞 App 爬虫,不过万事入门难,我得自己研究研究 Mitmproxy 虽然不知道到底是不是那么强啦,就是得要会用,所以我就亲自入坑,并把自己的title qq技术导航网福利一下观点比较记录下来,毕竟好记性不然烂笔头嘛。
Mitmproxy 是一个支持HTTP和HTTPS的抓包程序,有类似 Fiddler、Charles 的功能,只不过它是一个控制台的形式操作。
Mitmproxy 还有两个关联组件。一个是 Mitmdump,它是 Mitmproxy 的命令行接口,利用它我title qq技术导航网福利们可以对接Python 脚本,用 Python 实现监听后的处理。另一个是 Mitmweb,它是一个 Web 程序,通过它我们可以清楚观察 Mitmproxy 捕获的请求。
下面我们来了解它们的用法。
1. 准备工作
1.1 抓包工具
请确保已经正确安装好了 Mitmproxy,并且手机和PC处于同一个局域title qq技术导航网福利网下,同时配置好了Mitmproxy的 CA 证书。
这里我简单的来讲一下如何安装,在正式安装之前,我们先来看看 Mitmproxy 需要一个怎样的安装环境:
基于 Python 环境(我电脑使用的是:Python 3.7)Windows 操作系统中需要安装 Microsoft Visual C Vtitle qq技术导航网福利14.0 以上(否则会出现保存无法安装)Linux 操作系统则直接基于 Python 安装即可
首先,我们需要打开我们的命令行工具 CMD ,直接在命令行命令输入以下命令:
回车就可以安装了,但是,对于一些新手来讲,有可能不会安装,而网络上的安装教程也已经过时,title qq技术导航网福利这里大家可以参考这篇,我 2020 年5月新鲜出炉的,链接:Mitmproxy 安装
对于,有些小伙伴还想安装 Fiddler 这里我也编写了最新的安装教程,可以点击这里:Fiddler 配置及简单操作
1.2 安卓模拟器
为什么要手机模拟器,如果有条件正好有不使用的安卓手机,任何操作都有一定风险,抓取数title qq技术导航网福利据之前为了创造一个干净的环境,要进行刷机,适合一个合适的安卓版本,需要格式,所以使用安卓模拟机更方便,性价比也更高。使用安卓模拟机可以随意的定制各种安卓的版本:小米的,华为的,三星的等。方便操作。

注意这里是开发用的安卓模拟器,可不是玩游戏的多开使用的。
模拟器名称支持的操作系统支持的虚拟机运行速度安装title qq技术导航网福利APK方式支持的机型调试难易程度google官方的AVDWindows/linuxQEMU慢ADB多复杂genumotionWindows/Mac/LinuxVirtualBox一般ADB/拖拽少一般夜神模拟器Windows/MacVirtualBox快ADB/拖拽少简单
夜神模拟器
官网https:/title qq技术导航网福利/www.yeshen.com/介绍夜神安卓模拟器(夜神模拟器),是全新一代的安卓模拟器,与传统安卓模拟器相比,基于ANDROID4.4.2,兼容X86/AMD,在性能、稳定性、兼容性等方面有着巨大优势。优质游戏的提供,软硬件游戏辅助的支持,让用户体验到更强的娱乐性。
因为,本文主要是写 Mitmprtitle qq技术导航网福利oxy ,所以对于环境的安装就是提一下,详细安装可以去我博客阅读相关文章,2020版本安装夜神模拟器。
2. Mitmproxy 的功能
Mitmproxy 有如下几项功能。
拦截HTTP和HTTPS请求和响应。保存HTTP会话并进行分析。模拟客户端发起请求,模拟服务端返回响应。利用反向代理将流量转发给指title qq技术导航网福利定的服务器。支持Mac和Linux上的透明代理。利用Python对HTTP请求和响应进行实时处理。
3. 抓包原理
和Charles一样,mitmproxy运行于自己的PC上,mitmproxy会在PC的8080端口运行,然后开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。
手机和PC在title qq技术导航网福利同一个局域网内,设置代理为mitmproxy的代理地址,这样手机在访问互联网的时候流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器,服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy就相当于起了中间人的作用,抓取到所有Request和Rtitle qq技术导航网福利esponse,另外这个过程还可以对接mitmdump,抓取到的Request和Response的具体内容都可以直接用Python来处理,比如得到Response之后我们可以直接进行解析,然后存入数据库,这样就完成了数据的解析和存储过程。
4. 设置代理
首先,我们需要运行 mitmproxy,命令如下title qq技术导航网福利所示:
启动 mitmproxy 的命令如下:
之后会在8080端口上运行一个代理服务,如下图所示。

右下角会出现当前正在监听的端口。
或者启动 mitmdump,它也会监听 8080 端口,命令如下所示:
运行结果如下图所示。

将手机和 PC 连接在同一局域网下,设置代理为当title qq技术导航网福利前代理。首先看看PC的当前局域网IP。
Windows 上的命令如下所示:
Linux 和 Mac 上的命令如下所示:
输出结果如下图所示。
Linux/Mac:

Windows:

一般类似 10.*.*.*或 172.16.*.* 或 192.168.1.* 这样的 IP 就是title qq技术导航网福利当前 PC 的局域网 IP,例如此图中 (Linux)PC 的 IP 为192.168.220.130,手机代理设置类似如下图所示。

这样我们就配置好了 mitmproxy 的的代理。
5. Mitmproxy 的使用
5.1 安装证书
确保 mitmproxy 正常运行,并且手机和 PC 处于同一个局域网title qq技术导航网福利内,设置了 mitmproxy 的代理,具体的配置方法可以参考官方文档。
运行 mitmproxy,命令如下所示:
设置成功之后,我们只需要在手机浏览器上访问任意的网页或浏览任意的 App 即可。
不过还要安装证书才可以使用,操作方法启动 mitmproxy 之后,在手机上也设置代理之后title qq技术导航网福利,打开浏览器输入:mitm.it 下载手机平台的证书并安装。操作如下动图(我会把代理设置也会重新操作一遍):

5.2 测试抓包
例如在手机上打开 https://www.aiyc.top/ ,mitmproxy 页面便会呈现出手机上的所有请求,如下图所示。

这就相当于之前我们在浏览器开发者工具监听到的浏览器请title qq技术导航网福利求,在这里我们借助于 mitmproxy 完成。Charles 完全也可以做到。
这里是刚才手机打开 AI悦创页面时的所有请求列表,左下角显示的 1/36 代表一共发生了 36 个请求,当前箭头所指的是第一个请求。
每个请求开头都有一个 GET 或 POST,这是各个请求的请求方式。紧接的是请求的 URtitle qq技术导航网福利L。第二行开头的数字就是请求对应的响应状态码,后面是响应内容的类型,如 text/html 代表网页文档、image/gif 代表图片。再往后是响应体的大小和响应的时间。
当前呈现了所有请求和响应的概览,我们可以通过这个页面观察到所有的请求。
5.3 详细操作
5.3.1 查看详细请求
如果想查看某个请求的title qq技术导航网福利详情,我们可以敲击回车,进入请求的详情页面,如下图所示。

可以看到 Headers 的详细信息,如 Host、Cookies、User-Agent 等。
最上方是一个 Request、Response、Detail 的列表,当前处在Request这个选项上。这时我们再点击 TAB 键,即可查看这个请求对title qq技术导航网福利应的响应详情,如下图所示。

最上面是响应头的信息,下拉之后我们可以看到响应体的信息。针对当前请求,响应体就是网页的源代码。
这时再敲击 TAB 键,切换到最后一个选项卡 Detail,即可看到当前请求的详细信息,如服务器的 IP 和端口、HTTP 协议版本、客户端的 IP 和端口等,如下图所示。

5.3.title qq技术导航网福利2 Mitmproxy 编辑
Mitmproxy 还提供了命令行式的编辑功能,我们可以在此页面中重新编辑请求。
敲击 e 键即可进入编辑功能,这时它会询问你要编辑哪部分内容,如 Cookies、Query、URL 等,每个选项的第一个字母(或数字)会高亮显示。

敲击要编辑内容名称的首字母(或数字)即可进入title qq技术导航网福利该内容的编辑页面,如敲击 5 即可编辑请求的方式,敲击 6 即可修改 GET 请求参数 Query 。
这时我们敲击 6,进入到编辑 Query 的页面。我们可以看到已经有一些参数了,我们可以敲击 a 来增加一行,然后就可以输入参数对应的 Key 和 Value,如下图所示。

这里我们输入 Key 为 title qq技术导航网福利wd,Value 为www.aiyc.top。
然后再敲击 esc 键和 q 键,返回之前的页面,再敲击 e 和 4 键修改 Path 。和上面一样,敲击 a 增加 Path 的内容,这时我们将 Path 修改为 aiyuechuang,如下图所示。

再敲击 esc 和 q 键返回,我们就再修改一下请求title qq技术导航网福利,也是敲击 e 和 5 修改 method,这个时候会出现如下结果,操作如下动图:

这时我们可以看到最上面的请求链接变成了:https://www.aiyc.top/usr/themes/handsome/libs/Get.php/aiyuechuang?type=song