惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
WordPress大学
WordPress大学
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
I
InfoQ
小众软件
小众软件
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
美团技术团队
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
MongoDB | Blog
MongoDB | Blog
V
V2EX
J
Java Code Geeks
有赞技术团队
有赞技术团队
博客园 - 聂微东
B
Blog RSS Feed
博客园 - 司徒正美

泠泫凝的异次元空间

通过串口安装Linux | 泠泫凝的异次元空间 curl自编译 | 泠泫凝的异次元空间 Minecraft 认证服务器代理 | 泠泫凝的异次元空间 飞塔分流配置实战 | 泠泫凝的异次元空间 Windows 安全启动证书检查 | 泠泫凝的异次元空间 Lxn-OneDriveCLI | 泠泫凝的异次元空间 华三交换机配置 ERPS 环网 | 泠泫凝的异次元空间 PVE 配置 VLAN 感知 | 泠泫凝的异次元空间 MT7922 无线网卡安装 | 泠泫凝的异次元空间 无显示输出 Linux 主机配置桌面显示 | 泠泫凝的异次元空间 Wireguard 部署 SOP 手册(自用) | 泠泫凝的异次元空间 Zabbix 7.4 通过钉钉发送告警提醒 | 泠泫凝的异次元空间 Debian with xfce 通过 VNC 共享屏幕 华三S6860 IRF堆叠 | 泠泫凝的异次元空间 iPad 应用侧载 | 泠泫凝的异次元空间 Smart DNS 分区解析 | 泠泫凝的异次元空间 建立 NFS 服务器并挂载到客户端 | 泠泫凝的异次元空间 将 Android 以 MTP 方式连接至 Debian PVE 虚拟机迁移至 vCenter | 泠泫凝的异次元空间 vCenter 虚拟机迁移至 PVE | 泠泫凝的异次元空间 PVE迁移时提示密钥验证失败 | 泠泫凝的异次元空间 修改Windows设备设置区域 | 泠泫凝的异次元空间 恢复 SecureCRT 7.x 保存的密码 | 泠泫凝的异次元空间 PVE 超融合下电与上电流程 | 泠泫凝的异次元空间 记一次Zabbix异常处理 | 泠泫凝的异次元空间 苹果设备保存SHSH2 | 泠泫凝的异次元空间 PVE超融合部署 | 泠泫凝的异次元空间 树莓派启用zram | 泠泫凝的异次元空间 在 Hyper-V 上安装 EVE-NG | 泠泫凝的异次元空间 Zabbix 部署与 Windows 硬件信息收集 | 泠泫凝的异次元空间
APP抓包研究 | 泠泫凝的异次元空间
Lxn's Area · 2022-03-23 · via 泠泫凝的异次元空间

本文研究了目前可行的APP抓包方式。

思路

根据设备/操作系统的不同,获取数据的方式也不尽相同。大概的方法基本上就是作为中间人拦截并分析或直接对APP本身拆包反工程分析。其中作为中间人的方式有构建VPN、安装虚拟网卡和构建HTTP/SOCKS代理,其中如需解密HTTPS数据则还需要在目标设备安装中间证书。

另外某些APP为了提升数据保护等级,会在数据接口上添加各种混淆或加密,这种情况下与抓包基本没什么关系了,因为即便抓到数据包并解除HTTPS加密也无法获得数据,点名批评okhttp

Windows

Windows通常比较简单,大部分应用都会主动走在系统设置的代理,例如Charle利用的就是该原理;若有一部分应用不遵守系统代理,也可以通过VPN或安装虚拟网卡作为出口来拦截数据。

iOS

iOS平台安装系统级证书并信任后所有应用都可以抓到HTTPS数据,基本没什么难度。

Android

Android平台情况较为复杂,首先Android 7.0及以上版本应用除浏览器外默认不再信任用户安装的根证书,这就无法在Android平台上抓取HTTPS数据包,当然解决办法也是有的,通过安装Xposed或Root后可以将自签根证书放进系统根证书列表;其次就是新应用可能默认开启证书锁定SSL Pinning,具体原理可以点 这里 查看,这个时候可以采用一些插件取消这个限制。

Android平台也同样可以通过HTTP代理或VPN(HTTPCanary)的方式获取到数据包,也可以用虚拟机、太极(模拟xposed环境)等方式获取数据包。

虚拟机方式也存在一定限制,比如x86平台虚拟机不支持arm平台应用安装、设置代理较为麻烦等;Google提供的AVD虽然提供了arm/aarch架构的虚拟机平台,但在x86平台上的转译效率较低,性能几乎就是没法用的水平。

Charles

应用官网:Charles Proxy请尽量支持正版,并于24小时内解除授权,这里提供一份可用授权(版本4.6.2可用):

1
UmVnaXN0ZXJlZCBOYW1lOiBMeG5DaGFuQG5kZi1pbmMuY24KTGljZW5zZSBLZXk6IDkxQUY3MjdBQjdEMUQ1N0QxOAoKUmVnaXN0ZXJlZCBOYW1lOmh0dHBzOi8vemhpbGUuaW8KTGljZW5zZSBLZXk6IDQ4ODkxY2YyMDljNmQzMmJmNA==

Windows

打开Charles后打开ProxySSL Proxying Settings,勾选Enable启用抓取SSL加密包,左侧Include添加需要抓取的域名,右侧Exclude添加不抓取的域名,支持通配符,Include包括*.*即为全部抓取。

HelpSSL ProxyingInstall Charles Certificate安装根证书到本机,即可开始抓取HTTPS数据包。

iOS

ProxyProxy Setting,HTTP组下Port值即为代理端口号,如有需要可更改。

  1. 打开iOS设备,选择无线局域网,右侧Info按钮,下滑配置代理,选择手动,服务器输入当前Charles运行设备的IP地址,Port填写上方设置的代理端口号,然后随意访问任意网站,查看Charles是否跳出询问对话框,选择Allow
  2. 打开Safari,输入chls.pro/ssl,此时会自动下载一个描述文件,点击安装。
  3. 打开设置,通用,描述文件,选择Charles字样的选项,进去选择安装。
  4. 打开设置,通用,关于本机,证书信任设置,勾选或打开Charles Proxy CA字样项即可,此时该iPhone上的全部网络数据均可被Charles捕捉到。

Android 6.0 and older

Miui 9.6.1.0 CN Stable (Based on Android 5.1.1)版本为例。

  1. 打开浏览器,输入chls.pro/ssl,此时会自动下载一个证书,点击保存。
  2. 打开设置,更多设置,系统安全,从存储设备安装证书,选择刚才下载的证书文件,然后选择VPN和应用即可。

其他设备的抓包方式还在完善中,请关注后续更新!

 上一篇

Linux