charles 抓包简明教程(附:绕开微信浏览器限制)

标签(空格分隔): 开发工具 前端


[toc]

先安装软件

  • 官网: http://www.charlesproxy.com

参考文章:

  • https://blog.csdn.net/liqing0013/article/details/83010531

本地抓包

Mac

http抓包

  1. 设置 Proxy -> MacOS X Proxy,打开抓包
  2. 设置浏览器的代理(网络设置里面设置), localhost:8888 (charles默认8888,可修改);
    2.1. 浏览器使用了代理管理插件的(例如OmegaSwitch),就新建一个代理服务器,localhost:8888

简单两步就可以抓包了

https抓包

  1. 安装SSL证书: help -> SSL proxying -> install charles root certification
  2. 安装完会自动跳到系统的钥匙串管理界面,并见到charles的证书,此时双击它并在信任里选择始终信任
  3. 设置 proxy -> SSL proxy setting 第一个tab(SSL proxying)新增规则:host: *; port: 443

这样就可以抓到https的包了

远程抓包

手机与电脑出于局域网(例如同一个wifi),手机设置代理为电脑 ip 与端口 9999 (具体看 charles 配置)

charles 会提示是否允许,选择 allow 即可

https 抓包

基本操作同上,如果查看不到 https 就要按以下步骤安装证书:

ios

  1. 手机浏览 http://chls.pro/ssl 下载证书,打开文件提示“若要安装请先在设置应用中查看描述文件”
  2. 设置 -> 通用:找描述文件选项(在VPN选项下方)-> 右上角安装
  3. 设置 -> 通用 -> 关于本机 -> 最下方: 证书信任设置 -> 开启上一步安装的证书 charles Proxy CA
  4. 之后电脑上的charles就可以查看 https

绕过微信浏览器限制,使用本地浏览器查看微信网页

pc版微信可以在微信浏览器上打开网页(右键点击地址,在微信中打开),但这样就使用不了浏览器的调试器。因此需要绕过微信浏览器的限制。

  1. 先确认可以在手机上抓包了
  2. 微信上打开目标网页
  3. charles 抓包 https://open.weixin.qq.com 请求。这个请求就是微信sdk初始化发出的请求。可以获取到 cookie 以及成功后重定向的页面referer (如果这个 referer 没带参数,可以多刷几次,刷出一个带参数的)
  4. 打开获取到的重定向地址,这个就是目标页面了
  5. 将获取到的 cookie 填到上一步的页面,这样就模拟了微信登录,不会再触发微信sdk初始化(具体看目标网站)
  6. 如果目标网页还是触发微信初始化,可以试试将手机上抓包得到的目标网站 cookie 也填到本地。

你可能感兴趣的:(charles 抓包简明教程(附:绕开微信浏览器限制))