我正在尝试通过 Docker 使用 zap 代理 将其拉下来:
docker pull owasp/zap2docker-stable
使用“从 Docker 容器外部访问 API”部分中描述的命令运行它:
docker run -p 8090:8090 -i owasp/zap2docker-stable zap.sh -daemon -port 8090 -host 0.0.0.0
但我似乎无法连接到它。当我运行时docker inspect <CONTAINER ID> | grep IPAddress
,我得到 172.17.0.2(编辑:我可以运行扫描,我在 Mac 上将 ZAP_SERVER_PROXY 从更改172.17.0.2:8090
为0.0.0.0:8090
,因此将其编辑为下面的代码示例)。所以我的脚本的开头看起来像:
import os
import time
from pprint import pprint
from zapv2 import ZAPv2
BASE_URL = os.getenv('BASE_URL', 'https://example.appspot.com/')
ZAP_SERVER_PROXY = os.getenv('ZAP_SERVER_PROXY', '0.0.0.0:8090')
API_KEY = ''
zap = ZAPv2(
# apikey=API_KEY,
proxies={
'http': "http://%s" % ZAP_SERVER_PROXY,
'https': "https://%s" % ZAP_SERVER_PROXY
}
)
现在只是尝试使用 python 通过终端运行它并不断收到连接被拒绝的错误。我也试过用API_KEY
注释掉的部分,有没有人知道你在哪里找到在文档中看不到的。
注意:我在 macos 上,但运行docker-machine ip default
没有做任何事情,所以不确定如何进入链接页面的底部和 docker 新手。仿照自己的例子进行测试。运行virtualenv -p python3 env
不确定是否会影响它。