我们正在开发一些公司需要通过网络上的TCP与我们的应用程序进行通信的硬件设备。这些设备有一些限制,例如它们没有显示器或dotmatrix来显示任何当前配置,例如IP或mac地址。因此,无法直接在设备上配置IP配置。
当他们第一次连接到网络时,他们当前的网络配置很可能与所连接的网络不匹配。
E.g。
我们现在想要开发一个独立的应用程序,列出连接到网络的所有设备,并将IP配置更改为特定的(符合网络需求)。
答案 0 :(得分:0)
解决任何安全问题我会使用任何设备都会收到的255.255.255.255的udp广播。当您将所有有效的子网放入有效负载时,客户端将知道它被错误地配置并且必须以广播的形式回复(因为它可能位于不同的子网中,并且没有任何有效的路由表就不可能单播)
但请记住,这可能会打开安全问题,因为您将在扫描中发布可能对攻击者非常感兴趣的所有有效子网。
如果您知道,例如所有可能设备的Mac地址,您可以加密UDP有效负载,只能使用正确的Mac地址加密。
答案 1 :(得分:0)
这就是DHCP,BOOTP,RARP的用途。使用DHCP和朋友来做这件事意味着网络上的设备最有可能获得有效配置。
如果您必须拥有自己的应用程序来管理IP配置问题,那么可以考虑在管理/服务器应用程序中使用DHCP协议。
如果您的设备不能与随机DHCP服务器通话,那么请考虑让它们忽略在回复中没有某些属性的响应(由于它可能会一直询问并且可能占用IP,因此效率低下)或使用DHCP在不同的港口......至少你不会重新发明轮子。
使用现有协议的好处是,网络分析师也可以了解发生了什么,系统管理员可以调试并对问题进行直观猜测等。