本文介绍 charles 教程 - 代理抓包的使用方法css
本文参考了:阿西河 Charles 教程html
Charles前端
Charles是一个HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其机器和Internet之间的全部HTTP和SSL / HTTPS流量。这包括请求,响应和HTTP标头(包含cookie和缓存信息)web
Charles 是在 Mac 下经常使用的网络封包截取工具,在作 移动开发时,咱们为了调试与服务器端的网络通信协议,经常须要截取网络封包来分析。chrome
Charles 经过将本身设置成系统的网络访问代理服务器,使得全部的网络访问请求都经过它来完成,从而实现了网络封包的截取和分析。windows
除了在作移动开发中调试端口外,Charles 也能够用于分析第三方应用的通信协议。配合 Charles 的 SSL 功能,Charles 还能够分析 Https 协议后端
可能对下面的感兴趣。浏览器
可能感兴趣下面的工具缓存
能够看下面的服务器
若是您有前端测试的需求,推荐 SwitchHosts 这个小工具,固然您若是对 chrome 浏览器的在线改 host 感兴趣,也能够用下 Host Switch Plus
Charles 和 windows 下的 Fiddler 都是同性质的代理抓包工具;
正常状况下,Chrome DevTool 已经知足了平常 web 开发的需求,可是有的特性:编辑 request 的参数、重定向 request 请求的资源、编辑 response 的数据,ChromeDevTool 就很蛋疼了,并且查看和调试移动端资源时候 Chrome 也并很差用;
当客户端向服务器发起请求的时候,先到charles进行过滤,而后charles在把最终的数据发送给服务器;
注意:此时charles发给服务器的数据,不必定是客户端请求的数据;charles在接到客户端的请求时能够自由的修改数据,甚至能够直接Block客户端发的请求;
服务器接收请求后的返回数据,也会先到charles,通过charles过滤后再发给客户端;
同理:客户端接收的数据,不必定就是服务器返回的数据,而是charles给的数据;
正由于上面的原理,因此charles能实现的功能,对前端开发者来讲很是有吸引力,至关于请求和响应均可控的,并且charles为了控制更加方面,提供不少简洁的操做;
注意Charles是收费软件,能够免费试用30天的时间,推荐使用正版,研究学习能够看下 charles破解版免费下载和安装教程(我我的用的是charles4.1.2这个版本,如今用V4.2.28了);
若是想要抓包,第一件事情,就是把charles设置成为本机和服务端之间的”过滤器”;
让全部的网络请求所有通过charles,这样就能够捕获并记录到你请求的内容和返回数据了,原理请参照上面那张图片;须要注意的是,若是你访问的是web,能够把全部请求抓到;
但若是你想抓某些应用(好比手机上的应用等),应用使用的某些资源,若是没有向服务器发送请求,而是经过调用内部资源的方式进行展示,那么此时charles是抓不到的;验证这个的方式很简单,就是把网络断掉后,若是还能够继续展示,就是属于调用内部资源的,这种时候就不要想着经过抓包工具来捕获资源了,他都没有像服务器发起请求,手机点烂也抓不到的;
启动 Charles 后,第一次 Charles 会询问你是否把Charles设置为系统的代理,若是此时你忽略了这个询问敞口,你能够在后期设置的;将 Charles 设置成系统代理:选择菜单中的 “Proxy” -> “Mac OS X Proxy/windows proxy” 来将 Charles 设置成系统代理,参考以下,若是Mac下有管理密码,须要输入密码后方可进行;
本文参考:阿西河前端教程