文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

端上日志看不到?用Charles这样抓包也太爽了吧!

2024-11-29 23:45

关注

Charles是一款被广泛使用的网络抓包工具,它可以用来监控和调试通过HTTP和HTTPS协议发送和接收的所有网络请求和响应。Charles通常用于网页和网络应用的开发过程中,帮助开发人员理解他们的应用是如何与互联网通信的,以及调试网络相关的问题。

以下是Charles的一些核心特点和功能:

  1. 流量截获: Charles能够截获计算机上的所有HTTP和HTTPS网络流量,包括请求和响应。这使得开发人员能够检查他们的应用在网络上传输的数据。
  2. 流量记录: 所有通过Charles的流量都会被记录下来,以便以后的查看和分析。
  3. SSL代理: Charles可以作为SSL代理服务器来解密HTTPS流量,这让开发人员能够检查加密的通信内容。
  4. 带宽限制: 可以模拟慢速网络连接,以测试应用在不同带宽限制下的表现。
  5. 重放和编辑请求: 不仅可以查看网络请求和响应,还可以修改它们,然后发送到服务器以测试不同的情境。
  6. 断点调试: Charles可以作为一个中间人拦截请求或响应,允许开发人员在这些数据到达服务器或返回到客户端之前进行查看和修改。
  7. 映射本地文件: 将网络请求重定向到本地文件,这可以加速前端开发,并不需要每次都从服务器获取文件。
  8. 集成的Sniffer: Charles具备自动配置浏览器的能力,并能捕获来自手机应用或其他使用网络的软件的流量。
  9. 跨平台支持: Charles提供Windows、MacOS和Linux平台的版本。

安装

官网下载:https://www.charlesproxy.com/download/

从官网下载对应系统的 Charles 最新版本,双击下载的安装包,一路默认安装,安装完成会在桌面生成类似花瓶的图标。

接下来就进入到Charles中,然后做一些最基本的配置。

在自己电脑上抓包很简单,在proxy中打开macOs代理就可以抓到本机上所有的包了。

图片

然后在电脑上访问一下掘金的首页,就会抓到所有的接口:

图片

这里我已经提前在电脑上装了Charles的证书,否则https的接口是抓不了的,我们来配置一下电脑上的证书:

图片

然后会自动打开Mac上的钥匙串访问,我们将这个证书设置为始终信任,否则走代理是拉不到https的数据的。

图片

到这里电脑端的抓包就OK了。

但是我们的应用场景大部分是在手机端上,因为电脑上可以直接在控制台去看日志,而在App、小程序如果没有后台监控是无法抓到接口的信息的,接下来我们配置一下。

要想手机上抓包,我们先把macoc proxy选项勾掉,这样电脑上就不会进入到Charles的抓包记录中了。

然后在SSL Proxying Settings中配置手机上想要抓包的访问域名和端口,这里域名直接设置*,端口设置443,抓https的包。

图片

然后在Proxying Settings中配置电脑端代理的地址和端口,用于手机连接。

图片

接下来打开手机,我的是IOS,连接到和电脑端同一个wifi,然后开启代理,代理的服务器地址和端口就是上面配置的地址和端口,就像这样:

图片

至此电脑和手机已经关联上了,访问的是同一个局域网,Charles上也可以抓到手机访问的接口了,但是没有数据,这是因为手机上也需要配置Charles安全证书。

图片

点击以后手机上会有安装的提示,IOS比较特殊,高版本的情况在安装以后还需要在设置中信任一下证书才可以生效。

图片

至此所有配置就都搞定了,你可以试试手机访问网页,看看Charles,如果有异常的话,可以尝试重启手机和Charles,在手机端打开掘金App,抓到的包如下:

图片

到这里就都搞定了,我们进入淘宝里看看:

图片

到这一步,你想抓端上哪个应用的数据就都可以搞定了,如果上面的配置走完还是不行,尝试一下以下排查方案。

  1. 证书问题:

证书未被客户端信任:确保服务器使用的证书是由一个客户端信任的证书颁发机构(CA)签发的。

证书已过期:检查证书的有效日期,确保它是当前有效的。

错误的证书名称:证书上的名称需要和服务器的域名一致,否则客户端将无法验证服务器的身份。

  1. 中间证书缺失:
  1. 客户端不支持服务器的加密算法:

  1. 配置错误:

  1. SNI 问题(Server Name Indication):

  1. 客户端问题:

来源:量子前端内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯