sirve saber que puedo puede por para mac lista hacer fabricante ejemplo dispositivo direccion con celular buscador address acceder c# networking wireless

saber - Obtenga BSSID(dirección MAC) del punto de acceso inalámbrico desde C#



puedo saber que dispositivo es con la mac (4)

¿Cómo puedo obtener la dirección BSSID / MAC (Control de acceso a medios) del punto de acceso inalámbrico al que mi sistema está conectado usando C #?

Tenga en cuenta que estoy interesado en el BSSID de WAP. Esto es diferente de la dirección MAC de la porción de red del WAP.


Acerca de obtener el resultado de ARP.EXE mediante programación:

La API de Win32 para obtener esto está en el grupo de funciones de IP Helper y se llama GetIpNetTable () . La firma de P / Invoke está aquí . Tendrá que escribir un código para ordenar los resultados, y es una de esas divertidas API de Win32 con resultados de longitud variable.

Otra forma de hacerlo sería utilizar Windows Management Instrumentation, que tiene un buen conjunto de clases de contenedor en los espacios de nombres System.Management y System.Management.Instrumentation . Pero la desventaja es que el servicio WMI debe estar ejecutándose para que funcione. He buscado pero no puedo encontrar el objeto exacto en el árbol de WMI que contiene la información equivalente. Estoy bastante seguro de que existe porque veo herramientas de terceros en la red que afirman recuperar esta información mediante esta API. Tal vez alguien más se acercará a esa parte.


using System; using System.Diagnostics; class Program { static void Main(string[] args) { Process proc = new Process(); proc.StartInfo.CreateNoWindow = true; proc.StartInfo.FileName = "cmd"; proc.StartInfo.Arguments = @"/C ""netsh wlan show networks mode=bssid | findstr BSSID """; proc.StartInfo.RedirectStandardOutput = true; proc.StartInfo.UseShellExecute = false; proc.Start(); string output = proc.StandardOutput.ReadToEnd(); proc.WaitForExit(); Console.WriteLine(output); } }

Tenga cuidado con el error de sintaxis, como llaves todo eso. Pero el concepto está aquí. Puede crear la función de escaneo invocando periódicamente este proceso. Corrígeme si algo sale mal.


Esta pregunta le dice cómo obtener la información que desea de su conexión de red. (Desplácese hacia abajo a las respuestas usando NetworkInformation)


Lo siguiente debe ser ejecutado programáticamente:

netsh wlan show networks mode=Bssid | findstr "BSSID"

Lo anterior muestra las direcciones MAC inalámbricas del punto de acceso, que es diferente de:

arp -a | findstr 192.168.1.254

Esto se debe a que el punto de acceso tiene 2 direcciones MAC. Uno para el dispositivo inalámbrico y otro para el dispositivo de red. Quiero el MAC inalámbrico pero obtengo el MAC de red usando arp .

Uso de Managed Wifi API :

var wlanClient = new WlanClient(); foreach (WlanClient.WlanInterface wlanInterface in wlanClient.Interfaces) { Wlan.WlanBssEntry[] wlanBssEntries = wlanInterface.GetNetworkBssList(); foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries) { byte[] macAddr = wlanBssEntry.dot11Bssid; var macAddrLen = (uint) macAddr.Length; var str = new string[(int) macAddrLen]; for (int i = 0; i < macAddrLen; i++) { str[i] = macAddr[i].ToString("x2"); } string mac = string.Join("", str); Console.WriteLine(mac); } }