Postern + Charles + Burpsuite 进行对 APP 进行抓包

  • 一、简单介绍
  • 二、配置环境:
  • 三、配置 Charles
  • 四、配置 postern
  • 五、配置 Charles+Burpsuite
  • 六、Charles 和 Fiddler 的比较


一、简单介绍

在实际抓手机 App 包场景中,有很多种方案,经典的就是 Fiddler 、 Burpsuite ,但是 Fiddler 、 Burpsuite 会遇到一个问题,如果 App 为了防止中间人抓包,特意设置了不走代理这个选项,那单独直接用 Fiddler 、 Burpsuite 这些抓包工具就不能抓包的,那总不可能说不能抓包就认为目标系统很安全吧?为了抓到完整的包,于是就衍生出 Postern + Charles 这个组合,是因为 Charles 没有直接监听到 App,Charles 是监听到了 Postern 上,Postern 就是一个VPN ,所以 App 设置不走代理也没用,它是通过 VPN 将所有流量转发到 Charles 的 socks 代理,再打开 Charles 的 External Proxy Server — (外部代理服务器)转发到 Burpsuite,从而实施中间人抓包

二、配置环境:

Postern 3.1.2
Charles v4.6.4
Burpsuite Professional v2022.3.6

三、配置 Charles

在 Proxy — Proxy Settings ,勾选 Enable SOCKS proxy 进行设置 SOCKS 代理(按照下图的操作),端口号我这里设置 16666(或者自定义,但不能和系统已占用端口冲突)

charles抓包时卡 charles app抓包_网络

charles抓包时卡 charles app抓包_charles抓包时卡_02

四、配置 postern

charles抓包时卡 charles app抓包_网络安全_03


添加代理服务器

charles抓包时卡 charles app抓包_网络安全_04


charles抓包时卡 charles app抓包_安全_05


点击保存

charles抓包时卡 charles app抓包_网络安全_06


配置规则

charles抓包时卡 charles app抓包_网络_07


添加规则

charles抓包时卡 charles app抓包_charles抓包时卡_08


按照下图进行操作并点击保存

charles抓包时卡 charles app抓包_网络_09


charles抓包时卡 charles app抓包_安全_10


打开/关闭 Postern

charles抓包时卡 charles app抓包_android_11

五、配置 Charles+Burpsuite

charles抓包时卡 charles app抓包_安全_12


charles抓包时卡 charles app抓包_charles抓包时卡_13

那么只要上面的 使用Charles + Burpsuite进行对APP进行抓包 设置好之后,打开你想要抓的目标 APP 就可以看到数据包已经转发到 Burpsuite 了

charles抓包时卡 charles app抓包_android_14

六、Charles 和 Fiddler 的比较

Fiddler 虽然也可以完成对手机的抓包,但是如果 App 设置了不走代理,那 Fiddler 就失败了,并且 Fiddler 每次都需要手动修改网络设置的代理,但是 Charles 与 Postern 联动配合就不需要手动修改网络设置,只需要配置好 Postern 和 Charles 的连接就可以了,并且可以对绝大部分的 App 进行抓包,不使用代理时,直接关闭 Postern 即可

目前来说,Fiddler 和 Charles 都是很流行的,但是相对来说,还是 Postern + Charles 适用范围更广一些。