Android手机配置charles进行抓包

发表于:2022-3-18 10:21

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Alberti_Vinci    来源:稀土掘金

  一.https 通信过程和中间人攻击的原理
  如何抓包,原理说起来如下:
  客户端给服务器端发消息的时候,中间人(Charles)截取客户端发送给服务器的请求,然后伪装成客户端与服务器进行通信;将服务器返回给客户端的内容发送给客户端,伪装成服务器与客户端进行通信。下面是一张简化的中间人抓包的图:
  二.charles配置抓https包
  1.开启proxy(代理),并设置端口,默认8888
  2.电脑和手机上导入Charles根证书
  2.1 电脑安装charles的证书
  去Mac电脑的钥匙串中选择证书并给予信任,有时需要重新启动钥匙串应用。
  2.2 手机安装charles的证书
  接下来要配置手机和 charles 在同一个局域网,无论是charles证书下载的时候还是正式使用,都要先保证在同一个局域网。
  下载证书,在同一局域网,浏览器中输入chls.pro/ssl。然后就会跳转一个页面,自动下载对应的pem证书文件到手机的文件系统了。
  然后在手机中安装该pem证书,android手机的步骤一般是wlan列表拉到底,看到wlan偏好设置,点击安装证书。
  我们在做这步之前,可以进入手机的文件管理器,然后移动下载的pem文件到相应的位置,保证在安装证书的页面可以找到该pem文件。
  这样,在WLAN偏好设置的地方,点击安装证书,索引到对应的pem文件的位置,选中文件,然后就安装成功了。
  最后回到设置页面,如下操作确认安装了证书:
  2.3 手机配置charles代理
  接下来,我们要做的,就是配置手机的代理,和charles保持在同一个局域网中,步骤如下:
  点击charles的Help->Local IP Address->记住ip地址172.21.205.137
  点击手机wifi-》baidu_wifi->代理设置
  保存后,就实现了手机配置charles,这时候,重启charles,有时候会有弹框提示,有时候没有,不过一般会要2分钟左右,在手机上进行网络请求,charles就可以正常的抓到对应的请求包了。如果有弹框,选择Yes就可以了。

  三.附加教程
  1、电脑客户端没有“request”和"response”设置的解决方案

  2、解决https协议“request”和"response”乱码问题

  添加如图内容,点击确定,重新请求,乱码解决了:

  3.android应用高版本代理设置
  对于android手机,由于在7.0之后,系统增加了安全方面的控制,也就是Net Security Configuration。需要在自己的应用中配置一下xml数据,才可以正常的抓包,否则会报错如下:
  You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

  推荐xml中写成这样,保证在debug版本上支持自己加入的证书:
  < xml version="1.0"encoding="utf-8" >
  <network-security-configxmlns:tools="<http://schemas.android.com/tools>">
      <debug-overrides>
          <trust-anchors>
  <!--信任用户安装的证书-->
  <certificatessrc="user"/>
          </trust-anchors>
      </debug-overrides>
  </network-security-config>

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号