从dhcp服务器获取可用的IP地址

时间:2014-05-14 19:57:05

标签: c# ip-address

我有一个c#桌面应用。

我有一台ip camera,我想给它分配一个静态ipaddress。我需要能够从我的dhcp服务器获取“免费/可用”的IP地址,保留它并将其分配给我的ip camera。我可以很容易地将ip地址分配给我的相机。但是如何获得可用的IP地址并在将其分配给“插入”网络的其他设备之前保留它?

我已经看过api调用来获取客户端ipaddresses但是不知道我是否可以将它用于我想要的东西。

我可以ping子网上的每个ip地址,以便查找地址是否可用,但这似乎效率低下,因为我会等待ping该地址的时间。此外,它不会“保留”它。

我希望我明白这一点?

NB。 我想为我的ip camera分配一个静态IP地址。我有sdk这样做。只是我需要分配一个位于同一子网上的免费IP地址

3 个答案:

答案 0 :(得分:2)

您的IP摄像机需要支持DHCP协议,或者能够分配静态IP地址。如果它支持DHCP摄像头,那么它将自己处理它,但是如果它必须被分配一个静态IP地址,那么你需要保留路由器的IP地址,然后将它输入摄像机,因为它#39 ; s静态IP地址。

路由器使用MAC地址分配DHCP下的IP。除非您的系统能够使用它的MAC地址伪装成IP摄像机,否则要从DHCP路由器检索IP地址,您可以使用上述两种方法之一来分配IP。

答案 1 :(得分:1)

某些路由器允许您通过管理Web UI静态为设备分配IP地址。您的路由器就是这种情况,您可以让它连接到IP地址并告诉路由器始终为您的设备分配IP。

答案 2 :(得分:1)

AFAIK,DHCP请求需要附带您要分配给它的MAC地址。如果摄像机不支持DHCP,则不能在其名称中请求地址。

为您做最简单的事情可能是在用户的计算机和摄像头之间实施一个穷人的NAT:您可以将来自用户计算机某些端口的流量转发到摄像头,并将来自摄像头的响应转发给该人谁要求它。