2012-01-03 15 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

+0

どの携帯電話プラットフォーム(Android、IOS、Windows)ですか? –

+0

いいえ、私は携帯電話ではなくコンピュータから携帯電話を検出しようとしています。 – Anass

答えて

0

誤っていない限り、Wi-Fiアクセスポイントだけがデバイスの完全なリストにアクセスできます。それでも、各デバイスがどのタイプであるかはわかりません。各デバイスのMACアドレスを把握しており、割り当てられたIP(DHCPサーバーであることを前提としています)を知っている可能性がありますが、そのデバイスはラップトップからテレビに至るまで何でもかまいません。

ネットワーク管理者の方は、これがどのように役立つのか分かります。特定のデバイスだけがネットワークに接続するようなポリシーがある場合は、「不正な」デバイスを検出することは理にかなっています。そうでなければ、私はあなたにこれ以上のことをやってもらうための正当な理由は見当たりません。

+0

はい、私は管理者です。私は、なぜ身体検査を行うことを試みているのか、身体障害者向けの屋内ローカリゼーションとガイダンスシステムに取り組んでいます。 – Anass

2

ここではActiveDirectoryがうまくいくとは思っていませんが、RSSI値を取得するためにはアクセスポイント自体とより緊密に連携する必要があります。特定のドメイン知識がない限り、すべての電話がActiveDirectoryの一部となっているとJeanは言っています。MACアドレス、おそらくIPアドレスとRSSI値だけが得られます。

距離にのみ興味がある場合は、特定のデバイスで距離の範囲をテストし、RSSI値に基づいて新しいデバイスの距離を見極めるためにRSSI距離リストを使用する必要があります。

1つのデバイスにX RSSI値があり、別のデバイスに2つのRSSI値があり、まったく同じ距離になる可能性があるという問題が発生します。あなたが電話にしか興味がないのであれば、その変動はそれほど厳しくはないと思います。これを行うには

、より正確な方法は、これのプラス側はまた、場所

に相当する、あなたは距離だけでなく、方向与えている、複数のアクセスポイントを設定していると mathのビットで、デバイスの位置を三角測量することです