用途:当需要调试 awf 防火墙、检查容器状态、分析流量或排查网络问题时使用本技能。
主要能力:检查容器状态与日志、分析 Squid 访问日志中的放行与拦截决策、查看主机与容器内 iptables 规则、检查网络与 DNS 配置、查看 Squid 与 Docker Compose 配置,以及定位被保留的日志文件。
关键信息:容器 awf-squid(Squid 代理,IP 172.30.0.10)与 awf-agent(代理执行容器,IP 172.30.0.20),网络 awf-net(子网 172.30.0.0/24)。Squid 决策码:TCP_TUNNEL:HIER_DIRECT 表示放行 HTTPS,TCP_MISS:HIER_DIRECT 表示放行 HTTP,TCP_DENIED:HIER_NONE 表示拦截。
常用命令:docker ps | grep awf;docker logs -f awf-squid;docker exec awf-squid cat /var/log/squid/access.log;docker exec awf-squid grep "TCP_DENIED" /var/log/squid/access.log | awk '{print $3}' | sort -u;sudo iptables -t filter -L FW_WRAPPER -n -v;docker exec awf-agent iptables -t nat -L OUTPUT -n -v;sudo dmesg | grep "FW_BLOCKED";docker network inspect awf-net;docker exec awf-agent nc -zv 172.30.0.10 3128;docker exec awf-agent cat /etc/resolv.conf。
调试流程:以 sudo awf --allow-domains github.com --log-level debug --keep-containers 'curl https://api.github.com' 运行,保留容器后检查日志与 iptables,完成后手动清理:docker rm -f awf-squid awf-agent、docker network rm awf-net,或执行 ./scripts/ci/cleanup.sh。
日志位置:使用 --keep-containers 时日志位于 /tmp/awf-<timestamp>/squid-logs/access.log 与 agent-logs/;正常执行后 Squid 日志移至 /tmp/squid-logs-<timestamp>/access.log,代理日志移至 /tmp/awf-agent-logs-<timestamp>/。
限制:资料未提供该技能的安装方式、收费与平台支持信息;若为诊断失败而非探索,建议从 diagnose-awf 技能及 docs/diagnostics/README.md 中的诊断注册表进入。