V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hxhsammy
V2EX  ›  程序员

android7 以上系统 https 抓不到包,大家是如何解决的?

  •  
  •   hxhsammy · 3 天前 · 3243 次点击
    本人做小程序这块的业务比较多,经常要排查问题,目前用 https 抓包的工具会比较多,iphone 相关的设备还比较好处理,安装证书后基本都能抓包,android7 以后的设备,无法信任用户证书,而且大部分的设备已经关闭了 root 的通道,无法再通过中间人攻击的这种方式进行抓包了,想问下大家都是怎么解决的?
    38 条回复    2025-10-17 09:09:04 +08:00
    jianqiao031313
        1
    jianqiao031313  
       3 天前
    好几年不抓小程序了,提供几个思路:
    1. iOS 抓
    2. 装个雷电模拟器啥的,当个安卓机用
    3. 如果是自己的小程序,可以把关键信息上报到微信的实时日志里排查问题,量不大的话好像是免费的
    deplives
        2
    deplives  
       3 天前
    Xposed + JustTrustMe
    thealert
        3
    thealert  
       3 天前
    root 一个 android 设备 ,把用户证书添加到根证书
    Deteriorator
        4
    Deteriorator  
       3 天前
    我就是上个月把一台 Android 7 解锁 BL , 红米的, 然后用 magisk 刷了 root , 进行抓包的的
    superrichman
        5
    superrichman  
       3 天前
    闲鱼几百块买个已经 root 的二手机器
    SilentOrFight
        6
    SilentOrFight  
       3 天前
    从另一个角度看,至少安全了一些不是?🤣
    cinhoo
        7
    cinhoo  
       3 天前
    电脑 mitmproxy + 手机代理,我的 ios 是这么抓包的
    dosmlp
        8
    dosmlp  
       3 天前
    除了 root 别无他法
    Hack3rHan
        9
    Hack3rHan  
       3 天前
    小程序完全可以抓 Windows 端,如果必须移动端且必须 Android ,优先尝试模拟器 adb 写证书到系统目录,如果不行,那只能刷模块。
    naythefirst01
        10
    naythefirst01  
       3 天前
    root 证书移动到根目录,当然系统版本也不要太高
    jarytom
        11
    jarytom  
       3 天前
    请问一下各位大佬,tcp 的包怎么抓?
    meteora0tkvo
        12
    meteora0tkvo  
       3 天前
    专门买一台谷歌亲儿子,然后 root 作为开发机
    superrichman
        13
    superrichman  
       3 天前
    @jarytom #11 tcpdump
    liKeYunKeji
        14
    liKeYunKeji  
       3 天前
    目前我的方案就是通过 ROOT ,然后将证书加到系统证书里面,才可以受信任。IOS 就直接装上证书就能抓,还得是 IOS 简单点。
    fortytwo
        16
    fortytwo  
       3 天前
    必须 root 了。搞个可以 root 的机子也不贵,我搞的是 redmi note 12 5G 256G 版本

    反正只是抓包用,对于成色电池啥的没要求,收个二手比较便宜,几百块搞得定。

    我日常抓包用 reqable ,个人觉得免费的够用。
    zsxzy
        17
    zsxzy  
       3 天前
    买个 rk 的开发板, 默认都是 root 的, 几百块钱
    afstyle
        18
    afstyle  
       3 天前
    我是用 AndroidStudio ,在里面找个非 PlayStore 的虚拟机版本创建虚拟机,然后软件装里面,可以安装抓包软件的证书
    AoEiuV020JP
        19
    AoEiuV020JP  
       3 天前
    reqable 做的很好,重点是竞品都停更了,只有 reqable 跟上了时代,可以说证书方面已经做到了市面上最好最全,用 reqable 抓不了的话那就是真的抓不了,
    目前安卓高版本最佳方案还得是 root 安装用户证书+系统证书,没有 root 就只能抓自己开发的 app ,
    zoharSoul
        20
    zoharSoul  
       3 天前
    iOS 抓
    duzhuo
        21
    duzhuo  
       3 天前
    用 Reqable ,直接 Magisk 里面安装证书模块
    docx
        22
    docx  
       3 天前 via iPhone
    ROOT ,别无他法
    kiraskyler
        23
    kiraskyler  
       3 天前
    1 、电脑开热点,电脑上抓
    2 、linux 内核 uprobe ,用户态 hook https 的函数抓
    scipelaina
        24
    scipelaina  
       3 天前
    pulutom40
        25
    pulutom40  
       3 天前 via iPhone
    @kiraskyler 手机没装根证书,电脑抓到的包怎么解密?
    q197
        26
    q197  
       3 天前 via Android
    @scipelaina 这个也要 root ,看介绍优点可能是假如 app 检测证书签发者等场景因为这个抓包不需要 mitm 所以无法被检测?
    pangzipp
        27
    pangzipp  
       3 天前
    1. 雷电模拟器
    2. 买个二手的 pixel + root
    swananan
        28
    swananan  
       3 天前
    ebpf 方案,或者说 uprobe 方案的话,得 root 才行。

    我其实本来想推荐,用我这个工具( https://github.com/swananan/ghostscope ),虽然不能抓出 WireShark 能解析的 pcap 包,但是直接看代码里面细节,其实更快。不过,也是需要 root 。
    ellermister
        30
    ellermister  
       3 天前
    这点 安卓要比 IOS 安全太多,防止你抓包篡改泄露等。看谁再说 ios 安全 😀
    caijunduo
        31
    caijunduo  
       3 天前
    ONPatch + JustTrustMe/TrustMeAlready + Drony
    UnluckyNinja
        32
    UnluckyNinja  
       3 天前
    不 root ,模拟器不能跑,那你就得逆向包,然后可能会要对抗真机检测、完整性检测,这是个大坑,不如挑个能 root 的机器直接抓包,最多隐藏下 root 相关模块等
    inhzus
        33
    inhzus  
       3 天前
    不懂就问,Android 不能安装用户证书的话,怎么 MITM 呢
    irrigate2554
        34
    irrigate2554  
       3 天前
    root 或者 模拟器 或者 安卓虚拟空间软件(类似 VMOS 这种)试试
    w568w
        35
    w568w  
       3 天前   ❤️ 1
    @inhzus > Android 不能安装用户证书

    Android 可以安装用户证书(用户 CA ),但系统不会默认信任:

    - Android 6.0 及以下:系统信任用户导入的用户 CA ;
    - Android 7.0 及以上:系统只信任出厂内置的系统 CA 。

    参考: https://developer.android.com/privacy-and-security/security-config?hl=zh-cn#base-config

    > 怎么 MITM 呢

    如果是自己的应用,直接参考上面的链接配置信任用户 CA 即可;

    如果是抓别人的包,有 ROOT 可以把自己的证书导入为系统 CA ;没 ROOT 就只有一些旁门左道了,比如虚拟机或者 Apk hook ,但可用性都不高。
    greatbody
        36
    greatbody  
       3 天前
    还有一个独特的思路:将需要逆向的 apk 解包后,提取里面所有的 URL ,找到疑似是 API 的,然后都替换成自己的域名,自己的域名运行一个自己写的 Python 服务转发请求,同时记录请求信息。
    h4de5
        37
    h4de5  
       2 天前
    买个 google 手机去下载一个第三方的 userdebug 的镜像。然后用 https://github.com/httptoolkit/httptoolkit-server/blob/main/src/interceptors/android/adb-commands.ts#L417 这个脚本可以把证书导进去就可以了
    chapiom
        38
    chapiom  
       2 天前 via iPhone
    @scipelaina 这个因该是要模拟器吧,实体机这么高版本系统版本没见到,还要 root
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 16:22 · PVG 00:22 · LAX 09:22 · JFK 12:22
    ♥ Do have faith in what you're doing.