如何配置OpenWrt路由器将WiFi流量重定向至外部OWASP Zap代理
方案概述
在OpenWrt路由器上通过iptables规则实现流量转发,将所有无线客户端的流量导向外部OWASP ZAP代理,是满足全流量拦截需求的最优方案——无需在路由器上部署完整代理服务,仅通过网络层转发即可覆盖所有APP流量(包括非浏览器应用)。
具体配置步骤
1. 前置准备
- 确保Netgear EX3700的以太网口已接入可访问ZAP设备的网络,无线接口正常提供WiFi服务
- 记录ZAP设备的实际IP(例如
192.168.1.100)和代理端口(默认8080,若有修改则用对应端口) - 安装iptables透明代理扩展:
opkg update opkg install iptables-mod-tproxy
2. 配置iptables流量转发规则
转发HTTP(80端口)流量
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080
转发HTTPS(443端口)流量
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.100:8080
注意:将
wlan0替换为你的无线接口真实名称(可通过iw dev命令查看),192.168.1.100:8080替换为ZAP设备的实际IP和端口
保存规则避免重启失效
iptables-save > /etc/config/iptables
编辑/etc/config/firewall,在config defaults段添加以下内容确保开机自动加载规则:
option load_ebtables '1' option load_iptables '1'
3. 配置ZAP接收转发流量
- 打开ZAP的
Tools > Options > Local Proxies设置,将代理监听地址改为0.0.0.0(允许所有外部设备连接)或路由器所在网段的IP - 确保ZAP设备的防火墙允许路由器IP访问代理端口
4. 验证配置
让Android设备连接路由器WiFi,发起任意APP网络请求,查看ZAP的站点列表,确认流量是否被正常捕获。
备选方案(iptables转发兼容问题时使用)
若上述方法出现兼容性问题,可通过redsocks实现透明代理:
- 安装redsocks:
opkg install redsocks
- 编辑
/etc/redsocks.conf:
base { log_debug = off; log_info = on; log = "file:/var/log/redsocks.log"; daemon = on; redirector = iptables; } redsocks { local_ip = 0.0.0.0; local_port = 12345; ip = 192.168.1.100; port = 8080; type = http-connect; }
- 启动并设置开机自启:
/etc/init.d/redsocks start /etc/init.d/redsocks enable
- 添加iptables规则:
iptables -t nat -A PREROUTING -i wlan0 -p tcp -j REDIRECT --to-ports 12345
内容的提问来源于stack exchange,提问作者riemannzz
相关产品推荐
相关产品推荐

