标签: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试用啦~~~如果想要破解的朋友,可以在 密码: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 上的设置。