美文网首页已读过收藏
Charles抓包及问题小结—iPhone及Mac,抓包看这一篇

Charles抓包及问题小结—iPhone及Mac,抓包看这一篇

作者: Superman168 | 来源:发表于2022-06-14 19:39 被阅读0次

前言

作为一名移动应用开发者,抓包应该是一项必备技能吧,抓包工具Charles(花瓶)、Fiddler、WireShark等。

Fiddler这个软件由于是用C#开发的,所以很依赖win平台,所以移动开发最常用的还是Charles了,由于开发语言是Java,所以具有很好的跨平台性。

WireShark是世界上最重要的网络协议分析仪。它是一个网络封包分析软件,功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。它可以让你看到发生了什么在网络上在微观层面。它是事实上的(而且往往在法律上)在许多行业和教育机构的标准。比较底层专业。

有一段时间没用Charles 了,也换了电脑,需要配置一下,今天下午刚好用到,就记录一下,省得以后忘记,老解决重复的问题。

安装过程

安装配置过程比较简单,简单说一下,主要是记录一下安装使用中间遇到的问题。

Charles 官网
目前最新的版本就是4.6.2.

这是一款付费软件,免费30天吧,以后每次运行只能运行30分钟,并且还有延时,呵呵,需要免费的可以自行查找。

image.png image.png

Mac抓包

首先,电脑安装根证书:

image.png

打开钥匙串,设置为始终信任。

image.png

这时打开Mac OS 代理,电脑一般就可以正常的抓包了,其实Charles安装成功以后就可以了。

不过刚测试了,不按装也是没有问题的,电脑和手机依然可以抓包。
又发现,不按照的话抓到都是乱码的,如下:

image.png

不过发现,这个根证书没关,是 SSL Proxying Setting 的问题,

image.png image.png

常用的设置一下即可,不过证书最好还是安装信任一下,不过一些APP还是拦截处理过的,想抖音啥也看不了,APP也访问不了。

image.png

快手某些还是可以看铭文的:


image.png

小度还是正常访问的:

image.png

手机抓包

首先要确认手机和电脑同在一个无线网下,安装很简单,和其它软件一样,安装以后使用过程简单概述一下:

  1. 获取电脑端的ip地址
  • 一种方法是直接打开网络偏好设置
image.png
  • 另一种方法:直接在Charles中,点击Help ->Local IP address获取
image.png image.png
  1. 手机配置代理
    找到手机的无线网,点开右边的标滑到最下面,找到配置代理,点开选择手动,服务器输入第一步获取IP,端口8888,和Charles->Proxy->Proxy Setting中端口好一致,点击右上角的存储。
IMG_1D42C4435C4C-1.jpeg image.png

这时候正常的话,Charles就会出现下面的弹窗,点击同意

image.png

Deny的话之前记得是可以在Proxy->Access control settings中添加地址的,手机和电脑的IP,现在每次进入没有的话都会弹这个窗的,拒绝的话手机的IP就删掉了,所以必须要点击Allow,手动配置的无效,自测自认为是这样的。

image.png image.png

其中还有一种情况是压根这个弹窗就没弹出来,首先要确认手机和电脑是否同在一个无线网下,如果是一个,那就重启电脑和手机,应该可以。这一步必须要通过。

另外,如果没有弹窗在这里安装提示的安装手机的证书,

image.png

那么你会发现这个地址 chls.pro/ssl 根本打不开,

image.png

可以通过官网的证书下载链接安装:

CA证书下载链接:https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/

安装完成以后有可能手机还是抓不了包,有可能提示:'iOS此服务器的证书无效。您可能正在连接到一个伪装成“xxx.com”的服务器,这会威胁到您的机密信息的安全,如下:

image.png

证书安装成功后,以为已经OK了,但是打开APP会报错,因为其中缺少非常重要的一步,这个原因很大可能是手机的证书没有信任,其实上面Charles的弹窗下面已经说的很明白了,当时只是没有注意到

还应该做这么一步操作:设置——通用——关于本机——证书信任设置——打开对应证书的开关,以前是没有的,不知道是从十几以后的系统就这样了,必不可少的一步。

证书信任

完成这一步,你就大功搞成了,可以开心的去抓包了!!

其它功能扩展

  1. 过滤掉不像看的站点,只看某些站点的:
image.png
  1. 修改服务器返回内容,mock / 模拟假数据,勾选Enable Map Local 这样跟后台调试的时候就不用等后台接口都完成才能调试了,只要有数据格式就可以了,自己想怎么玩就怎么玩,调试的时候大有用处,对于一些平常测试不到的情况,异常情况等都可以随意模拟修改,这个功能很实用。
image.png

只需要本地创建一个.json文件,和接口关联起来即可,如:。

{
    "code": 1,
    "msg": "验证码验证成功"
}
  1. Rewrite 功能,重写替换后台返回的数据
image.png

点击某一项:

image.png

随意替换成想要的内容。

其它功能自行探索,有时间我也探索一下,随时更新。

后话

谢谢您的阅读,写这篇文章也参考了一些别人的,取众家之长,补己之短,自己亲手实践,总结一下,有不对的地方还请指正。很久没更新文章了,写这篇博客也费了不少时间精力,如果对你有用帮助的话,还请不吝打赏😄。

相关文章

网友评论

    本文标题:Charles抓包及问题小结—iPhone及Mac,抓包看这一篇

    本文链接:https://www.haomeiwen.com/subject/ovuzmrtx.html