Android APP 用 Charles 网络抓包

Android抓包方式与工具详解

一、Android抓包方式

对Https降级进行抓包,降级成Http
使用抓包工具对Https进行抓包

二、常用的抓包工具

1. Wireshark

  • 侧重于TCP、UDP传输层
  • HTTP/HTTPS也能抓包,但不能解密HTTPS报文
  • 功能强大但操作复杂

2. Fiddler

  • 支持HTTP/HTTPS协议
  • 可篡改请求参数和响应数据
  • 支持设置请求断点重发
  • 支持弱网模拟
  • 仅支持Windows平台

3. Charles

  • 功能与Fiddler类似
  • 支持所有主流平台
  • 界面简洁,操作简单

4. Sniff Master(抓包大师)

  • 专为移动端设计的抓包工具
  • 支持HTTPS流量解析
  • 提供直观的数据可视化界面
  • 支持请求/响应修改和重发
  • 跨平台兼容性好

三、抓包工具Charles详解

1. 下载安装

从官网下载安装包,直接点击安装即可。

2. 工作原理

  1. 拦截请求,代理客户端向服务端发送请求
  2. 拦截服务端响应,拿到服务端返回的公钥
  3. 客户端安装Charles证书并添加信任
  4. 客户端生成会话密钥并使用Charles公钥加密发送
  5. Charles解密会话密钥并用服务端公钥加密发送
  6. 服务端解密会话密钥
  7. 使用会话密钥加密response并返回
  8. Charles解密response展示明文

3. 证书配置注意事项

  • Android 6.0及以下:只需安装Charles证书
  • Android 7.0及以上:需手动添加证书信任
系统网络安全配置差异:

Android 6.0及以下

<base-config cleartextTrafficPermitted="true">
    <trust-anchors>
        <certificates src="system" />
        <certificates src="user" />
    </trust-anchors>
</base-config>

Android 7.0及以上

<base-config cleartextTrafficPermitted="true">
    <trust-anchors>
        <certificates src="system" />
    </trust-anchors>
</base-config>

4. 解决方案

  1. 在res/raw目录下添加charles.pem证书文件
  2. 创建res/xml/network_security_config.xml文件
  3. 配置清单文件:
<application
    android:networkSecurityConfig="@xml/network_security_config"
</application>

5. 使用教程

  1. 查看Charles端口号(默认8888)
  2. 查看本机IP地址
  3. 设置手机WiFi代理
  4. 保存Charles根证书
  5. 将证书添加到项目res/raw目录
  6. 创建网络安全配置文件
  7. 在手机上安装并信任证书

四、抓包大师(Sniff Master)的优势

  1. 一键式配置:相比Charles复杂的证书配置流程,Sniff Master提供了更简单的配置向导
  2. 智能解析:自动识别和解析多种协议格式
  3. 性能优化:针对移动端优化的低资源占用
  4. 实时监控:提供流量实时监控和统计功能
  5. 数据导出:支持多种格式的数据导出和分析

无论是开发调试还是安全测试,选择合适的抓包工具能大大提高工作效率。Charles作为老牌抓包工具功能全面,而Sniff Master则在易用性和移动端适配方面有独特优势,开发者可根据实际需求选择最适合的工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值