Charles是一款抓包修改工具,数据请求控制容易,操作简单。
下载和安装
首先是工具下载和安装 安装前需要先有Java的运行环境。下载到charles的破解版以后,正常安装。一般破解版里会有charles.jar文件包,将该文件包替换下,目录:D:Program FilesCharleslib,也就是charles安装目录的下的lib文件夹,此时重启charles即可。如果是使用版,过30分钟后就会关闭。
PC端抓包
Charles支持抓取http,https协议的请求,不支持socket。工具打开直接就是抓包状态。如下面的截图:
常用功能如上:
左1:clear图标,清除所有的请求信息。
左2:find图标,搜索关键字。
左3:Stop Recording,设置是否要抓取请求的信息。
左4:edit图标,可以编辑修改请求信息,然后点击"execute"按钮重新发送修改后的请求。如下图:Raw代表原始数据表的展现形式。
下左1:抓取数据的总体信息,URL可以这里面看。
下左2:抓取的数据包的请求内容的信息显示。
下左3:返回数据内容信息的显示。
移动APP抓包
1 使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了,比如电脑连接的有线网ip为192.168.16.12,然后手机链接的wifi ip为192.168.1.103,但是这个有线网和无线网的最终都是来自于一个外部ip,这样的话也是可以的。
2.Charles里设置允许访问IP地址的范围。‘Proxy’-->'Access Control Settings',如果全部范围都接收的话,那么就直接设置成0.0.0.0/0,如下图:
然后如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。
3.手机设置代理。一般在手机设置,‘wifi’下操作。
主要功能
1.右键单击请求的链接,会出现很多操作,其中"Map remote"和"Map local"在环境不是本地的时候调试很有用,指定文件映射到远端,或者映射到本地。就是重定向。比如线上有bug,可以将线上的某个文件拷下来,然后请求时将线上的文件请求地址重定向到本地的这个文件,然后对本地文件进行修改调试。
2.选择请求后,右键可以看到一些常用的功能,这里说说Repeat 就是重复发包一次。 然后Advanced Repeat就是重复发包多次,这个功能用来测试短信轰炸漏洞很方便。
3.还有比如说修改referer测试CSRF漏洞,修改form内容测试XSS,修改关键的参数测试越权,修改url、form、cookie等信息测试注入等,都非常方便。
QA
1.移动设备使用Charles代理时,部分链接访问不了?提示信息为cann't find remote host.
解决办法:检查手机和电脑是否在同一个局域网内。