夜神模拟器抓包常见问题排查,四类常见问题分类排查

1 阅读4分钟

我注意到一个现象:问夜神模拟器抓包的人,十个里有八个卡在最前面那几步——要么模拟器识别不到,要么抓到了全是密文。我用 TraceEagle 帮人排查过几轮夜神抓包的问题,卡点来来去去就四类,跟夜神这台模拟器自身的设置关系很大。这篇按类拆开,每类给症状、原因和具体解法,照着对号入座。

你大概率会遇到其中一类:

  • 夜神装好了,抓包工具里却看不到这个设备
  • 设备在列表里,点开始抓包提示"网卡抓包不支持"
  • 流量出来了,个别 App 的请求全是密文
  • 想边抓边改请求重放,或者夜神里没开 root

先说清楚夜神抓包为什么会卡在这几个位置。夜神是模拟器,抓包这件事在它身上有三条独立的线:root 权限、系统内核、证书信任。三条线里任何一条没对齐,抓包就断在半路。root 决定能不能用免证书的整机抓法;内核版本决定网卡抓包这条路通不通;证书信任决定代理抓包能不能解出 HTTPS 明文。下面四类问题,本质都是这三条线某一处断了。

识别这一步先放个底:模拟器和真机不一样,不需要插数据线、不需要 USB 调试授权,夜神窗口开着就会被发现——识别不到,问题多半出在模拟器自身状态上。

第一类:夜神识别不到

症状:TraceEagle 的设备列表里没有夜神。

对照排查:夜神有没有在运行——没启动自然识别不到;root 开关有没有开——夜神设置里找到"root 权限"选项开启,这是免证书抓法的前提;多开的情况下,检查是不是抓的窗口和正在操作的窗口不是同一个。

解法:确认模拟器运行中、root 已开启,再点一次刷新;还不行就重启一次模拟器,多半就被识别到了。验证方法:设备列表里出现夜神条目、状态正常,说明识别成功。

第二类:提示"网卡抓包不支持"

症状:设备识别到了,选"网卡抓包"开抓,提示不支持。

原因:夜神的引擎版本偏老,系统内核不满足网卡抓包的前提。

解法:换"网卡密钥",它不挑内核,老设备、各类模拟器都能用——这也是模拟器抓包的默认选择。操作照旧:选设备、选网卡(默认 Wi-Fi)、开抓,流量自动解密。验证方法:请求列表出现流量,点开任意一条,TLS 标记"已解密",说明这条路通了。

第三类:流量出来了,个别 App 只有密文

症状:整机抓包能看到流量,但某个 App 的请求全是密文,内容看不了。

原因:这个 App 用了自带或非标准的加密组件,整机解密路线绕不过去。

解法:对这个 App 改用"应用层抓包"——从它内部直接取明文,证书绑定、自定义加密都拦不住。指定方式三种:从已装 App 列表选、填包名或进程名、留空抓当前前台 App。想抓它启动初期的流量,勾"重启目标程序"。应用层也取不到明文时,打开"socket 流量"开关兜底,换一条更底层的路取数据。验证方法:应用层开抓后只操作那个 App,它的请求单独出现在列表里,点开是明文。

第四类:想改包重放,或者没开 root

症状:需要边抓边改请求(断点、改写、重放),或者夜神里没开 root。

解法:走代理抓包这条路——把夜神的 Wi-Fi 代理指向本机,装上根证书,像电脑上一样抓 HTTPS 明文,改写、重放能力全带上。高版本安卓默认不信任用户装的证书,夜神已开 root 的话,可以让工具把证书自动装到系统层;个别 App 做了证书绑定,配合解除证书绑定处理。

夜神模拟器抓包的注意事项其实是三件事:root 开了没有、内核支不支持、证书走哪条路——对号入座,一次过。

顺带一提:整机抓法(网卡密钥、网卡抓包、应用层)都不需要装证书,只有代理抓包才需要——不少人以为模拟器抓包必须装证书,其实免证书路线在夜神上同样能跑。抓包所需的辅助组件会按设备架构自动下载并缓存,不用手动配环境。

夜神模拟器抓包卡住先别换工具、装证书,按这四类尝试下:识别不到查 root 和运行状态,提示不支持换网卡密钥,密文用应用层,要改包走代理。设置里点几个开关,比在证书上折腾一晚上省事得多。