Получите BSSID (MAC-адрес) точки беспроводного доступа от C#

Вы никогда не модифицируете f. Однако в вашем коде много других проблем.

def roll():
f = 0
arry = []
count = 0
while count is not 100:
    numb = randint(1,6)
    if numb is 1 or 2: # this will always be true
        f -= 1
    elif numb is 3 or 4 or 5:
        f += 1
    else:
        f += randint(1,6)
    count=count+1
    arry.append(f)
return arry
def roll():
f = 0
arry = []
count = 0
while count is not 100:
    numb = randint(1,6)
    if numb in (1, 2):
        f -= 1
    elif numb in (3, 4, 5):
        f += 1
    else:
        f += randint(1,6)
    count=count+1
    arry.append(f)
return arry
12
задан Iain 9 October 2008 в 16:43
поделиться

3 ответа

Следующие потребности, которые будут выполняться программно:

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

Вышеупомянутые шоу беспроводные MAC-адреса точки доступа, который отличается от:

arp -a | findstr 192.168.1.254

Это вызвано тем, что точка доступа имеет 2 MAC-адреса. Один для беспроводного устройства и один для сетевого устройства. Я хочу беспроводной MAC, но получаю сетевой MAC с помощью arp.

Использование управляемого Wi-Fi 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);
    }
}
21
ответ дан 2 December 2019 в 05:16
поделиться

Этот вопрос говорит, как получить любой бит информации, которую Вы хотите из своего сетевого соединения. (Прокрутите вниз к использованию ответов NetworkInformation),

3
ответ дан 2 December 2019 в 05:16
поделиться

О получении того результата ARP.EXE программно:

API Win32 для получения этого находится в группе Помощника IP функций, и это называют GetIpNetTable (). Подпись P/Invoke для него здесь. Необходимо будет написать некоторый код для маршалинга результатов из него и его из тех забавных API Win32 с результатами переменной длины.

Другой способ сделать это должно было бы использовать инструментарий управления Windows, который действительно имеет хороший набор классов обертки в Системе. Управление и Система. Управление. Пространства имен инструментария. Но вниз сторона является сервисом WMI, должен работать за этим для работы. Я вырыл вокруг, но я, может казаться, не нахожу точный объект в дереве WMI, которое содержит эквивалентную информацию. Я вполне уверен, это существует, потому что я вижу сторонние программы в сети, которые утверждают, что получили эту информацию с помощью этого API. Возможно, кто-то еще согласится с той частью.

2
ответ дан 2 December 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: