如何用Fiddler抓取抖音App的HTTPS请求?需要配置哪些证书才能避免抓包失败?
这是一个非常经典的技术操作,主要分为配置 Fiddler 和配置手机两个核心步骤,由于抖音使用 HTTPS 加密,所以还需要特别处理证书问题。
核心原理
整个过程是这样的:
- Fiddler 充当中介:Fiddler 会把自己伪装成一个“代理服务器”。
- 手机流量经过 Fiddler:你设置手机的网络代理,让手机所有上网请求都先发给 Fiddler。
- Fiddler 解密并转发:Fiddler 收到手机发来的 HTTPS 请求后,会用自己的“中间人证书”进行解密,查看请求内容,然后再用服务器的真实证书重新加密,转发给抖音服务器。
- 服务器返回,Fiddler 再解密:抖音服务器返回的加密数据,同样被 Fiddler 截获,解密后呈现给你,再加密发回给手机。
这样,你就能在 Fiddler 中看到 App 和服务器之间“裸奔”的所有数据了。
第一步:配置 Fiddler (在电脑上)
这一步的目的是让 Fiddler 能够监听网络流量,并为 HTTPS 流量安装“信任”证书。
配置允许远程连接
为了让手机能访问到电脑上的 Fiddler,必须开启此选项。
- 打开 Fiddler。
- 点击顶部菜单栏的
Tools->Fiddler Options...(或直接按F12)。 - 在弹出的窗口中,切换到
Connections选项卡。 - 勾选 "Allow remote computers to connect" (允许远程计算机连接)。
- 记下这里的 "Fiddler listens on port:" 端口号,默认是
8888。 - 点击
OK保存。
配置 HTTPS 解密
这是最关键的一步,否则你看到的 HTTPS 请求会是乱码。
- 再次打开
Fiddler Options...。 - 切换到
HTTPS选项卡。 - 在 "Decrypt HTTPS traffic" (解密 HTTPS 流量) 区域,勾选以下两个选项:
- "Decrypt traffic": 勾选此项,Fiddler 才会尝试解密 HTTPS。
- "Ignore server certificate errors (for HTTPS)": 勾选此项,可以忽略一些服务器证书错误,让抓包更稳定。
- 点击
OK保存。
查看电脑 IP 地址
手机需要通过电脑的 IP 地址来连接 Fiddler。
- Windows: 在命令提示符或 PowerShell 中输入
ipconfig,找到你正在使用的网络连接(如“以太网适配器”或“WLAN适配器”)下的IPv4 地址。 - macOS: 在终端中输入
ifconfig | grep "inet ",找到en0或en1下的inet地址。
请记下这个 IP 地址,168.1.100。
第二步:配置手机 (连接到 Fiddler)
这一步是在手机上设置网络代理,让它把流量都导向你的电脑。
手机和电脑连接同一 Wi-Fi
这是必须的前提条件,手机和电脑必须在同一个局域网内,否则无法连接。
设置 Wi-Fi 代理
不同手机系统设置方法略有不同,但逻辑一致。
通用方法:
进入 Wi-Fi 设置 -> 长按你当前连接的 Wi-Fi 网络 -> 选择 网络代理 或 代理。
-
对于安卓手机 (Android):
- 代理类型选择
手动。 - 主机名填入你电脑的 IP 地址 (
168.1.100)。 - 端口填入 Fiddler 的端口号 (默认
8888)。 - 保存。
- 代理类型选择
-
对于苹果手机:
- 代理类型选择
手动。 - 服务器填入你电脑的 IP 地址 (
168.1.100)。 - 端口填入 Fiddler 的端口号 (默认
8888)。 - 保存。
- 代理类型选择
连接成功标志:
设置完成后,手机应该会自动断开 Wi-Fi 然后重连,Fiddler 窗口左下角出现 Connected to 192.168.x.x:xxxx 的字样,说明手机已经成功连接到 Fiddler 了。
第三步:处理手机上的 HTTPS 证书警告
这是抓取 App(尤其是抖音这类安全级别高的 App)时最常遇到的问题,当你第一次通过代理访问网络时,手机系统会发现服务器的证书不匹配(因为 Fiddler 替换了它),从而弹出警告。
在 Fiddler 中获取证书
- 在电脑上打开 Fiddler,点击顶部菜单栏的
Tools->Fiddler Options...。 - 切换到
HTTPS选项卡。 - 在 "Actions" (操作) 区域,点击 "Export Root Certificate..." (导出根证书)。
- 选择一个位置保存这个证书文件,文件名通常是
FiddlerRoot.cer。
在手机上安装证书
你需要将这个 .cer 证书文件传输到手机上,然后安装它。
-
网页下载 (推荐)
- 在电脑上打开浏览器,输入
http://[你的电脑IP]:[Fiddler端口](http://192.168.1.100:8888)。 - 页面会显示 "Fiddler is listening...",在页面中找到
FiddlerRoot certificate链接并点击。 - 手机浏览器会自动下载证书文件,点击文件进行安装。
- 安装时可能需要输入手机锁屏密码或验证指纹/面容。
- 重要: 如果系统提示“此证书不受信任”,请选择仍然安装或高级 -> 安装 anyway,这是正常的,因为我们就是要信任 Fiddler 这个“中间人”。
- 在电脑上打开浏览器,输入
-
数据线传输
- 用数据线将手机连接到电脑。
- 在电脑上找到刚才保存的
FiddlerRoot.cer文件。 - 将其复制到手机的“下载”或“文件”管理器中。
- 在手机上找到该文件,点击安装,并按照提示完成信任。
第四步:开始抓取抖音数据
完成以上所有步骤后,你就可以开始抓包了!
- 清空会话:在 Fiddler 主界面,右键点击任何一条请求,选择
Clear All Sessions,清空之前的记录。 - 打开抖音 App:在手机上打开抖音 App。
- 观察 Fiddler:
- Fiddler 左侧会开始出现大量的请求列表,这些都是抖音 App 发起的网络请求。
- 你可以点击
Filters选项卡,设置只显示来自你手机 IP 的请求,这样更清晰。 - 在请求列表中,寻找包含
api、aweme、video等关键词的请求,这些很可能是获取视频列表、视频详情、点赞评论等数据接口。
- 查看请求详情:点击任意一条请求,右侧会显示该请求的详细信息:
- Headers: 请求头、响应头,包含 User-Agent、Token 等重要信息。
- TextView/Tabs: 可以查看请求的参数(QueryString 或 Body)和服务器返回的 JSON 数据。
- 在返回的 JSON 数据里,你就能找到视频的 URL、标题、用户信息等。
常见问题与解决方案
-
问题1:手机连上代理后,App 无法上网(如抖音加载不出来)。
- 原因:通常是防火墙或杀毒软件阻止了 Fiddler 的端口(8888)。
- 解决:检查并关闭电脑的防火墙和杀毒软件,或者将 Fiddler 添加到防火墙的允许列表中。
-
问题2:Fiddler 中看不到任何请求,或者全是乱码。
- 原因:
- 手机和电脑不在同一 Wi-Fi。
- 手机代理设置错误(IP 或端口写错)。
- Fiddler 的
HTTPS解密功能没有开启。 - 没有安装手机证书,导致 App 检测到不安全环境而停止网络请求。
- 解决:逐一排查以上设置。
- 原因:
-
问题3:手机浏览器可以访问
http://电脑IP:8888,但抖音 App 仍然提示“网络异常”。- 原因:抖音 App 内部有证书锁定机制,即使你安装了 Fiddler 证书,它也可能拒绝不安全的连接。
- 解决:这通常意味着抖音使用了证书绑定技术,常规抓包方法可能失效,可以尝试以下高级方法:
- 开启 Fiddler 的
Protocols选项卡中的HTTP/2支持。 - 尝试使用其他抓包工具,如 Charles(在 Mac 上效果更好)或者更专业的工具如 Burp Suite,这些工具对 App 的反抓包机制可能有更好的绕过方式。
- 开启 Fiddler 的
使用 Fiddler 抓取抖音的流程可以总结为:
- 电脑上:Fiddler 开启远程连接和 HTTPS 解密。
- 同一 Wi-Fi:确保手机和电脑在同一个网络下。
- 手机上:设置 Wi-Fi 代理,指向电脑 IP 和 Fiddler 端口。
- 安装证书:通过网页或文件将 Fiddler 证书安装到手机并信任。
- 开始抓包:打开 App,在 Fiddler 中分析请求。
希望这份详细的指南能帮助你成功抓取到抖音的数据!
作者:99ANYc3cd6本文地址:https://chumoping.net/post/1932.html发布于 今天
文章转载或复制请以超链接形式并注明出处初梦运营网



