2015-10-13 221 views
0

我们正在开发我们公司的一些硬件设备,需要通过网络上的TCP与我们的应用程序进行通信。这些设备有一些限制,例如它们没有显示器或点阵以显示当前配置,例如IP或MAC地址。因此,无法直接在设备上配置IP配置。配置具有无效/不匹配网络配置设置的网络设备的最佳方法?

当它们第一次连接到网络时,很有可能它们的当前网络配置与所连接的网络不匹配。

E.g.

  • 它们被配置为使用DHCP,网络不提供任何DHCP。
  • 它们配置为使用手动IP,例如192.168.1.1,子网掩码为255.255.0.0,但网络设置为使用10.XXX作为IP范围,网络掩码为255.0.0.0

我们现在想要开发一个独立的应用程序,列出连接到网络的所有设备并将IP配置更改为特定的设备(满足网络需求)。

  • 有什么需要建立设备(运行Linux)上,以便能够上面贴的东西呢?
  • 需要在客户端应用程序上设置哪些内容才能显示设备并在不匹配时重新配置它们?如果可能的话,该应用程序应该是一个.NET WPF/C#应用程序,如果需要的话,可以获得管理权限。
  • 我们无法检测到这些设备或设置新的网络设置是否有任何限制/情况?

回答

0

消除任何安全问题我会使用udp广播到255.255.255.255哪些设备会收到这些广播。当你把所有有效的子网放入有效载荷时,客户端将知道它被错误地配置并且必须作为广播回答(因为它可能在不同的子网中,并且没有任何有效的路由表,单播是不可能的)

但是请记住,这可能会导致安全问题,因为您将发布扫描所有可能对攻击者非常有趣的有效子网。

如果您知道例如所有可能的设备的Mac地址,您可能可以加密只能用正确的Mac地址加密的UDP有效负载。

0

这是DHCP,BOOTP,RARP的用途。使用DHCP和朋友来做这种事情意味着在网络上运行的设备首先能够获得有效配置的最佳机会。

如果您必须拥有自己的应用程序来管理IP配置问题,那么可以考虑在管理/服务器应用程序中使用DHCP协议。

如果您的设备不能与随机的DHCP服务器通话,那么可以考虑让它们忽略在回复中没有特定属性的响应(比特效率低,因为它可能会持续询问并可能绑定IP)或使用DHCP不同的港口...至少你不是在重新发明轮子。

使用现有的协议,有网络分析仪可以了解发生了什么事情太多,系统管理员可以调试并进行直观的猜测到问题的利益等

+0

我应详细说明:该设备将被运到我们的客户为了在他们已经建立的网络环境中工作。它可以被插入到一个DHCP环境中(一切都应该按预期工作),但是客户可能已经建立了自己的环境*而没有运行DHCP服务器,并且每个客户端都需要配置有效的IP配置,因此我们无法使用DHCP进行中继。 – ElGaucho

+0

所以......大概你要么派人到客户的网站上使用这个配置软件来配置设备或者你给他们发送软件?我仍然认为让设备做DHCP是最好的,因为除了将设备配置为DHCP之外,您必须对该设备不采取任何措施......对于管理方(您称之为客户端),您可以实施一个DHCP服务器(有代码,例如udhcpd)响应您的MAC范围或某些DHCP属性...即使在标准端口上,网络上也可能有2个DHCP服务器。 – Michael