Charles抓包工具的安装和使用详解

首页 » Python » Charles抓包工具的安装和使用详解

常见的抓包工具有:Fiddler、wiresharks、charles等等很多。本篇文章以charles为例,那么首先到charles官网下载软件,我这里下载的是Windows版本的。charles的安装非常简单,这里不再介绍!

考虑到有些可能下载不下来,我这里提供一个官网Windows4.5.6的和一个破解版4.2.8放在文章最后,使用破解版需要在安装Charles的lib目录下替换掉charles文件,如果需要的可以下载,建议支持正版!

什么是数据抓包?

所谓抓包(Package Capture),简单来说,就是在网络数据传输的过程中对数据包进行截获。查看、修改、或转发的过程。如果把网络上发送与接受的数据包理解为快递包裹的话,我们在快递运输的过程中查看里面是什么东西的过程,就是抓包!

Charles的介绍

在分析网页的时候我们可以使用浏览器自带的开发者工具,进行分析网页,在这篇文章:通过浏览器实现简单的抓包 分析html文件文章中已经详细介绍过了。但是在开发者工具特别的不方便,就是没办法对数据进行搜索。如果想知道一个特定的异步加载内容来自哪个请求,必须在所有的请求中一个一个查看,那么对于请求数量比较多的网页,寻找起来非常的费时的,为了简化寻找数据的过程,就需要设法直接全局搜索网页的所有请求返回的数据。

为了达到这一目的,就需要使用Charles抓包工具。它是一个跨平台的HTTP抓包工具,功能非常的强大!

Charles的安装

直接官网下载安装就可以,没有太复杂的配置,或者你可以到文章底部下载也可以。Charles是一个收费软件,如果没有注册,安装以后的30内可以正常使用,在30天之后,也可以正常使用,但是每隔30分钟就会自动关闭…

安装完成,我们打开charles软件,就可以看到上面滚动了非常多的数据:

Charles抓包工具的安装和使用详解

Charles的使用

Charles滚动的数据就是我们计算机发送的数据包。单击工具栏上面黄色的扫帚,可以清空当前的数据包记录;单击扫帚旁边的红色原点图标,可以停止抓包,之后红色圆点变为灰色圆点,暂停以后再单击灰色圆点,charles恢复抓包,如图

Charles抓包工具的安装和使用详解

在Charles启动的时候,系统自带浏览器的所有HTTP流量都会经过Charles,在数据包非常多的情况下,可以使用charles的过滤功能来对数据进行处理从而减少干扰。在Filter搜索栏中输入域名,就可以显示只包含这个域名的数据包。那么单击Filter下面的Contents按钮,查看数据包的详细信息:

Charles抓包工具的安装和使用详解

我们可以非常直观的看到请求和返回的各种信息。

Charles抓取HTTPS数据包

在使用之前你需要配置SSL证书,如果没有这步操作,你在抓取HTTPS数据包的时候,就会出现大量的Method为CONNECT的请求,这些请求通常都会失败,我们在第一张图片上可以看到。

对于Mac系统简单讲解,按照Help—–>SSL Proxing—–>install charles root certificate的顺序,会弹出一个窗口,Charles的证书:Charles Proxy CA…,我们找到这个证书,在新打开的窗口中展开信任三角按钮,将使用此证书设定为始终信任,关闭弹出来这个窗口,系统会自动弹出输入密码的窗口,输入密码之后,证书就安装好了。

对于Windows体统,按照:Help—–>SSL Proxing—–>install charles root certificate的顺序,会自动弹出证书信息:

Charles抓包工具的安装和使用详解

单击安装证书按钮,打开证书导入向导,单击下一步按钮,选择“将所有的证书都放入下列存储”单击按钮,单击“浏览”按钮,在弹出的对话框中选择“受信任的根证书颁发机构”,单击确定按钮

Charles抓包工具的安装和使用详解

之后弹出的对话框直接确定,知道最后显示证书导入成功,我们可以在证书路径中查看证书:

Charles抓包工具的安装和使用详解

安装好证书以后,在菜单栏选择Proxy—>SSL Proxying Settings,打开SSL代理设置对话框:

Charles抓包工具的安装和使用详解

单击ADD按钮,在Host输入框中输入*,在Port输入框中输入443即可。安装好证书和SSL代理,我们就可以使用charles来抓取HTTPS数据包了!

APP使用Charles

比较Charles和浏览器自带的开发者工具,charles的强大之处就是,它可以轻松截获手机APP的数据包,从而我们可以对手机APP的软件进行抓取。

为了实现使用Charles抓取手机APP的数据包,就需要再手机上安装证书。

IOS系统证书的安装和配置

对于苹果设备,首先要保证计算机和手机连接在同一个WI-FI上。选择Charles菜单栏中的Help-Loacl IP Address,此时弹出一个对话框,显示当前计算机的内网IP地址,当然你可以使用命令ifconfig<来查看ip地址/p>

在手机上进入系统设置,选择“无线局域网”,然后单击已经连接的这个WI-FI热点右侧的圆圈包围的字母i的图标,选择HTTP代理下面的手动选项卡,在服务器处输入计算机的IP地址,在端口出输入8888,输入完成按下Home键,设置就会自动保存。在计算机上就会弹出一个对话框,询问是否允许一台设备通过计算机代理上网,你知道该怎么做吧!之后你只能使用IOS自带的Safari浏览器访问https://chls.pro/ssl。此时会弹出一个窗口,询问是否显示配置描述文件,单击允许,然后安装证书,并输入锁屏密码。安装完成证书,在设置中打开关于本机,找到最下面的证书信任设置,并在里面启动对Charles证书的完全信任。这样一个证书在IOS设备上就安装好了。

安装好证书,打开一个APP,就可以看到charles中有数据包流动了。

安卓Android证书的安装和配置

对于安卓来说,要实现Charles抓包是比较困难的,国内安卓手机的系统通常比较严格,对于不同的安卓手机,安装证书的入口都不一样,这个根据实际情况操作!

首先在Charles中选择Help-SSL Proxying- Save Charles RootCertificate,将Charles的证书保存到电脑桌面上(你需要在C:\Users\Administrator\Desktop\证书),不然在桌面上什么都看不到,.pem和.cer都可以,然后通过QQ发送到手机上,你需要知道QQ文件保存的位置,通常情况下存在于:/storage/emulated/0/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv/,这非常重要,你找不到证书的路径,也就安装不了证书,证书文件在QQ中是打不开的!

安卓手机安装证书的位置可能在系统设置-WALN里面,如果存在高级设置的话,可以直接点开。OPPO手机可按照设置-WLAN-高级设置-安装证书管理(从存储设备安装),基本都跟下图差不多:

Charles抓包工具的安装和使用详解
Charles抓包工具的安装和使用详解

总之就是在手机的设置里面寻找,证书的安装非常简单,之后你需要配置代理,还是找到电脑和手机共同连接的WiFi,选择当前WiFi的i图标,设置代理。在Windows电脑中你可以在终端输入ipconfig命令,来查看当前局域网的ip,我们在主机名后面添加你局域网IP,端口8888,设置完成就可以返回了,不用保存。之后charles会弹出一个窗口,选择Allow,如果选错,那么重启charles就可以了!现在打开任意一个APP,就会在Charles上看到一些数据包,你成功了!

最后一点,如果勾选了Proxy – Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。

Charles的局限性

Charles只能截获HTTP和HTTPS的数据包,如果网站使用的是websocket或者flashsocket,那么Charles就无能为力。

有一些APP会自带证书,使用其他证书都无法正常访问后台接口,在这种情况下Charles自带的证书就不能正常的使用,也就没有办法抓取这种APP的数据。

有些APP的数据经过加密,APP接收到数据以后在其内部进行解密。对于这种情况Charles只能抓取到经过加密的数据。如果无法知道数据的具体加密方式,就没有办法解读Charles抓取到的数据。

Charles抓包常见问题

以抓APP数据包为例,确保你已经正确配置了证书。本人在OPPO手机android 9上进行测试的,在抓取https数据包的时候很多都是unknow,也就是抓不到数据,前面说了,android系统越高越严格,你虽然添加了证书,但是手机上的某些app可以设置不信任证书,这应该是抓取https失败的主要原因,那么你需要使用android 7.0一下的版本,这个没有测试,按理说应该可以,或者推荐更换专用抓包测试机Pixel、Nexus 6P,话说为了这个换个手机不值得,另一种是开安卓虚拟机VirtualXposed(VirtualAPP),或者root手机将证书放到系统证书里面。

鳄鱼君推荐开安卓虚拟机VirtualXposed(VirtualAPP),可到官网直接下载使用,软件非常的强大,真的成功了。使用方法有详细的视频教程,自行观看!

抱歉,隐藏内容 回复 后刷新可见

未经允许不得转载:作者:鳄鱼君, 转载或复制请以 超链接形式 并注明出处 鳄鱼君
原文地址:《Charles抓包工具的安装和使用详解》 发布于2020-03-26

分享到:
赞(1) 赏杯咖啡

评论 抢沙发

6 + 9 =


文章对你有帮助可赏作者一杯咖啡

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.6主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册