检测家庭网络中所有联网设备的类型

时间:2010-10-27 18:37:23

标签: networking

我想写一个在网络设备上运行的软件,即PC。它可以自动检测其他网络设备的类型。例如,它可以检测到在同一网络中运行的PS3,Wii和IPad。有任何想法吗?谢谢,

2 个答案:

答案 0 :(得分:1)

您有两个问题:首先,检测到设备已连接到您的网络和192.168.1.x。其次,以某种方式检测设备是什么。

第一个很容易实现:有UPnP和Bonjour等发现协议。但是,在家庭网络方案中,获取连接设备列表的最简单,最可靠的方法可能是从路由器中提取DHCP预留。您可能必须从路由器的基于HTML的管理界面中抓取数据 - 这可能是 - 但它会起作用。 (如果您使用的是.NET,请考虑使用HTML Agility Pack来完成此操作。)

一旦你有连接设备的IP地址列表,你的下一个问题就是找出每个设备实际上是什么。这将更具挑战性。一些可能性:

  • 您可以使用MAC地址来帮助检测设备的供应商。 (Here's a list.
  • 如果您正在使用UPnP,您可以询问设备它是什么。
  • 使用IP fingerprinting确定设备是什么。

答案 1 :(得分:0)

几个想法。广播IP地址 - 255.255.255.255是设备说话并说“我在这里”的地方。应该能够听到这个并找到ip地址等等。其次,如果设备被DHCP客户端(显然)分配了IP地址,通常可以在dhcp设备上找到列表。设备通常具有名称,这是一个更高级别的协议,如Windows SMB,您可能必须与之接口才能获取该信息。