ZAP本地代理设置
如前文所言,ZAP的工作机制,是通过“中间代理”的形式实现。
ZAP的代理设置可以从菜单中的:工具 - 选项 - Local Proxies加载。
在这里可以设置ZAP用来接受接入请求的地址和端口等。
地址
ZAP将要使用的本地地址。所有的可用地址都会被自动检测到并且列出。
无特殊要求可以直接使用localhost或127.0.0.1。
端口
ZAP将会监听的端口,默认8080。如与本机其他服务端口冲突(比如tomcat也是默认使用8080)可以修改使用其他端口。
基本上配置好地址和端口,ZAP的代理就已经设置完毕可以开始监听了。除此之外还有几项设置:
Behind NAT
表明ZAP本地代理将会使用NAT模式。选择此项后,ZAP会尝试确定公网IP,以检测和处理从公网IP接入的请求。
这个选项只对以服务(API)模式应用ZAP时有效。
Remove Unsupported Encodings
允许代理将不支持的编码从"Accept-Encoding"请求头中移除,这样代理不会对响应做出转码。
如非专门测试转码,此选项应始终保持勾选。
使用不支持的编码的信息将不会被扫描(主动、被动都不会)。
Security Protocols
允许选择接入连接(比如浏览器)可使用的SSL/TLS版本。最少需要选择一个版本,而且不被JRE支持的版本将不能选择。
SSLv2Hello协议必须与其他SSL/TLS结合使用。
以上的设置对于主代理和附加代理都生效。
附加代理
在附加代理模块,我们可以按照需求添加更多的代理地址和端口让ZAP进行监听。
拦截代理/透明代理
ZAP本地代理也可以被设置为拦截/透明代理。透明代理一般用来将内网请求进行拦截再转发,比如常见的上网监控管理就是使用拦截代理实现。
比如,你有一台测试用的Linux机器,那么通过以下命令可以把所有HTTP和HTTPS路由到ZAP的监听地址(例:172.16.100.38:8080):
iptables -t nat -A OUTPUT -p tcp --dport 443 -j DNAT --to-destination 172.16.100.38:8080 iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 172.16.100.38:8080
客户端代理设置
Chrome (on Windows)
- 点击右上角“自定义及控制chrome”
- 选择“设置”
- 选择“高级”
- 选择“打开代理设置”
- 然后按照局域网设置
Firefox (on Windows)
- 打开“菜单-选项”
- 选择“高级”
- 选择“网络”
- 选择“连接-设置”
- 选择“手动配置代理”
- 填入ZAP本地代理地址和端口
- 勾选“为所有协议使用相同代理”
Windows局域网代理
- 打开“Ineternet选项-连接”
- 点击“局域网设置”
- 选择“为LAN使用代理服务器”
- 填入ZAP本地代理地址和端口
手机代理设置
- 确保手机wifi和ZAP代理处于同一局域网内
- 进入手机“设置-无线和网络-WLAN”
- 选中已连接的wifi选择“修改网络”
- 勾选“显示高级选项”
- 选择代理方式为“手动”
- 填入ZAP地址和端口