Всем привет. Подскажите пожалуйста. Есть ли готовая функция в с/с++ или Qt, которая возвращает mac адрес по ip ?
Функции работы с сетью с/с++
для локальных интерфейсов в Qt есть QNetworkInterface::hardwareAddress().
на си отдельного низкоуровневого примитива, вроде, нет и способ это сделать системно-зависим.
для удалённых - хз как...
ifconfig вроде умеет mac сообщать, может из его исходников можно позаимствовать, если на Си?..
Ну и вот ещё - http://stackoverflow.com/questions/1779715/how-to-get-mac-address-of-your-machine-using-a-c-program
Правда, не кроссплатформенно, да.
ifconfig вроде умеет mac сообщать, может из его исходников можно позаимствовать, если на Си?..
Получить свой mac не особо трудно. Хотелось бы узнать как получить mac удаленной машины ?
Может поковырять arping?
Может поковырять arping?
Эта утилита работает по принципу ping. Создается соккет принимающий arp reply и соккет отправляющий arp Request. Довольно громоздкая конструкция, но наверно это единственный выход. Спасибо буду рыть в этом направлении.
Эта утилита работает по принципу ping. Создается соккет принимающий arp reply и соккет отправляющий arp Request. Довольно громоздкая конструкция, но наверно это единственный выход. Спасибо буду рыть в этом направлении.
для пакетного сокета нужен root...
как «правильно» запросить ресолв адреса я не скажу, но можно просто попытаться подключиться на любой порт, а потом достать данные откуда-то из /proc/net/arp или ещё-откуда...
для пакетного сокета нужен root...
Владелец root и право выполнения c uid
но можно просто попытаться подключиться на любой порт, а потом достать данные откуда-то из /proc/net/arp
пожалуй это намного проще. Завтра попробую так сделать
а ещё man 7 arp почитать стоит... там тоже есть пара интересных ioctl'ов...