2012-01-03 77 views
2

我在C#中編程,我想檢測無線網絡(Wi-Fi)中的手機(名稱,IP地址,RSSI,...)以計算後我的電腦和手機 其實之間的距離,我能夠檢測連接到相同的網絡計算機的名稱:檢測連接到無線網絡的手機 - C#

using System.DirectoryServices; 
... 

List<String> _ComputerNames = new List<String>(); 
String _ComputerSchema = "Computer"; 
DirectoryEntry _WinNTDirectoryEntries = new DirectoryEntry("WinNT:"); 
foreach (DirectoryEntry _AvailDomains in _WinNTDirectoryEntries.Children) 
{ 
    foreach (DirectoryEntry _PCNameEntry in _AvailDomains.Children) 
    { 
     if (_PCNameEntry.SchemaClassName.ToLower().Contains(_ComputerSchema.ToLower())) 
     { 
      _ComputerNames.Add(_PCNameEntry.Name); 
     } 
    } 
} 

但我無法找到我的是連接到相同的Wi-手機fi網絡。

我該如何解決這個問題? 謝謝!

+0

我不確定你是否可以通過手機進行此操作。你可以將手機註冊爲Active Directory條目嗎? – oleksii 2012-01-03 22:50:57

+0

哪個手機平臺(Android,IOS,Windows)? – 2012-01-03 22:57:11

+0

不,我試圖從不使用手機的電腦檢測手機。 – Anass 2012-01-03 23:04:34

回答

0

除非我誤會,否則只有Wi-Fi接入點本身才能訪問完整的設備列表。即使那樣,它也不知道每個設備是什麼類型。它知道每個設備的MAC地址,它可能知道它分配的IP(假設它也是DHCP服務器),但除此之外,設備可以是從筆記本電腦到電視機的任何設備。

如果你是網絡管理員,那麼我可以看到這可能是有用的 - 如果你有一個策略,只有某些設備用於連接網絡,那麼尋找「流氓」設備是有意義的。否則,我看不出任何理由嘗試和幫助你。

+0

是的,我是一名管理員,我正在爲殘疾人室內定位和指導系統進行研究,這就是爲什麼我要檢測手機的原因。 – Anass 2012-01-03 23:03:39

2

我不認爲ActiveDirectory會在這裏工作得太好,您可能需要更加密切地與接入點本身配合才能獲取RSSI值。除非有關於所有手機屬於ActiveDirectory的特定領域知識,否則就像Jean說的那樣:您只能獲得MAC地址,可能的IP地址和RSSI值。

如果您只對距離感興趣,您可能需要測試與特定設備的距離範圍,並使用RSSI距離列表來根據RSSI值爲新設備的距離加深。

你會遇到的一個問題是,你可能有一個設備的X RSSI值,另一個設備的2X RSSI值,他們可能是完全相同的距離。雖然如果你只對手機感興趣,我預計波動不會那麼嚴重。

更精確的方式來做到這將有多個接入點的設置和三角測量設備的位置有點math,這有利的一面,也讓你的距離以及方向,達位置

相關問題