значит, вытаскиваю я из сокета мак-аддресс своей сетевухи с помощью ioctl. int sock; struct ifreq ifr; struct sockaddr memset(&ifr, 0, sizeof(ifr)); sock = socket(AF_INET, SOCK_PACKET, htons(ETH_P_ARP)); strcpy(ifr.ifr_name, "eth0"); ifr.ifr_ifindex = if_nametoindex(ifr.ifr_name); ioctl(sock, SIOCGIFHWADDR, &ifr); /**************************************************/ printf("family: %d\n", ifr.ifr_hwaddr.sa_family); printf("data: %s\n", ifr.ifr_hwaddr.sa_data); /*************************************************/ так вот...прога выводит family: 1 /*т.е. ARPHRD_ETHER */ а для data нихрена невыводит, в заголовках указано, что в структуре struct sockaddr есть поле: char sa_data[14]; Вопрос: что в этой sa_data должно быть при ioctl запросе "get MAC address"
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Отправка пакетов СОКЕТами не доходит до интерфейса eth0. Wireshark видит их только на any-интерфейсе (2010)
- Форум raw socket + vlan header (2012)
- Форум Помогите разобраться с sendto (2014)
- Форум Сокеты передача сообщений между компьютерами. Помогите найти ошибку. (2012)
- Форум Помогите разобраться с потоками (2003)
- Форум Работа с сокетами в C (2010)
- Форум как использовать новое API ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API (2021)
- Форум передача данных по МАС уровню - не работает sentto() - 3 (2008)
- Форум послать ARP запрос и получить ответ. (2006)
- Форум многопоточное копирование фала через сокет (2015)