2010-10-27 70 views
1

我想編寫運行在聯網設備(即PC)中的軟件。它可以自動檢測其他網絡設備的類型。例如,它可以檢測到在同一網絡中運行的PS3,Wii,IPad。有任何想法嗎?謝謝,檢測家庭網絡中的所有聯網設備的類型

+0

什麼樣的想法?任何方向? – Oded 2010-10-27 18:42:37

+0

我相信UPnP是爲此而努力的方式,而且我認爲這就是Windows網絡屏幕的做法。雖然這不是一個微不足道的實現,但我會爲初學者進行研究。 – 2010-10-27 19:07:43

回答

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,您可能必須連接才能獲取該信息。