跳过导航,直接进入主要内容跳过导航,直接进入主要内容跳过导航,直接进入主要内容

CLI:discover

discover 用一条命令回答一个问题:此刻这个网络上有哪些 ONVIF 设备? 它发出多播 WS-Discovery Probe,打印每个应答者的 endpoint reference、XAddr 与 scopes——在还不知道任何凭证之前的脚本友好起点。

安装

go install github.com/mickeyzzc/onvif-go/v2/cmd/discover@v2.2.0
# 或从 release 产物直接下载预构建二进制(六平台)

用法

discover [-interface eth0] [-timeout 10s]
旗标 默认 含义
-interface 全部 探测走出的网卡——按名指定(eth0、en0)
-timeout 10s 整体发现窗口(Go 时长格式:5s、30s、1m)

输出按相机分块:Endpoint(发现层 endpoint reference)、XAddr 行(实际服务地址——一台设备可能通告多个)、Scopes(携带厂商、 型号、硬件线索的 ONVIF scope URI)。零发现以 0 退出并提示 "No cameras found.";传输层失败以 1 退出。

Found 2 camera(s):

Camera 1:
  Endpoint: uuid:1b2e3d47-0000-0000-9cfa-5e0a9c4b2d1f
  XAddr: http://192.168.1.201:80/onvif/device_service
  Scopes:
    - onvif://www.onvif.org/Manufacturer/Hikvision
    - onvif://www.onvif.org/Model/DS-2CD2143G2-I

场景

多网卡主机。 VPN + 有线 + docker 网桥并存的机器上,走错网卡的 探测要么一无所获、要么被虚拟网络应答。钉住物理网卡:

discover -interface en0 -timeout 5s

资产巡检。 固定格式的输出让它可以当巡检脚本的一行前端 (解析 XAddr: 行);拿到凭证后再交给 onvif-quick / onvif-diagnostics。

慢网络。 断电重启后的相机上线慢;与其循环跑工具不如拉长窗口—— 整个超时期间应答者会持续到达:

discover -timeout 30s

边界与下一步

多播只到本子网;跨路由子网的相机请在与它们同 LAN 的主机上做定向 探测——ProbeEndpoint / ProbeSerial API 见 discovery 手册,那里也讲了用 discovery.FilterONVIFDevices 滤掉同样会应答 Probe 的 Synology/Windows/打印机幽灵应答者。

可访问性增强功能已加载,支持焦点管理、键盘导航和屏幕阅读器
页面已加载完成,可访问性功能已启用