美文网首页
Charles操作说明

Charles操作说明

作者: Miss薇 | 来源:发表于2017-07-20 15:58 被阅读0次

    第一章.Charles说明

    Charles通常用来截取本地上的网络封包,但是当我们需要时,我们也可以用来截取其它设备上的网络请求。第三章将以iPhone为例,讲解如何进行相应操作;

    Charles是在Mac下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

    Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

    除了在做移动开发中调试端口外,Charles也可以用于分析第三方应用的通讯协议。配合Charles的SSL功能,Charles还可以分析Https协议。

    Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为Charles强制关闭而遇到影响。

    Charles主要的功能包括:

          ①截取Http和Https网络封包。

          ②支持重发网络请求,方便后端调试。

         ③支持修改网络请求参数。

         ④支持网络请求的截获并动态修改。

         ⑤支持模拟慢速网络。

    第二章.Charles下载

    去Charles的官方网站(http://www.charlesproxy.com)下载最新版的Charles安装包,是一个dmg后缀的文件。打开后将Charles拖到Application目录下即完成安装。

    第三章.Charles上的设置

    要截取iPhone上的网络请求,我们首先需要将Charles的代理功能打开。在Charles的菜单栏上选择“Proxy”–>“Proxy Settings”,填入代理端口8888,并且勾上“Enable transparent HTTP proxying”就完成了在Charles上的设置。如下图1所示:

    图1

    第四章.Charles上Ip设置

    首先我们需要获取Charles运行所在电脑的IP地址;

    图2

    Charles 的顶部菜单的 “Help”–>“Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图3所示:

    图3

    第五章.Iphone上IP设置

    1、在iPhone的“设置”–>“无线局域网”中,可以看到当前连接的wifi名,通过点击右边的详情键,可以看到当前连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有「HTTP代理」一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号8888,如下图所示:

    图4

    2、设置好之后,我们打开iPhone上的任意需要网络通讯的程序,就可以看到Charles弹出iPhone请求连接的确认菜单(如下图所示),点击“Allow”即可完成设置。

    图5

    第六章.截取Https通讯信息

    1、安装证书

    如果你需要截取分析Https协议相关的内容。那么需要安装Charles的CA证书。具体步骤如下。

    1.1.在电脑上安装证书

    点击Charles的顶部菜单,选择“Help” –> “SSL Proxying” –> “Install

    Charles Root Certificate”,然后输入系统的帐号密码,即可在KeyChain看到添加好的证书。如下图所示:

    图6

    安装以下证书

    图7

    1.2.在手机上下载证书

    其次我们需要在手机上打开默认浏览器,在浏览器中输入http://charlesproxy.com/getssl,进行下载SSL证书。

    注意:

    即使是安装完证书之后,Charles默认也并不截取Https网络通讯的信息,如果你想对截取某个网站上的所有Https网络请求,可以在该请求上右击,选择SSL proxy,如下图所示:

    图8

    第七章.Charles界面说明

    Charles主要提供两种查看封包的视图,分别名为“Structure”和“Sequence”。

    1、Structure视图将网络请求按访问的域名分类。

    2、Sequence视图将网络请求按访问的时间排序。

    大家可以根据具体的需要在这两种视图之前来回切换。请求多了有些时候会看不过来,Charles提供了一个简单的Filter功能,可以输入关键字来快速筛选出URL中带指定关键字的网络请求。

    对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果请求内容是POST的表单,Charles会自动帮你将表单进行分项显示。如果响应内容是JSON格式的,那么Charles可以自动帮你将JSON内容格式化,方便你查看。如果响应内容是图片,那么Charles可以显示

    图9

    出图片的预览

    相关文章

      网友评论

          本文标题:Charles操作说明

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