2009-05-27 5 views

答えて

10

C#の場合は、Windows XP SP2以降で提供されているNative Wifi APIのラッパーであるManaged Wifi APIを参照してください。

このコードはテストされていませんが、Managed Wifi APIのサンプルコードでは、使用可能なSSIDが一覧表示されます。

WlanClient client = new WlanClient(); 
foreach (WlanClient.WlanInterface wlanIface in client.Interfaces) 
{ 
    // Lists all available networks 
    Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList(0); 
    foreach (Wlan.WlanAvailableNetwork network in networks) 
    {      
     Console.WriteLine("Found network with SSID {0}.", GetStringForSSID(network.dot11Ssid)); 
    } 
} 

static string GetStringForSSID(Wlan.Dot11Ssid ssid) 
{ 
    return Encoding.ASCII.GetString(ssid.SSID, 0, (int) ssid.SSIDLength); 
} 
0

さて、あなたは私がジャンTourrilhesさん(http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html)でLinux用の無線ツールを提案しますLinuxの場合、そのOSを指定しませんでした。 iwlist()コマンドは、使用可能なネットワークに関する多くの情報を表示します。ソースコードはC言語で書かれています。別の方法として、C言語でlibpcapを使用してビーコンフレームをキャプチャし、そこからSSIDを抽出する(モニタモードのみ)独自のコードを記述します。私はスニッフィングコードをまだテストしていないので、ここには貼り付けませんが、それはかなり簡単です。

+0

Windows XP +を指定する質問が更新されました。 –

1
ArrayList<String>ssids=new ArrayList<String>(); 
ArrayList<String>signals=new ArrayList<String>(); 
ProcessBuilder builder = new ProcessBuilder(
     "cmd.exe", "/c", "netsh wlan show all"); 
builder.redirectErrorStream(true); 
Process p = builder.start(); 
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream())); 
String line; 
while (true) { 
    line = r.readLine(); 
    if (line.contains("SSID")||line.contains("Signal")){ 
     if(!line.contains("BSSID")) 
      if(line.contains("SSID")&&!line.contains("name")&&!line.contains("SSIDs")) 
      { 
       line=line.substring(8); 
       ssids.add(line); 

      } 
      if(line.contains("Signal")) 
      { 
       line=line.substring(30); 
       signals.add(line); 

      } 

      if(signals.size()==7) 
      { 
       break; 
      } 

    } 

} 
for (int i=1;i<ssids.size();i++) 
{ 
    System.out.println("SSID name == "+ssids.get(i)+" and its signal == "+signals.get(i) ); 
} 
+0

私たちはこの方法以外は何もしていないようです –

関連する問題