2015-07-01 205 views
4

我想盡可能多地瞭解網絡上的物聯網設備。我看過代碼來枚舉設備,找到IP地址和MAC地址,但我還能找到什麼?特別是,我想知道什麼是燈,更重要的是,製造商是什麼。發現網絡上的物聯網設備

我一直在尋找IoTivity和AllJoyn的一些文檔以及各種零配置協議。據我所知,這些東西更關心的是暴露的服務,而不是設備的內容。

我誤解了嗎?有什麼方法可以繪製出本地網絡,並確切知道每個設備是什麼?

+0

這與常規網絡掃描沒有任何區別,目的是列出本地網絡上或任意IP範圍內的所有IP尋址設備。這可能會被ISP或網絡管理員禁止。 –

+0

我真的在談論家庭網絡,所以真的不應該有任何阻止你這樣做的事情。是的,這是一個常規的網絡掃描,很容易獲得像IP地址這樣的信息。我的興趣是如何獲得有關設備的更多詳細信息。 –

回答

2

AllJoyn提供About Announcement服務,通過它,你可以讓你在找什麼:

  • 應用程序和設備友好名稱
  • 製造商,型號,版本,說明
  • 支持的語言
  • 應用程序圖標
  • 支持的對象和接口
  • ...
+0

好的,這就是我要找的。所以在我看來,我在網絡上找到的每一臺設備都可以查詢這些信息。 *如果*該設備支持AllJoyn,那麼我免費。這是正確的嗎?還有其他協議可以檢查嗎?我也知道HNAP,但這似乎是一個古老的協議,主要是路由器。 –

+0

我不知道HNAP。所以,在這方面我對你毫無用處。關於AllJoyn,是的,你是對的。正如上面提到的鏈接中所述,AllJoyn設備提供的服務可以使用「關於公告服務」自行發佈。 AllJoyn客戶端設備可以通過監聽關於公告服務來發現AllJoyn服務器設備。一旦他們發現了足夠的服務,他們就可以連接到它。 值得注意的是,AllJoyn提供了[其他有價值的服務](https://allseenalliance.org/developers/learn/base-services),可以輕鬆整合鄰近的設備。 – Younes

+0

HNAP是一個由Linksys購買的公司開發的約15年前的協議。它使得識別網絡上的設備變得非常容易,並且給了我想要的東西,但實際上並沒有太多用處。 –

0

首先查看DPWS(用於Web服務的設備配置文件)。這是我們服務標準(例如,WSDL或SOAP)的一個子集,它允許與運行在嵌入式設備上的Web服務進行最小限度的交互。通常交換的消息,而使用這樣的服務包含可以告知您的元數據:

  1. 範圍 - 信息有關設備(例如,製造商 - 用於組織根據基團(例如,位置)
  2. 模型和設備屬性)
  3. 類型 - 消息,該設備可以發送(例如,關閉)

要使用你需要一個控制層,其提供了一定的抽象到這些設備這些設備。這個層被稱爲中間件。我建議你看看SOCRADES。這是一個歐盟項目,我相信他們的源代碼應該放在他們的專用網站上。

我提到SOCRADES,因爲它具有可以強制網絡安裝的功能。可以使用DPWS配置文件在這些設備上安裝新服務,並假設它們具有某些通信和計算功能。

其他中間件的例子有:OpenIot,Choreos,Ubiware等。所有這些中間件都是開源的。現在,在這些中間件的基礎上構建應用程序。這是你想用這些設備做什麼。

+0

DPWS是否提供發現服務?例如,假設我正在建造一個智能家居,我想用我的智能手機來控制我的電視。有沒有一種安全的方式可以讓我的智能手機識別出電視機(一旦離我10米遠)可以打開和關閉? – Younes

+0

DPWS通過提供元數據來幫助進行服務發現,以便用戶或其他設備可以發現設備及其功能。通常,中間件提供執行服務發現的組件。 – Andrei

+0

如果我現在或五年後看一個家庭中的典型網絡,是否會有任何設備正在使用該服務? –

0

uPnP是當今相當普遍的協議,並在相當多的設備(即打印機)中實現。這也用於一些現代物聯網項目。它也支持設備描述。看到一個例子:

<?xml version='1.0'?> 
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11"> 
<specVersion> 
    <major>1</major> 
    <minor>0</minor> 
</specVersion> 
<device> 
    <pnpx:X_deviceCategory>MediaDevices</pnpx:X_deviceCategory> 
    <deviceType>urn:schemas-microsoft-com:device:MediaCenterExtenderMFD:1</deviceType> 
    <friendlyName>Xbox 360 Media Center Extender</friendlyName> 
    <manufacturer>Microsoft Corporation</manufacturer> 
    <manufacturerURL>http://www.xbox.com/</manufacturerURL> 
    <modelDescription>Xbox 360 Media Center Extender</modelDescription> 
    <modelName>Xbox 360</modelName> 
    <modelNumber></modelNumber> 
    <modelURL>http://go.microsoft.com/fwlink/?LinkID=53081</modelURL> 
    <serialNumber></serialNumber> 
    <UDN>uuid:10000000-0000-0000-0200-00125A702E78</UDN> 
    <UPC></UPC> 
    <iconList> 
     ... 
    </iconList> 
    <serviceList> 
     ... 
    </serviceList> 
</device> 
</root>