Skip to content

节点管理 ​

扫描节点负责执行扫描任务。本页介绍如何在控制台对节点进行日常运维与状态监控。

探针的部署与集群水平扩展

如果您想在新机器上部署探针、运行多个节点,或查询不同类型节点的硬件配置建议,请参阅部署指南:分布式部署。


节点概览与实时心跳 ​

扫描节点管理列表

在左侧导航栏进入「扫描节点」,系统将呈现全局所有已注册探针的运行卡片与统计报表:

字段栏目作用解释状态示例
节点名称客户端通过 TESTNET_NODE_NAME 环境变量设定的业务别名node-beijing-01
节点 ID节点注册后自动生成的唯一标识(雪花数字串)1932123456789012345
工作状态实时反映节点是否能正常接收任务🟢 在线 / 🔴 离线
最后心跳上一次心跳的时间12 秒前
并发任务数当前正在执行的任务数3 / 5
系统信息节点的操作系统、内核与内存信息Linux x86_64 / 16GB

节点状态说明 ​

状态图标说明
在线🟢节点正常运行,可接收任务
离线🔴节点超过约 3 分钟(180 秒)未上报心跳,自动判定离线

节点管理操作 ​

查看节点详情 ​

点击节点卡片上的「详情」按钮可查看:

  • 系统配置(CPU 核心数与使用率、内存、磁盘、运行时长)
  • 网络信息(IP、MAC 地址、操作系统与架构)
  • 工具白名单(受限工具列表或「全部工具(未限制)」)

配置节点 ​

点击「配置」打开「节点高级配置」弹窗,可设置:

  • 工具运行白名单限制:限制该节点仅拉取和执行指定工具(见下节)
  • 客户端 YAML 配置:下发节点本地 config.yaml(执行器开关、并发数等)

删除节点 ​

离线节点可删除(不影响已执行的任务记录):

  1. 确保节点已停止(状态为离线)
  2. 点击「删除」按钮
  3. 确认删除

TIP

删除后如需重新使用该节点,客户端重新启动时会自动重新注册为新节点。


节点工具白名单 ​

默认情况下,任意在线节点可以拉取并执行平台内的全部安全工具。通过「工具白名单」可以限制某个节点只运行指定的工具,实现节点分工与算力隔离。

查看白名单状态 ​

节点卡片与「详情」弹窗中均展示当前节点的白名单状态:

标签含义
N 个工具该节点已被限制,仅允许运行白名单内的 N 个工具
全部工具未限制,该节点可执行平台内所有已启用工具

配置白名单 ​

  1. 在节点卡片上点击「配置」,打开「节点高级配置」弹窗
  2. 在顶部「工具运行白名单限制」区域的多选框中选择允许运行的工具
  3. 点击「保存配置」即时生效

选择器会按工具的运行时类型自动分组,便于快速定位:

分组包含的工具类型
Docker 工具容器化执行的扫描工具(如 Subfinder、Nuclei、Nmap)
HTTP 工具原生 HTTP 请求探测类工具
DNS 工具DNS 解析查询类工具
TCP 工具TCP 端口探测类工具
Shell 工具本地进程/命令行执行类工具
其他工具未声明运行时类型的工具

TIP

  • 多选框留空表示不限制,该节点可执行所有安全工具
  • 选择器支持关键字搜索过滤,组内工具按名称排序
  • 白名单保存后,节点后续只拉取白名单内工具的任务;已派发的存量任务不受影响

典型场景 ​

  • 节点分工:让出口带宽好的节点只跑容器化漏扫(Docker 工具),内网节点只跑 HTTP/TCP 探测
  • 资源保护:低配设备限制为 DNS/TCP 等轻量工具,避免容器任务拖垮主机
  • 合规收敛:指定节点仅执行经过审批的工具集合

节点执行能力 ​

执行方式所需条件说明
Docker挂载 Docker Socket执行容器化工具(如 Subfinder、Nuclei)
Shell安装对应二进制执行本地命令行工具(PROCESS 类型)
HTTP网络可达发送 HTTP 请求
DNS网络可达DNS 查询解析
TCP网络可达TCP 端口探测

常见问题排查 ​

节点注册后显示离线 ​

  • 检查网络连通性(节点能否访问服务端 3100 端口(Nginx 统一入口);8081 为后端直连端口,仅在自行暴露该端口时可用)
  • 确认 TESTNET_CLIENT_SECRET 配置正确
  • 查看日志:docker logs testnet-client

任务一直停留在 PENDING ​

  • 检查是否有在线节点
  • 查看服务端日志确认任务分发是否正常

Docker 工具执行失败 ​

更多深度排查(镜像 ulimit、DNS、SELinux 等)见 故障排查手册 与 FAQ。

bash
# 验证 Docker Socket 是否可访问
docker exec testnet-client docker ps

客户端环境变量参考 ​

客户端节点支持通过 TESTNET_ 前缀的环境变量覆盖 config.yaml 配置:

环境变量类型说明
TESTNET_SERVER_URLstring服务端地址(如 http://host:8081 或 https://host:3100)
TESTNET_SERVER_TLS_ENABLEDbool是否启用 TLS(true/1)
TESTNET_SERVER_TLS_INSECURE_SKIP_VERIFYbool是否跳过 TLS 证书校验(自签名证书时设为 true)
TESTNET_CLIENT_SECRETstring节点连接密码(从服务端 .env 中获取)
TESTNET_NODE_NAMEstring节点名称
TESTNET_LOG_LEVELstring日志级别(debug/info/warn/error)
TESTNET_MAX_CONCURRENTint最大并发任务数(默认 3)
TESTNET_POLL_TIMEOUTduration长轮询超时时间(默认 30s)
TESTNET_POLL_INTERVALduration长轮询间隔(默认 5s)
TESTNET_HEARTBEAT_INTERVALduration心跳上报间隔(默认 30s)
TESTNET_DOCKER_ENABLEDbool是否启用 Docker 执行器(true/1)
TESTNET_SERVER_TIMEOUTduration服务端请求超时(如 30s)
TESTNET_WORK_DIRstring任务工作目录
TESTNET_CACHE_DIRstring缓存目录
TESTNET_ALLOW_PRIVILEGEDbool是否允许容器特权执行(默认 true,生产环境建议设为 false)
TESTNET_ALLOW_SSRFbool是否允许 SSRF 探测内网(默认 true,生产环境建议设为 false)
TESTNET_ALLOWED_VOLUME_PATHSstring允许挂载的目录列表(逗号分隔,整体覆盖内置默认清单,如 /tmp/,/opt/testnet/)

WARNING

TESTNET_ALLOW_PRIVILEGED 和 TESTNET_ALLOW_SSRF 出厂默认均为 true(放行)。面向不可信目标或部署在办公网/生产网的节点务必显式设为 false。详见 探针沙箱与安全机制。


相关文档 ​

最近更新

基于 MIT 协议发布