您的位置:首页 > 其它

Mac版抓包工具Charles使用

2017-07-06 17:40 441 查看
参考文章

Charles 从入门到精通

概述



Charles 是在 Mac 下的一款很实用的抓包工具,很容易上手。我们在应用开发中,可以用它来可以用它来监控请求与返回的数据,调试接口。

Charles 和我们大部分使用的翻墙软件一样,通过将自己设置成系统的网络访问代理服务器。使得所有的网络访问请求都通过它来完成,从而实现对网络数据包的截取和分析。

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

安装 Charles

Charles 是一款收费软件,我们可以去 Charles官网 进行下载使用。初次下载可以免费试用一段时间,不过试用期间软件会有很多约束,体验较差。所以还是购买正版或者通过相应的破解来正常使用软件,网络上有很多破解资源。我现在使用的版本是 Charles 4.1.3,下载破解的 charles.jar 文件复制到安装的 Charles 程序包的
Contents/Java/
文件夹下覆盖原来的
charles.jar
文件。重新打开软件即可使用。

将 Charles 设置成系统代理

当软件安装好后启动 Charles ,第一次 Charles 会请求你给它设置系统代理的权限。你可以输入登录密码授予 Charles 该权限。你也可以忽略该请求,然后在需要将 Charles 设置成系统代理时,选择菜单中的
Proxy -> macOS Proxy
来将 Charles 设置成系统代理。



Charles 主界面介绍



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


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

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

请求多了有些时候会看不过来,Charles 提供了一个简单的
Filter
功能,可以输入关键字来快速筛选出
URL
中带指定关键字的网络请求。

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

过滤网络请求

通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。对于这种需求,以下几种办法:

方法一:在主界面的中部的
Filter
栏中填入需要过滤出来的关键字。该方法做一些临时性的封包过滤。如上图中标注所示。

方法二:在 Charles 的菜单栏选择
Proxy-> Recording Settings
,然后选择
Include
栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。该方法做一些经常性的封包过滤。



方法三:在想过滤的网络请求上右击,选择
Focus
,之后在 Filter 一栏勾选上
Focussed
一项。该方法也是临时性的封包过滤。

获取 Android 设备上的网络封包

Charles 上的设置

首先需要将 Charles 的代理功能打开。在 Charles 的菜单栏上选择
Proxy->Proxy Settings
,显示代理端口 8888,并且勾上
Enable transparent HTTP proxying
就完成了在 Charles 上的设置。



Android 手机上的设置

首先我们需要获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的
Help->Local IP Address
,即可在弹出的对话框中看到 IP 地址。



选中与电脑同在的无线网连接上,然后对无线网进行“修改网络配置”。在高级选项中填入代理主机名和代理服务器端口。



保存后,Charles 会弹出一个对话框确认与 Android 设备连接允许,设置好后就可以在 Charles 上查看当前手机访问网络的数据包了。

截取 Android 设备上 Https 协议的通讯信息

在 Android 设备上安装证书

点击 Charles 的顶部菜单,选择
Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
,然后就可以看到 Charles 弹出的简单的安装教程。



在设备上设置好 Charles 为代理后,在手机浏览器中访问地址:
chls.pro/ssl
,即可打开证书安装的界面,会弹出一个为证书命名的对话框,随便填一个就行。安装完证书后,就可以截取手机上的 Https 通讯内容了。

其它操作

停止电脑对手机的网络监控,系统设置-wifi,代理设置勾选“无”就行;

删除手机中证书,安卓系统设置-安全-收信任的凭证-用户,点击证书删除即可;

更多全面的详细操作,可以参考上面的参考文章 Charles 从入门到精通 ,这篇文章写的很全,很赞。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  移动开发