Сообщение Re: получить MAC адрес активного девайса от 14.04.2017 11:41
Изменено 14.04.2017 12:16 Evgeniy Skvortsov
Re: получить MAC адрес активного девайса
Здравствуйте, niXman, Вы писали:
X>собственно, нужно узнать MAC адрес того девайса, с помощью которого машина в данный момент выходит в интернеты. девайсов же может быть несколько.
Простого способа вроде нет, только врукопашную.
1. Получаем локальный активный адрес с помощью пары gethostname() gethostbyname()
2. Получаем список всех ip адресов в системе с помощью GetIpAddrTable()
3. Получаем список всех адаптеров с помощью GetAdaptersInfo
В списке полученном из п. 2 находим запись с таким же ip который получили в п. 1
В списке полученном в п. 3 находим адаптер с нужным интерфейсом
Читаем его MAC
У меня работает, в компе встроенная сетевуха и usb wi-fi адаптер, IP и MAC показывает корректно.
В коде мрак и ужас, но это такие примеры в МСДН, да и местами я обработку ошибок выкинул. Надо конечно привести в порядок.
X>собственно, нужно узнать MAC адрес того девайса, с помощью которого машина в данный момент выходит в интернеты. девайсов же может быть несколько.
Простого способа вроде нет, только врукопашную.
1. Получаем локальный активный адрес с помощью пары gethostname() gethostbyname()
2. Получаем список всех ip адресов в системе с помощью GetIpAddrTable()
3. Получаем список всех адаптеров с помощью GetAdaptersInfo
В списке полученном из п. 2 находим запись с таким же ip который получили в п. 1
В списке полученном в п. 3 находим адаптер с нужным интерфейсом
Читаем его MAC
Насобирал на скорую руку рабочий код из примеров в МСДН | |
| |
У меня работает, в компе встроенная сетевуха и usb wi-fi адаптер, IP и MAC показывает корректно.
В коде мрак и ужас, но это такие примеры в МСДН, да и местами я обработку ошибок выкинул. Надо конечно привести в порядок.
Re: получить MAC адрес активного девайса
Здравствуйте, niXman, Вы писали:
X>собственно, нужно узнать MAC адрес того девайса, с помощью которого машина в данный момент выходит в интернеты. девайсов же может быть несколько.
Простого способа вроде нет, только врукопашную.
1. Получаем локальный активный адрес с помощью пары gethostname() gethostbyname()
2. Получаем список всех ip адресов в системе с помощью GetIpAddrTable()
3. Получаем список всех адаптеров с помощью GetAdaptersInfo
В списке полученном из п. 2 находим запись с таким же ip который получили в п. 1, запоминаем его индекс
В списке полученном в п. 3 находим адаптер с нужным индексом.
Читаем его MAC
У меня работает, в компе встроенная сетевуха и usb wi-fi адаптер, IP и MAC показывает корректно.
В коде мрак и ужас, но это такие примеры в МСДН, да и местами я обработку ошибок выкинул. Надо конечно привести в порядок.
X>собственно, нужно узнать MAC адрес того девайса, с помощью которого машина в данный момент выходит в интернеты. девайсов же может быть несколько.
Простого способа вроде нет, только врукопашную.
1. Получаем локальный активный адрес с помощью пары gethostname() gethostbyname()
2. Получаем список всех ip адресов в системе с помощью GetIpAddrTable()
3. Получаем список всех адаптеров с помощью GetAdaptersInfo
В списке полученном из п. 2 находим запись с таким же ip который получили в п. 1, запоминаем его индекс
В списке полученном в п. 3 находим адаптер с нужным индексом.
Читаем его MAC
Насобирал на скорую руку рабочий код из примеров в МСДН | |
| |
У меня работает, в компе встроенная сетевуха и usb wi-fi адаптер, IP и MAC показывает корректно.
В коде мрак и ужас, но это такие примеры в МСДН, да и местами я обработку ошибок выкинул. Надо конечно привести в порядок.