Charles抓包工具测试app

Stella981
• 阅读 926

昨天一个网络问题排查不清楚,想到了Charles(青花瓷)抓包工具。在刚工作的时候就使用过一次,当时好像还没有收费。逛草稿的时候有一片是17年的关于抓包的,只写了开头。今天从下载到查看完全数据整理一下,我把我本地也删了,伴随着这篇文章重新配置一下。

我没有在官网下载,因为要激活。贴一下我的下载地址(找了老久,好多资源)http://www.pc6.com/mac/137987.html

下载完成,打开文件夹,如果出现此界面则证明可以。

Charles抓包工具测试app

将charles拖入第一个中后安装完成

Charles抓包工具测试app

下载地址(官网):https://www.charlesproxy.com/download/

如果要激活码的话,我给大家找了一个,如果用不了我也不知道了。我没有用这种方式试过,官网下载太慢了。

Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4

进入第二部分,现在我们可以打开charles了。如果打不开要信任的话,去登陆坞(小火箭)-> 设置 -> 安全与隐私中点击通用选项卡,输入密码允许操作系统打开

Charles抓包工具测试app

打开的样子

Charles抓包工具测试app

因为要测试手机移动端设备,所以我们先将charles和设备关联起来。保证电脑和手机设备再同一个局域网下,连着同一个wifi。

先查找电脑的ip地址,点击charles的help选项卡查看

Charles抓包工具测试app

看到ip后,打开手机设置 -> wifi -> 点击所连接wifi最右边的蓝色带圈感叹号进入wifi设置页面

Charles抓包工具测试app

进入后将自动改为手动会看到新出现的服务器、端口、和认证三个新的选项出现。将刚在charles help选项中看到ip输入到服务器选项中,端口填写8888(charles中默认),完成后点击右上角存储

Charles抓包工具测试app

点击charles的proxy选项卡开始设置proxy

Charles抓包工具测试app

我们现将允许代理的ip和host设置为全部,点击add,添加host中添加*,最后点击右下角ok就好。也可以自己定义

Charles抓包工具测试app

到这里你再手机上点击发送的请求就能拿到了。但是,你想查看https相关请求拦截和返回的数据你是看不到的,只能看到请求发出。要想看到发出的请求体和服务器返回的resp,我们接着配置。

我们开始配置,选择charles的help选项卡,安装一下证书

Charles抓包工具测试app

Charles抓包工具测试app

点击后输入系统密码,到钥匙串中

Charles抓包工具测试app

点击带有叉号的charles相关的证书,点击打开信任

Charles抓包工具测试app

修改为始终信任

Charles抓包工具测试app

输入密码后,钥匙串会更新

Charles抓包工具测试app

顺手也把模拟器相关的配置了

再点击help,配置生成另外一个移动端证书

Charles抓包工具测试app

点击后我们会看到让我们去下载信任一个证书

Charles抓包工具测试app

我们打开要测试手机设备safari,输入chls.pro/ssl,会看到要下载一个描述文件我们下载即可

Charles抓包工具测试app

然后进入设置,比较新的操作系统在设置打开就能看到有一个已下载的描述文件,点击进去输入密码安装就好

Charles抓包工具测试app

如果没有,进入通用 -> 描述文件。点击进入输入密码安装即可

Charles抓包工具测试app

重启下charles,你会看到之前带锁的https请求已经发生改变

Charles抓包工具测试app

Charles抓包工具测试app

此外,charles还可以模拟弱网测试,对网速进行限制。早之前在趣医院app中几个难以复现的疑难bug,特别影响体验,就是通过此弱网测试复现并解决。印象特别深刻

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Karen110 Karen110
3年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这