¿Existe un paquete de herramientas/paquete que pueda usar para buscar una lista de redes inalámbricas (SSID) disponibles en Java, C# o C para Windows XP +? Cualquier código de muestra sería apreciado.¿Cómo encontrar una lista de redes inalámbricas (SSID) en Java, C# y/o C?
Respuesta
Para C#, eche un vistazo a Managed Wifi API, que es un contenedor para el Native Wifi API provisto con Windows XP SP2 y posterior.
No he probado este código, pero al ver el código de muestra de Managed Wifi API, esto debería enumerar los SSID disponibles.
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);
}
Bueno, no se especificó el sistema operativo por lo que, para Linux Sugeriré Herramientas inalámbricas para Linux por Jean Tourrilhes (http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html). El comando iwlist() muestra mucha información sobre las redes disponibles. El código fuente está en C. Otra forma es escribir su propio código en C usando libpcap para capturar las tramas de baliza y extraer SSID de ellas (solo en modo monitor). Todavía no he probado mi código de olfateo, así que no lo pegaré aquí, pero es un trabajo bastante simple.
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) );
}
parece que no tenemos ninguna manera, excepto de esta manera –
- 1. iOS API detectar redes inalámbricas
- 2. Uso de C# o Powershell para escanear todas las redes inalámbricas disponibles y conectar a un SSID específico
- 3. ¿Cómo puedo obtener una lista de redes inalámbricas disponibles en Linux?
- 4. Conectar Android a dos redes inalámbricas simultáneamente
- 5. Rendimiento en C++/Java para redes neuronales?
- 6. ¿Cómo explora el comando iwlist() las redes inalámbricas?
- 7. RBF Redes neuronales C#
- 8. Encontrar combinaciones de una lista agrupada usando LINQ en C#
- 9. Encontrar un elemento en una lista <> con C#
- 10. ¿Cómo inicio la configuración directamente en la página de Conexiones inalámbricas y redes?
- 11. Redes de Objective-C: ¿mejores prácticas?
- 12. Administración de la conexión de red inalámbrica en C#
- 13. Cómo buscar una lista en C#
- 14. Cómo ordenar una lista en C#
- 15. ¿Cómo vaciar una lista en C#?
- 16. ¿Cómo podría crear una lista en C++?
- 17. ¿Cómo trunco una lista en C#?
- 18. ¿Cómo pasar una lista de objetos de C++ a C#?
- 19. Interfaz de lista: de Java a C#
- 20. ¿Dónde encontrar una revisión rápida de Java y/o C++?
- 21. Ordenando una lista de objetos en C#
- 22. ¿Hay una buena biblioteca de redes Java?
- 23. iPhone: cómo conectarse automáticamente a un SSID wifi conocido?
- 24. Inicialización de una lista genérica en C#
- 25. Una matriz de lista en C#
- 26. Filtrar una lista por otra lista de C#
- 27. Almacenar una lista de métodos en C#
- 28. Redes con omisión de Kernel en Java
- 29. Crear una lista de listas en C#
- 30. Downcasting una lista de objetos en C#
He actualizado la pregunta para especificar Windows XP +. –