移动端:Fiddler抓包
原理
代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。
Fiddler可以抓取支持http代理的任意程序的数据包,如果要抓取https会话,要先安装证书。
由于fiddler并不能对ios进行抓包,这里选用Charls总结可搜索Charls查看
安装-汉化版
阿里云盘:效率工具>办公
配置
1、设置链接和监听端口

2、设置抓取https请求
默认fiddler 不抓取https的包,先设置https,就能抓取了


3、安装https证书(重点)
PC端安装根证书




注意:如果非首次安装或者抓包过程中出现各种抓不到等疑难杂症,建议删除所有之前安装过的根证书 ,重新安装一次;重启fiddler;关闭电脑的防火墙,比如我把360的安全卫士关闭
以下方法可以打开证书管理器可查看所有证书


客户端-手机端 设置代理并安装证书
查看本机ip
方法1-通过fiddler直接查看

方法2-通过CMD-输入
ipconfig命令查看
不同客户端安装证书举例
真机-安卓
华为手机为例
第一次安装 需要设置锁屏密码,按提示设置即可
要使用手机自带的浏览器下载证书

设置-安全-更多安装设置-加密和凭据-从存储设备安装-CA证书


查看下载任务详情-通过文件管理器打开证书-进而确定 文件的下载路径。(有些手机会自动搜索出刚刚下载的证书,有些需要自己找一下)

模拟器
第一次安装 需要设置锁屏密码,按提示设置即可
输入 192.168.0.172:8888 下载证书,然后安装,安装步骤如下


浏览器
输入 192.168.0.172:8888 下载证书,然后安装,安装步骤如下

如果遇到PC浏览器抓不了包,同样是在这里将其删除

真机-IOS
教程:https://blog.csdn.net/weixin_40608713/article/details/114873070
小米手机安装证书: https://blog.csdn.net/zpl123456/article/details/104071611 oppo手机安装证书: https://blog.csdn.net/plychoz/article/details/80832405
苹果手机安装证书: https://blog.csdn.net/dlrb_beautiful/article/details/120067364
实用技巧(重要)
过滤接口信息
从非浏览器抓包-适用app/小程序

按主机过滤

注意 一般app 可能会调用多个域名或者多个子域名, 这里就要用到通配符匹配,比如
# 通配符,不同域名之间用英文 ; 分开 *.aaa.com;*.bbb.com;
类型过滤
# 通过 正则匹配 将各种图片、CSS、JS这类的静态素材,直接过滤掉。 REGEX:(?i)/[^\?/]*\.(css|ico|jpg|png|gif|bmp|wav|js|jp?g|swf|woff)(\?.*)?$;
按进程抓包–只抓取该指定进程下的接口信息

状态码过滤


过滤connect连接(Https接口)

在抓取https的数据包时,会显示很多
Tunnel to….443的接口信息,其实不必担心,https链接前,先会使用connect方法进行握手,建立好连接后,再进行通信,我们可以选择将这类信息进行隐藏。按URL进行过滤
场景1:调试网页的时候,可能某些频繁的ajax轮询请求会干扰我们,可以屏蔽某些url的抓取。
场景2:目前我只是抓完包之后,观察结果时,用这个方法去掉部分url干扰。
但是有个缺点,只对当前列表已有的这个url进行屏蔽,后面新抓到的即便是相同的url也不再生效;而且重新打开fiddler屏蔽词也会失效。


弱网设置
限速规则设置(ctrl+F 搜 300)

根据需求自行修改:
上传1KB需要300ms,转化一下:1Kb/0.3s = 10/3=3.3(KB/s)
备注:每次编辑并保存配置文件后,Simulate Modem Speeds选项会被取消,需要重新勾选。

拦截修改数据(待整理)
断点
断点设置
https://www.yuque.com/liruijie-j3set/bbczmp/ko19o3
https://www.yuque.com/duoli/develop/software-fiddler-usage
Composer组合器
模拟向服务器发送数据的过程(拦截修改数据)


统计(待整理)
其它的疑难杂症
无网络或者有网络也抓不到包
当然这里讲的 并非没有正确的安装https证书。
app不走代理
APP使用了默认禁用系统代理
正常情况下 各类应用会先检查是不是有系统代理,如果有就直接用。但是部分应用(比如我遇到的微信小程序-游戏)在遇到系统设置的代理的时候,会绕过代理去发送请求 或者 直接报错,这样的后果就是要么App无法连接网络,没有经过Fiddler等软件的代理,自然也无法正常抓包。
app代理检测
游戏app, 通过代理网络访问:初始化失败,经过观察也就初始化接口是有校验是不是通过代理进入游戏。
解决方案:可以尝试先连接其它非代理网络,成功初始化之后,再连接代理网络,尽可以成功抓包了
微信小程序抓不包
具体表现为
1、根本进不去游戏,2、即便非代理网络先进去了,再切换回代理网络,正常使用小程序,还是抓不到包。
解决方案:可以使用Windows PC 版 进行小程序抓包(亲测可用)。如果使用 PC最新版本的微信客户端还是抓不到 ,可以使用旧版。
阿里云盘:搜索 微信旧版本