我想编写运行在联网设备(即PC)中的软件。它可以自动检测其他网络设备的类型。例如,它可以检测到在同一网络中运行的PS3,Wii,IPad。有任何想法吗?谢谢,检测家庭网络中的所有联网设备的类型
1
A
回答
1
您有两个问题:首先检测到设备连接到您的网络,并在192.168.1.x
。其次,以某种方式检测该设备是什么。
首先是易于完成:有UPnP和Bonjour等发现协议。但是,在家庭网络场景中,获取连接设备列表的最简单和最可靠的方法可能是从您的路由器中获取DHCP预留。您可能需要从路由器的基于HTML的管理界面—刮取数据,因为这可能是—,但它会起作用。 (如果您使用的是.NET,请考虑HTML Agility Pack来完成此操作。)
一旦您拥有连接设备的IP地址列表,您的下一个问题就是要弄清楚每个设备的实际内容。这将会更具挑战性。一些可能性:
- 您可能能够使用MAC地址来帮助检测设备的供应商。 (Here's a list.)
- 如果您使用的是UPnP,则可以询问设备是什么。
- 使用IP fingerprinting来确定设备是什么。
0
夫妇的想法。广播IP地址 - 255.255.255.255是设备说话并说“我在这里”的地方。应该能够听到这个,并找到IP地址和更多。其次,如果通过DHCP客户端(显然)为设备分配IP地址,则通常可以在dhcp设备上找到列表。设备通常具有名称,这是一个更高级别的协议,例如windows SMB,您可能必须连接才能获取该信息。
相关问题
- 1. JmDNS检测Android中的网络设备
- 2. 从互联网访问家庭网络的webservice
- 3. 是否可以获取我家庭网络中所有连接设备的mac地址?
- 4. 家庭网络托管如何工作?
- 5. 家庭网络2个路由器
- 6. 检测网络服务器类型
- 7. 家庭网站CMS
- 8. 网站检测设备
- 9. 网站设备检测
- 10. 如何检查Android网络中的互联网连接(通过HOTSPOT使用其他设备的互联网)
- 11. 连接到我的网络的检测设备
- 12. Windows 10家庭版中的网络发送命令
- 13. 如何获取Java中所有网络设备的IP地址
- 14. 应用程序如何检测网络上的设备
- 15. 奇怪的网络设备
- 16. 上市网络设备的
- 17. 以编程方式检测iOS中的蜂窝网络类型
- 18. 在Java中检测所有可用网络的广播地址
- 19. 有没有可以在PHP中检测访问者国家的网络服务?
- 20. 适用于所有设备的单一网络应用程序?
- 21. 未收到Android设备的所有网络接口
- 22. Win10 IOT/UWP:如何检测网络设备(Arduino)是否可用
- 23. Linux中的虚拟网络设备
- 24. 如何使用C#在Windows中检测网络位置类型?
- 25. 如何在J2ME中检测网络类型(2G/3G)?
- 26. 在Linux中检测网络连接类型
- 27. 如何检测互联网在android热点网络连接
- 28. 如何使用MAMP Pro在家庭网络中提供本地网站?
- 29. 检测Android设备是否连接到互联网
- 30. VM:*网络类型'public_netwrok'无效。请使用有效的网络类型
什么样的想法?任何方向? – Oded 2010-10-27 18:42:37
我相信UPnP是为此而努力的方式,而且我认为这就是Windows网络屏幕的做法。虽然这不是一个微不足道的实现,但我会为初学者进行研究。 – 2010-10-27 19:07:43