草庐IT

抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)

软件测试必备技能 2023-10-13 原文
  • 安装好Charles之后,还只能捕获电脑的接口请求
  • 想要抓取移动设备的APP还需要设置代理、安装证书。

文章目录

一、抓包原理

  • 原始请求
    • 客户端直接与服务端交互数据。
  • 代理后的接口请求
    1. 设备上将Charles设置为代理服务器之后,Charles开始监听客户端或设备发出的任何请求。
    2. Charles捕获请求并将其转发到服务器
    3. 服务器向Charles返回一个响应
    4. 响应返回给客户端。

二、手机设置网络代理

首先,很重要的一点,手机与电脑需要处于同一个网络。

1、 查看电脑的IP地址(local IP address)

  • macOS:可以在 “System Preferences > Network” 设置中,选择当前连接的网络,本地的IP地址就显示在右侧。
  • Windows:点击状态栏的网络图标,可以看到 “网络和Internet设置” ,点击之后查看WLAN或以太网的属性。进入网络设置页面滑到底就可以看到本地IP地址。

2、设置手机网络代理

  • 打开待抓包设备的网络设置,选择当前连接的网络,配置HTTP代理。

(1)iOS设备

  1. 打开网络设置->选择当前连接网络右侧按钮->
  2. 进入网络设置页面,滑动页面底部,点击配置代理->
  3. 代理改为手动,填写电脑的IP地址及Charles代理的端口(大部分是8888)->保存设置

(2)Android设备

(以荣耀手机为例,大部分安卓手机的设置位置也相同)

  1. 从设置页面打开“WLAN”设置->
  2. 长按当前连接网络->选择“修改网络”->
  3. 勾选“显示高级选择”,代理改为“手动”,填写电脑的IP地址及Charles代理的端口(大部分是8888)->保存设置

(3)Charles中允许设备连接代理

  • 手机代理设置完成后,Charles开始捕获手机发出的请求
  • 此时Charles会弹出允许连接的弹框
  • 直接选择“Allow”即可
  • 允许之后,就开始抓包了

三、手机安装证书

  • 设置代理之后,仍然只能抓取HTTP的接口,HTTPS的接口会显示为“unknown”,并且错误原因也提示需要证书未信任或未安装。
  • 所以,想要抓取HTTPS的接口需要安装证书。

(1)确保手机已经连上代理

(2)手机打开网页:“chls.pro/ssl”,点击下载证书

(3)安装证书

1.安卓

(以荣耀手机为例,大部分安卓手机的设置位置也相同)

  1. 从设置页面,进入WLAN设置
  2. 点击“更多WLAN设置”,进入设置页面
  3. 点击“安装证书”
  4. 选择刚刚从浏览器下载的证书,设置证书名称后,点击确定
  • 这样证书就安装好了

2.iOS

(以iOS 15.5系统为例)

  1. 设置页面,选择“通用”
  2. 滑到页面最底部,选择“VPN与设备管理”
  3. 在“已下载的描述文件”当中就可以看到刚刚下载的证书,点击证书
  4. 选择“安装”,之后会需要输入设备密码,然后确认安装

(4)【仅iOS】信任证书

  • iOS比安卓多一个信任证书的步骤:

    1. 设置页面,选择“通用”,在通用页面,选择“关于手机”
    2. 滑到关于手机页面的最底部,选择“证书信任设置”
    3. “证书信任设置”页面,可以看到刚刚安装的证书,打开证书开关即可
  • 到这里就完成了手机抓包的准备。

附录:接口功能测试系列教程目录

抓包工具Charles(一)-下载安装与设置
抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)
抓包工具Charles(三)-使用教程之界面介绍、基础功能(弱网、编辑、重发)
抓包工具Charles(四)-常用功能介绍(保存、导入导出、过滤、排序)

总目录-零基础入门接口功能测试教程
—————————————————————————————————
Charles的安装包已经上传到了本人运营的博客同名公众号【软件测试必备技能】。
公众也会不定期会上传测试相关资料,有需要可以前往领取。

有需要可点击文章下方二维码,前往领取~

有关抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 多次弹出/移动 ruby​​ 数组 - 2

    我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby​​数组,我们在StackOverflow上找到一

  3. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  4. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  5. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  6. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  7. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  8. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  9. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  10. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

随机推荐