IP Camera的HostName

时间:2015-07-17 15:14:22

标签: c# network-programming ipv4 dhcp

我有一台IP摄像头连接到路由器和其他计算机。我想找到路由器的DHCP服务器动态给出的摄像机IP。我ping所有可能的路由器IP,看看哪些是活动的。然后,我想使用客户端名称来确定IP是否是摄像头。但是当我使用

Dns.GetHostEntry("[IP of Camera]").HostName 

我收到一个SocketException:没有这样的主机是已知的。显示路由器上计算机的主机名,当我查看路由器地址的DHCP客户端时,它会显示摄像机客户端名称。我也可以通过ARP获取摄像机的IP和MAC地址。有没有办法获取客户端名称而不是主机名?

另外,我已经阅读了查询DHCP服务器的示例,但它不能在非Microsoft DHCP服务器上运行。

3 个答案:

答案 0 :(得分:1)

默认情况下,DNS和DHCP是无关系统。 DNS是一个全球分层联邦系统,具有.com,.net,.org等的根名称服务器,以及充当网关和缓存的本地DNS服务器。

目前还不清楚你的相机会如何显示在DNS中。您希望在哪个根目录下找到它们?

现在你的路由器也可能正在播放DHCP服务器(这是一个常见的组合),因此知道本地名称,但这并不意味着路由器也是DNS服务器。该DNS服务器很可能位于您的ISP。

答案 1 :(得分:1)

如果它具有您正在寻找的IP->客户端名称映射,为什么不使用webclient访问具有DHCP客户端表的路由器上的页面? Here's一个让你入门的例子。

答案 2 :(得分:1)

由于您正在运行Axis摄像头,因此最简单的DNS解决方案可能是Multicast DNS。另一种选择是UPnP。