码迷,mamicode.com
首页 > Windows程序 > 详细

Charles小试牛刀(Windows)

时间:2017-06-15 22:43:32      阅读:402      评论:0      收藏:0      [点我收藏+]

标签:charles   抓包   

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

Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。不过,也可以网上找到破解版,将lib原文件中的charles.jar替换就可以随意使用啦~


Charles 主要的功能包括:

支持 SSL 代理。可以截取分析 SSL 的请求。

支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。

支持 AJAX 调试。可以自动将 json 或 xml 数据格式化,方便查看。

支持 AMF 调试。可以将 Flash Remoting 或 Flex Remoting 信息格式化,方便查看。

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

支持修改网络请求参数。

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

检查 HTML,CSS 和 RSS 内容是否符合 W3C 标准。


Charles下载:官网https://www.charlesproxy.com/,目前最新版是4.1.2,分win、mac以及Linux,亲们可以按需下载。下面以winows64位版本为例:

下载后的镜像文件:技术分享


Charles安装:

双击msi文件,傻瓜式点击下一步即可

技术分享

技术分享

技术分享

技术分享

安装完成后,就可以去你安装路径中找charles.exe试用啦~~~如果想要破解的朋友,可以在http://pan.baidu.com/s/1eSEInya   密码:k843下载Charles.jar,顺便说一句,这个ja包也是要配套charles版本使用的,这里使用的是4.1版。这个文件中有mac、win32/64的版本,按需使用哦~替换Charles根目录下lib中的同名文件,这样打开Charles就不用等10秒啦~


以上只是安装好Charles,如果这个时候打开使用,抓取的包一部分是unknow状态。


Charles配置:

1、将charles设置成系统代理:Proxy->Windows Proxy

技术分享

需要注意的是,Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果。


charles主界面:

技术分享

图中,structure和sequence是两种视图模式:

structure视图将网络请求按访问的域名分类;sequence视图将网络请求按访问的时间排序;

Filter处可以设置过滤关键词,如输入想要过滤的域名,主界面就只显示该域名相关的包;

Request显示请求内容;

Response显示响应内容。


截取移动设备包括APP、微信公众号等的网络封包(以iPhone为例):

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

技术分享

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

技术分享

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


如果你需要截取分析 SSL 协议相关的内容。那么需要安装 Charles 的 CA 证书。

首先需要在电脑上安装证书。点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”如下图:

技术分享

弹出安装证书窗口:

技术分享

技术分享

技术分享

技术分享

技术分享


至此Charles上设置完成。

如果手机上也需要抓取https的包,那么也需要下载ca证书:

点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –>“Install Charles Root Certificate on Mobile Device and Remote Browser”,会弹出下图:

技术分享

在safari中输入“chls.pro/ssl”,搜索出CA证书,弹出如下图:

技术分享

点安装(这里LZ已经安装过了)后,还需在手机“设置”->“关于本机”->“证书信任设置”中信任该证书:

技术分享

其次,在手机浏览器中输入http://charlesproxy.com/getssl ,即可打开证书安装的界面,安装完证书后,就可以截取手机上的 Https 通讯内容了。也就是上图中的第一个证书。


然而,Charles 默认并不截取 SSL 的信息,如果你想对截取某个网站上的所有 SSL 网络请求,处理方法有两种:

1、在该请求上右击,选择Enable SSL proxy

技术分享

2、选择charles顶部菜单“Proxy”->“SSL Proxying Settings”:

技术分享

点击“Add”添加host和port:

host:*  表示可以取任何值

port:443

技术分享

至此截取web以及手机端网络封包的设置基本完成。


注意:如果遇到截包返回乱码、截包“unknow”状态,可能是证书没有安装好,或者SSL没有授权

Charles小试牛刀(Windows)

标签:charles   抓包   

原文地址:http://zoe26.blog.51cto.com/12657060/1937240

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!