2011-11-30 86 views
1

我已連接到WLAN,並且還連接了特殊的硬件設備。我通過套接字與設備通信,因爲我知道它的IP。爲連接的網絡設備獲取唯一的標識

是否有一種方法是通過ID來識別網絡中的硬件設備?我發現在Java中無法獲得連接設備的MAC地址。還有其他的選擇嗎?

感謝, 問候

+0

您聲明您已經知道該設備的IP。你需要什麼進一步的鑑定?請澄清。 – NPE

+0

設備IP不是唯一的。問題在於程序保存了ips。如果不同的設備連接並且具有與我的設備相同的IP,那麼我必須能夠區分它們。 – softwaresupply

+0

您是否可以控制在設備上運行的軟件? – NPE

回答

2

Mac地址應該是唯一的。也許你可以從ARP表中獲得所需的信息。 命令「arp -a」適用於Windows和Linux。

但有一個問題:

  1. 這是不可移植的方式
  2. ARP表是相當變數
  3. 如果設備在路由器後面,那麼這是行不通的。
+0

謝謝,在Java中解析控制檯就可以了! – softwaresupply

0

如果你沒有設備的響應的任何控制,而且設備不包含任何識別API調用,這樣,那麼就使用IP地址,並該IP通過路由器靜態分配給該設備。然後,您可以創建您自己的IP < - >設備列表,甚至可以將IP表從您的路由器中刪除。

想一想,你可能會以同樣的方式獲得MAC地址 - 從你的路由器的配置屏幕上刮掉DHCP表。

+0

如上所述,IP不是唯一的,因爲設備並不總是具有相同的IP - 例如在設備重新連接之後,甚至在另一個路由器網絡中。我想在運行時找到Java中唯一的設備標識。 – softwaresupply

+0

那麼我假設你無法訪問這個網絡中的路由器?如果您無法控制設備及其應用程序,並且沒有發送任何可識別的信息,並且它沒有識別API,並且它如何查詢您的應用程序沒有獨特的特徵,那麼您運氣不好。 –

+0

在某些情況下,可能會在路由器上進行控制。但無論如何,應用程序應確定運行時的MAC地址/ ID。 – softwaresupply