抓包工具---Charles

简介

Charles是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。开发iOS都在Mac系统上吧,安装Charles的时候要先装好Java环境。

Charles 是一款收费软件,未注册的版本会以 10 秒延迟启动、每 30 分钟自动退出的方式折腾用户,要想顺畅地使用,

可以使用在help->Register Charles,输入注册码注册即可:

    Registered Name: https://zhile.io

    License Key: 48891cf209c6d32bf4

主要功能

1、抓取 http 和 https 的请求和响应,这是最常用的。

2、重发网络请求,方便后端调试。

3、修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。

4、网络请求的截获和动态修改。

5、支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程。

6、支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方便的处理一些特殊情况下的bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试)。

7、可以抓手机端访问的资源(如果是配置HOST的环境,手机可以借用host配置进入测试环境)。

一、安装配置

去官网下载软件并安装

1、windows安装

2、mac安装


二、代理设置

(1)查看默认端口:Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888

2)查看当前电脑的ip:

a、windows在cmd控制台使用命令:ipconfig来查看自己对应的ip

b、mac在terminal终端使用命令:ifconfig来查看自己对应的ip

(3)手机上设置代理(记住手机跟电脑要在同一个网络)

ps:手机连接到Charles时会弹出提示框是否连接,点击Allow允许即可

(4)设置Charles SSL代理:Proxy>SSL Proxying Settings 

 1) Enable SSL Proxying复选框打上勾

 2) 添加你想要的设置代理的域名,端口默认443

(5)手机下载ssl证书

1)Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser,会弹出如下提示框:

2) 手机浏览器输入网址:http://chls.pro/ssl,即可自动下载证书到手机端


三、常用功能使用

1、抓包

    连接上charles后即可拦截http、https的请求。

2、过滤

a、Structure(结构形式)

b、Sequence(按照顺序)

方法一:在主界面的中部的 Filter 栏中输入需要过滤出来的关键字。

方法二:菜单栏选择 “Proxy”->”Recording Settings”,在弹出的窗口中选择 Include 栏,再点击“Add”,在弹出的窗口中输入需要监控的协议,主机地址,端口号等信息,来添加一个项目。如下图所示:

方法三:在想过滤的网络请求上右击,选择 “Focus”,之后在 Filter 一栏勾选上 Focussed 一项,如下图所示: 

可以临时性、快速地过滤掉一些没有通过关键字的网络请求。

3、重放

1)适用场景:

    当不想在页面操作,直接验证开发改的bug时。

    一般配合断点来重新请求接口,进行数据验证

2)具体使用:

选中某条访问的请求,然后直接去点击菜单栏下方的回放按钮即可请求。

4、断点

常用的使用场景:

    a、前端做了一些长度或者必填校验,也想验证后端接口是否也有对应校验时。

    b、返回一些特定的数据来查看前端的显示是否正确(比如前端某个字段超过4个字后...显示等)

    c、新增模拟大量数据来查看前端显示是否正确

    d、具体的4xx、5xx错误时,前端显示是否正确

1)添加断点

断点一般用于串改接口的请求参数或者返回的response的具体值。

方法一:选中某个请求,右键选中“Breakpoints”,加入断点

方法二:菜单栏选择 “Proxy”->”Breakpoint Settings”,在弹出的窗口中选择 Include 栏,再点击“Add”,在弹出的窗口中输入需要请求类型、host、端口号、path路径等信息,来添加一个项目。如下图所示:

2)拦截串改Request请求值

3)拦截串改Response返回的值


5、网络环境模拟

1)适用场景:

    需要进行弱网测试时,可以使用该功能。

2)具体使用:

    菜单栏选择 “Proxy”->”Throttle Settings”,在弹出的窗口中选择对应的Throttle preset模式来选择不同类型的限流情况(可定义),勾选“Enable Throttling”启用。如下图所示:

6、本地文件映射

1)适用场景:很多时候需要频繁修改数据内容,这个时候总联系后台改数据库会比较麻烦,而且数据变化也会影响到其他开发者。这个时候用本地模拟数据就可以完美解决。既方便又不影响别人。

如图为线上抓到的网络请求数据:




操作:

1.在本地电脑任意位置新建一个记事本:复制抓到的数据格式粘贴到这里

2.设置URL使用本地数据:选中url右键 — Map Local — choose 本地记事本路径

3.再次请求该接口:如下说明配置成功,以后想改数据直接在记事本里改就可以了

4.关闭本地模拟


7、重定向

1)适用场景:对第三方进行联调测试,无法访问乙方测试环境,直接访问乙方正式环境,设置请求url重定向指向乙方开发公网测试环境,自主与乙方进行交互联调测试。

打开charles,工具栏–tools–map remote settings–勾选允许重定向–点击add新增 

charles新增重定向页面输入拦截url重定向到目的url

至此charles重定向已完成设置,移动端设置charles代理,所有符合设置条件的url重定向目的url;

8、DNS欺骗

1)适用场景:一般的开发流程中,在上线之前都需要在测试环境中先行进行验证,而此时手机客户端请求的域名是不太容易改变的,可以通过设置dns方式把域名转发到测试机上,具体设置Tools->DNS Spoofing Settings比如要把所有包含xxxxxx.com的域名转到10.0.0.71的服务器上,其实用修改HOST的方式是可以解决的;

2)操作流程:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容