软件端抓包是怎么实现的?

Charlin Chen 2026-06-29 10:10 1

我一直有一个疑问,大佬们是怎么把软件的api接口扒出来的。web很简单按F12就能找到,但诸如exe可执行文件这种,到底是怎么找到接口的?问AI说可以用mitm中间人攻击,但是现在基本都是https了根本看不到明文啊?

最新回复 (18)
  • 虹夏 06-29 10:11
    1

    安装自签证书可以看到报文吧wireshark和小黄鸟都是

  • stk 06-29 10:13
    2

    web端的f12就相当于一个封装好的抓包软件。软件端就得自己去找抓包软件下载好配置自签证书了。但是有时候可能会遇到有软件实现了SSL pinning,这个时候就只能反编译源码研究了(我目前是这样,不确定有什么更好的办法吗)

  • Klready 06-29 10:15
    3

    可以装好CA解密的证书后,用Reqable抓,连上电脑更方便些

    简单点的App可以直接让AI把它砸开逆了

    固定证书的忘了,好像得上Xposed插件来着

  • Charlin Chen 楼主 06-29 10:15
    4

    谢谢大佬回答,问题是自签的证书和目标服务器的证书是不一样的吧?不是有证书校验吗,不是那个证书握手阶段都被拒了

  • NaiveMagic 06-29 10:16
    5

    ios/mac/windows 都非常容易抓 https 的包,因为对你安装系统级 CA 证书基本没有限制

    没有 root 的 android 想抓 ssl 难如登天,只有 root 后装模块

  • maiyouweng 06-29 10:16
    6

    fiddler,用这个就可以抓包,之前帮着排查问题的时候用过

  • 咚咚咚锵 06-29 10:16
    7

    fiddler,reqable这些抓包软件都可以

  • Charlin Chen 楼主 06-29 10:17
    8

    对对对,这个pinning确实就是我遇到的问题,只能逆向了吗

  • randname 06-29 10:19
    9

    其实有 ecapture 这种抓包工具 ,不怕 pin

  • Charlin Chen 楼主 06-29 10:21
    10

    Reqable



    Reqable我有试过,问题是我计算机上的程序似乎都不走代理,好像啥请求都没抓到?

  • Charlin Chen 楼主 06-29 10:25
    11

    也就是说这个pin实际上走的是协议?我一直以为是软件端做了校验,比如说发现服务器证书和预设的不一样就退出

  • Marchen_orz 06-29 10:25
    12

    可以用Proxifier指定让应用经过抓包的代理

  • Parsifal 06-29 10:29
    13

    ssl pinning 的只能 root 后做动态注入了,把 pining 关掉。现在其实大点的已经不怎么做 pinning 了,都是自己再基于 ssl 做一层 request body 和 response body 的加密。因为 SSL 证书的有效时间越来越短了,做 Pinning 得频繁更新,原来是 3-5 年一更新,接下来很快就推行只有几个月有效期了。


    ssl pinning 有分单端和双端的,一般做的都是客户端单端,这个其实就是内置了 ssl 证书,再跟 server 返回的做对比。

  • randname 06-29 10:41
    14

    你可以看一下这个项目的描述,是用 eBPF 直接抓 tls 解密后的内容,完全没有动任何证书

  • 32kfdf83 06-29 10:42
    15

    抓包有几种方式



    1. 让软件通过七层代理访问网络,如http ,socks 之类的代理,在代理软件抓包。这些代理软件有 burp 、Fiddler 之类。如果抓包的协议是tls,那么你要让软件信任你的CA证书。大多数软件读取的系统证书库, 所以你将你的CA导入到系统证书库就可以了, 抓包软件会自动用这个根证书签发抓包需要的证书。个别软件会只会信任软件内置的CA证书库,这种情况,就要分析,内部证书库在哪里,怎么将你的CA加进去,这需要逆向程序,分析逻辑。

    2. 采用wireshark之类的,在L2以上抓包,这种tls 同样看到是加密的, 不过解密内容可以看看被抓包软件是否支持sslkeylog配置,将tls加密过程中的密钥输出给wireshark,以机密内容。

    3. 通过hook 操作系统的网络api , 需要你熟悉对应操作系统的网络api , 这时候,看到的已经加密的数据,需要向上分析, 定位加密前的位置,然后切换hook位置。


    即使抓包完成了,要分析逻辑,还是得逆向程序。如果想看看访问哪些域名、ip , 可以第1、2种。如果想分析报文内容,推荐直接第三种,就算1、2访问获取到一些明文,大概率关键参数也是加密、或者数字签名的。所以还不如第三种直接开始。

  • g-sun 06-29 10:43
    16

    这也是为什么不要在电脑上随意装证书的原因

  • JackBlue 06-29 10:44
    17

    安装了自签证书后就相当于你的请求发送到了抓包软件,然后抓包软件帮你转发到目标服务器,你和抓包软件之间使用的是你安装的自签证书,因为你信任了,抓包软件就能解包你的请求,然后抓包软件与目标服务器之间的交互是使用合法的证书,自然也能解包返回数据。

  • 波奇 06-29 10:44
    18

    让ai给你 reqable的代理 写一下clash的配置文件 然后导入clash选reqable代理节点 开tun就能抓了

* 帖子来源Linux.do
返回