目录
一、查看 Fiddler 的 ip 地址
二、设置 Fiddler 允许远程连接
三、进行手机端 App 的抓包
3.1.准备工作
3.2.手机设置
3.3.安装根证书
四、可能会遇到的问题
有两种方法可以查询到。
第一种方法:
打开 Fiddler,鼠标悬停在工具栏最右边的 Online,出现在提示信息最末尾的就是 ip 地址(记住,一定是最末尾的 ip 地址);
第二种方法:
1.通过命令提示符。
1.1.使用快捷键 Win + R,在 打开(O):输入 cmd,点击 确定;
或者
1.2.在桌面左下角搜索栏搜索 命令提示符 -> 打开;
2、输入命令:ipconfig 查询,在 无线局域网适配器 WLAN: 中的 IPv4 地址 对应的就是 ip 地址。
注意,不要写成 ifconfig 了,那是在 Linux 内查询 ip 地址的命令;
我有时候也会搞混淆,哈哈哈. . .哈
1.点击 Tools,选择 Options...;
2.选择 Connections,勾选 Allow remote computers to connect(允许远程连接);
注:
Fiddler listens on port:里面的是 Fiddler 的端口号,默认为 8888,不用更改。
1.保证电脑和手机连接的是同一个网络;
如下,这是我的电脑连接网络:
这是我的手机连接网络:
2.电脑上的网络如果是专用的必须设置为公用;
2.1.点击 属性;
2.2.把 专用 切换为 公用 就可以了;
1.点击手机所连接的网络;
2.勾选 手动代理;
代理服务器主机名输入:在 Fiddler里面的 Online 查出来的 或者 命令提示符使用命令 ipconfig 查出来的 电脑 ip 地址;
代理服务器端口输入 :Fiddler 默认端口号 8888;
进行到这里就可以进行手机端的 App 抓包了。但是此时只能抓到 Http 的包,如果想要抓到 Https 的包就跟着我继续往下3.3的操作吧!!!不想的话,就请你止步于此吧,我们的缘分已尽,你已经不是一个爱学习的乖宝宝了,哼╭(╯^╰)╮~
安装根证书步骤:
1.打开手机里的浏览器(随便哪个浏览器都可以,我打开的是百度),输入的格式为:http://Fiddler 的 ip 地址:Fiddler 的端口号
比如,我 Fiddler 的 ip 为 192.168.0.116、Fiddler 的端口号为 8888;那么我就可以这样来访问页面:http://192.168.0.116:8888(也可以简写为:192.168.0.116:8888,网页会自动帮你补全前面的 http:// 协议)。
2.输入网址后会进入到该页面,点击 FiddlerRoot certificate 进行 下载 Fiddler 根证书(注意注意哇:每换一个网络都要重新下载一次根证书);
友情提示:如果你在这一步就出现问题了,根本访问不了浏览器的话,就请你看目录 四、可能会遇到的问题,解决完再进行接下来的操作(这里面我有详细说明如何解决)。
3.打开手机中的 设置 -> 安全与隐私;
2.找到 更多安全设置;
3.找到 受信任的凭据;
注:不同型号的手机设置的方法都不同,还需要你们自己去找,最主要的是能够找到 受信任的凭据 这个选项,这个步骤我只能给你们提供参考。
4.在受信任的凭据内点击 用户,此时用户里面是没有任何证书的,需要进行安装根证书;
5.找到你下载好的根证书的位置,点击该证书,会弹出对话框让你选择打开方式,选择 证书安装程序;
6.弹出 为证书命名 对话框,输入 证书名称:,点击 确定;
7.再次回到受信任的凭据,点击 用户,就会看到 Fiddler 根证书已经安装成功啦;
8.然后就可以打开 Fiddler 进行抓取手机 App 的 Https 的包了,以下,是我从手机浏览器抓到的数据:
Fiddler 设置手机代理后,浏览器无法上网,也就不能进行下载 Fiddler 根证书这个操作。
如下:
这是用百度浏览器访问的:
这是用 QQ 浏览器访问的:
... ...
...
都无法访问???
解决方案:
第一个,要修改注册表编辑器
1.在桌面左下角搜索栏搜索 注册表编辑器 -> 打开;
或者
使用快捷键 Win + R 打开命令提示符,输入 regedit,点击 确定;
2.进入到该页面。
嫌麻烦的话,完整路径为:HKEY_CURRENT_USER -> SOFTWARE -> Microsoft -> Fiddler2,然后直接看第 4 步。
不嫌麻烦的话,也可以根据我的步骤一步步来,1.点击 HKEY_CURRENT_USER 文件夹;
2.找到 SOFTWARE 文件夹;
3.接下来找到 Microsoft 文件夹;
4.在 Microsoft 文件夹下找到 Fiddler2 文件夹;
5.在 Fiddler2 中鼠标右键 新建(N) -> QWORD (32 位)值(D);
6.名称那一行填入 80;
第二个,要修改 Fiddler 里的 Fiddler ScriptEditor
1.打开 Fiddler,点击 Rules,选择 Customize Rules....(自定义规则)进入 Fiddler ScriptEditor 界面;
或者
输入键盘快捷键 Ctrl+R,直接进入 Fiddler ScriptEditor 界面;
2. 按下快捷键 Ctrl+F,弹出 Find and Replace 对话框:
Find what:输入 OnBeforeRequest ,点击 Find Next (或者按下键盘的 enter 键);
会定位到下图位置:
3.复制该代码添加进去:
if (oSession.host.toLowerCase() == "webserver:8888") { oSession.host = "webserver:80"; }
然后重新启动 Fiddler,解决啦!!!
完。。。