一、前言
1.1 常用代理工具
代理工具:
- charles
- burpsuite
- fiddler
- mitmproxy
高性能代理服务器:
- squid
- dante
反向代理:nginx
流量转发与复制:
- em-proxy
- gor
- iptable
- nginx
socks5代理:ssh -d 参数
1.2 代理的工作机制
1.3 优秀代理工具必备特性
- 代理功能:http/https、socks5
- 请求模拟工具:拼装请求、重放请求、重复请求
- 网络环境模拟:限速、超时,返回异常
- mock:请请修改、响应修改
- fake:用测试环境替代真实环境
1.4 推荐工具
- charles:开发/测试工程师必备
- mitmproxy:测试开发工程师必备
- zap:测试工程师安全测试工具
- burpsuite:黑客必备渗透测试工具
- fiddler:跨平台支持不好,不推荐
- postman:代理功能太弱,不推荐
二、Charles介绍
Charles 是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,response和HTTP headers (包含cookies与caching信息)。
Charles主要功能:
-
支持SSL代理。可以截取分析SSL的请求。
-
支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
-
支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
-
支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
-
支持重发网络请求,方便后端调试。
-
支持修改网络请求参数。
-
支持网络请求的截获并动态修改。
-
检查HTML,CSS和RSS内容是否符合W3C标准。
三、Charles下载安装
3.1 Charles下载安装
Charles的安装非常简单,直接通过charles官网安装最新版即可。
Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。
安装完成!
3.2 Charles破解
在线破解:https://www.zzzmode/mytools/charles/
注册名称随意填写,点击将生成一个激活码,使用输入的注册名称以及激活码激活即可。
四、Web抓包配置
4.1 开启代理开关
默认情况下,启动Charles后,就能自动抓Chrome浏览器、Firefox浏览器的包,如果不能抓,请检查Charles中是否勾选了代理开关“Windows Proxy/Mac Proxy”
4.2 配置代理
如果需要抓取https的包,还需要配置SSL代理。
打开浏览器的代理配置,端口指向Charles配置的8888:
推荐下载谷歌插件Proxy SwitchyOmega管理代理配置,具体可参考文章:http://c.biancheng/python_spider/SwitchyOmega.html
打开Charles的录制按钮,刷新网页,这个时候就能进行抓包了。
但是这里有一个问题,访问https的网站会如下图所示提示。这是因为我们需要安装https的证书。
4.3 安装信任证书
选择Help - SSL Proxying - Install Charles Root Certificate,一步步按照如下图示安装信任证书。
点击“安装证书”
选择“本地计算机”,点击“下一页”
选择“将所有的证书都放入下列存储”,点击“浏览”,选择“受信任的根证书颁发机构”
点击“下一页”
点击“完成”
点击“确定” “确定”
另外也可以在证书路径处查看证书,如下图所示证书是没有问题的。
注意:如果你在进行一系列证书安装过程中,浏览器是处于开启状态。证书安装完成后需要重启浏览器,证书才会生效!
五、其他问题
- charles提示“SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations”
出现这种情况,charles解析不出path,我们就没法建立映射。
具体的解决方案为在proxy中的SSL Proxying setting中钩上Enable SSL Proxying,并且将要解析的host加上。如下图:
更多推荐
测试工程师必备的工具-Charles
发布评论