6

我正在创建一个程序来与这个模型的 IP 摄像机对话:

CVUL-I125

它有一个简单的 Web 界面,我已经成功地与它交谈以控制它,并从中获取视频和快照。

但是,我找不到任何关于如何检测此摄像机是否在网络上以及它具有哪个特定 IP 地址的好的文档。

到目前为止,我唯一能找到它的工具是捆绑的 Windows 软件。

我假设(希望!)有一种更好的方法,而不是遍历范围内的所有 IP 地址并查看那里是否有看起来像相机接口的东西。

有谁知道如何做到这一点?

这种事情有已知的API吗?

请注意,由于它是一个IP摄像机,它不会直接连接到我的计算机,因此本地没有安装任何我可以与之交谈的东西。

以下是更多细节:

  • 我正在制作的相机和软件将被出售,这意味着我不能依赖客户端的任何特定类型的设置,除了工作 DHCP
  • 相机没有我能找到的API文档,如果有人在这方面比我有更强的google-fu,请赐教
  • 相机支持DHCP,所以它确实成功连接到网络,问题是我之后如何可靠地找到它
  • 我不知道它是否有主机名,文档什么也没说,我自己的 DHCP 服务器只列出了它的 MAC 地址
4

3 回答 3

7

根据您提供的链接,此相机支持 UPnP。

UPnP 是一种协议,它具有多种设备发现/搜索方法:

您的代码必须多播 UDP 数据包作为搜索请求。您的 UPnP 设备将使用 UDP 单播数据包的 UPnP 搜索响应来回答(取决于配置)。

UPnP 搜索响应包含一个 HTTP URL,以允许检索设备的 XML 描述。HTTP URL 中的主机通常是设备 IP/主机名。

看看UPnP 规范

您没有说您正在使用哪种操作系统/语言 - 所以只是一小部分 API 和库:

于 2012-02-06T19:22:03.020 回答
0

你想要的是读取这个网络摄像机应该传递的 DHCP 选项。通常,任何消费设备都会在 DHCP 数据包的选项 43 中输出其供应商标识符字符串。与您的 DHCP 服务器接口,当摄像机连接到网络时,您可以让 DHCP 服务器向您发送通知。

此过程因每个 dhcp 供应商而异。您知道网络中将运行什么 DHCP 吗?

否则我建议安装一个简单的 DHCPd。它应该很容易配置以对正确的选项 43 值做出反应并与您的应用程序对话。

于 2012-02-06T18:57:28.317 回答
0

听起来它使用 DHCP(否则它根本不会在您的网络上)。

我一直使用这个工具:

http://www.angryip.org/w/Home

当相机尝试连接到网络时,“发现 API”将侦听 DHCP 端口 68。我只需要 Wireshark 跟踪,或者使用上面提到的 ip-scan 工具。

于 2012-02-06T18:58:36.657 回答