Charles 是一款抓包工具,易上手,数据请求容易控制,修改简单,抓取数据的开始暂停方便等优势!抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作。也用来检测网络安全。抓包也经常被用来进行数据截取等。
前言
在mac下开发常用charles这个抓包工具,访问普通的网站没有问题,如果访问特殊网站就需要开着其他本地代理软件,那么当两者同时开启的时候,两者都挂系统代理,会产生冲突:
两者同时打开时,proxy pac用的是本地代理软件的,系统优先使用pac代理,这时所有流量都走本地代理软件了,不通过charles。
解决方法
让请求先通过charles,charles再转发给本地代理软件。
指定http(s)代理端口为charles,charles设置外部代理为本地代理软件的地址。最终访问网络的是本地代理软件,charles作为前置代理用于抓取信息。
1. 获取charles监听端口
proxy->proxy setting
image.pngcharles监听端口:
- http: 8888
- socks: 8889
2. 配置系统代理走charles,Network-->advanced-->proxies,配置HTTP(S)的代理服务器为8888,记得socks代理也要设置8889,不然走不了https:
image.pngimage.png
3. 配置charles连接本地代理软件
打开charles的external proxy settings,配置http(s)的外部代理地址为,本地代理地址的端口是多少,请自行查看,配置效果图如下:
image.png
image.png
总结
Charles中连接本地代理了以后,所有的浏览器访问流量都先通过Charles,然后被Charles所控制,Charles再通过本地代理端口向外请求,这样就没有任何网络限制,控制浏览器所有的网络请求。
文章原创:光速博客(gsbk.org),禁止转载!
网友评论