首页 游戏 软件 排行 智能

mac抓包神器Charles使用教程

来源: 西西整理 日期:2017/3/7 14:39:17

Charles是目前最强大的http调试工具,在界面和功能上远胜于Fiddler,安装之前请确保已经安装了JDK,之后按照提示安装。注意:未注册版本,每隔30分钟会自动退出。同时是全平台支持,这么好用的软件可惜就是收费的,网上是有破解版的Charles,学习交流可下载。

安装

首先需要下载Java的运行环境支持。装好java环境后,可以直接去百度搜索并下载charles的破解版,下载到破解版之后,里面一般会有注册的jar文件,然后注册后就可以永久使用了(ps:不注册的话,每次使用30分钟,工具就会自动关闭),下载链接中是 V3.6版(https://m.cr173.com/x/121708),最新版本是V3.8.3没有破解包,所以不要升级到最新版。

配置与基本功能

对于Mac系统而言,打开charles之后,默认就已经对系统进行了代理,如果没有,则需要在菜单栏的Proxy上勾选上Mac OS X Proxy。

以打开365日历主页为例:

charles对于抓取的包可以进行保存,等下次要分析时,在打开。

Filter可以对请求进行过滤,并且支持通配符,比如只想查看以包含365rili且以.do为结尾的请求,可以在Filter中设置365rili.*.do。

Overview可以更加详细的查看这次请求的详细内容,例如耗时详细列车了请求开始时间、结束时间,响应开始时间、结束时间,总耗时、DNS耗时、网络延时等。

对于Size也详细列出了请求头大小、响应头大小、压缩比例等内容。

如果想查看更详细的请求信息,比如Header、cookie、form表单等可以点击Request,类似查看详细的响应选择Reponse。

除了对于PC端进行代理之外,还可以抓取客户端,在Proxy->Proxy Settings中设置代理端口号:

在手机端,WLAN设置中找到连接的wifi,设置代理:

把代理模式设置为手动,设置主机名为Charles所在机器的ip,端口号为Charles配置的代理端口。这样手机客户端的所有http请求,都会被charles代理。可以方便的查看客户端的http请求。

3. 高级功能

3.1 重放与编辑

点击一个请求,双值点击触摸板,可以对该请求进行复制、保存、重放和编辑操作。

Repeat Advanced高级重放功能可以作为简单的性能测试:

可以设置重放次数和并发数。

Edit:编辑修改功能,可以编辑修改任意请求信息,比如表单信息、cookie等,修改完毕后点Execute就可以发送一个修改后的请求数据包。

显示模式

charles抓包的显示,支持两种模式,Structure和Sequence。

(1) Structure形式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。

(2) Sequence形式如下图 优点:可以看到全部请求,这里的结果以数据请求的顺序来显示,最新的请求显示在最下面

综上,两种形式各有千秋,structure 适合对单一系列的访问请求从宏观上进行把握,可以快速定位。sequence 适合精确定位内容,因为每条sequence 都有size,status等属性信息,方便快速定位这条结果的价值,楼主一般两者一起使用。

PC端抓包

Charles支持抓去http、https协议的请求,不支持socket。

charles会自动配置浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。

下图显示的是Charles的主界面:

上图中的几个小图标是最常用的几个功能。

1 垃圾桶图标,功能是clear,清理掉所有请求显示信息。 

2. 望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。


3 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个,一般都使其为不显示抓取状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。

4 那个小铅笔是编辑修改功能,可以对下图中的请求信息进行修改,修改完毕后点击Execute就可以发送一个修改后的请求数据包。如下图,博主把cookies删掉了

5 抓取的数据包的请求地址的url信息显示。一般也可以直接在条目上右键copy url 在浏览器中查看。

6 抓取的数据包的请求内容的信息显示。 

7 返回数据内容信息的显示。 

解析后的JSON数据: 

其中5、6、7中都有各种形式的数据显示形式,其中raw是原始数据包的状态。

5.移动应用抓包

这是博主应用最多的地方,除了手机端需要对http proxy 进行下设置,其他使用和PC端抓包基本类似,具体步骤如下:

手下手机和电脑必须在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了,比如电脑连接的有线网ip为192.168.16.12,然后手机链接的wifi ip为192.168.1.103,但是这个有线网和无线网的最终都是来自于一个外部ip,这样是可以的。 
.

具体配置,电脑端不用做任何配置,但是需要把防火墙关掉(这点很重要)! 
charles需要设置下代理端口:进入Proxy,点击Proxy Setting, 端口设置为8888(一般默认为这个)

3 手机端配置 
首先进入终端,执行 - ifconfig命令查看自己电脑的ip地址,然后在手机端的wifi代理设置那里去进行相关的配置设置。如下图,在手机wifi 的Http Proxy -> Manual进行设置,server与电脑ip相同,端口同Charles设置:

4 好了,这样就配置完成就大功告成了,打开百度外卖就可以愉快的进行抓包了。

5.注意,使用完Charles之后,要点击off,关闭手机端设置,要不然,手机会出现访问异常的情况。

6.其他技能

相信上面介绍的那些你已经学会了吧,下面再说说charles的一些其他常用的功能

选择请求后,右键可以看到一些常用的功能,这里说说Repeat 就是重复发包一次。 然后Advanced Repeat就是重复发包多次,这个功能用来测试短信轰炸漏洞很方便。

还有比如说修改referer测试CSRF漏洞,修改form内容测试XSS,修改关键的参数测试越权,修改url、form、cookie等信息测试注入等,都非常方便。

玩家留言 跟帖评论
查看更多评论
相关文章
猜你喜欢
同类下载