LINUX.ORG.RU

Как получить маки сетевух ?

 ,


0

1

Подскажите как на офтопике получить маки сетевух через библиотеку pcap ?

     pcap_if_t * d;
     pcap_if_t * alldevs;
     char errbuf[PCAP_ERRBUF_SIZE];
     pcap_findalldevs(&alldevs, errbuf);
   
         for (d = alldevs; d != NULL; d = d -> next)
         {
                OutputDebugString(AnsiString().sprintf("info description %s",d->description).c_str());


         }
     

Пробую так, есть название из description, а откуда там mac вытащить ?



Последнее исправление: user2132 (всего исправлений: 1)

Ответ на: комментарий от user2132

не подскажу, читай документацию, там всё есть

Harald ★★★★★
()
Ответ на: комментарий от user2132

Это IP адрес, MAC оттуда не вытащить

anonymous
()

pcap это кэпчаринг пакетов. Если нужно mac адреса входящих/исходящих пакетов смотреть, то нужно парсить ethernet фрейм.

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

У меня девайс, которому нужно послать сырой пакет с мак адресом отправителя, я хочу определить мак адреса моих сетевух перед посылкой ему пакета.

user2132
() автор топика
Ответ на: комментарий от user2132

вытащи из реестра… windows жеж… лол,

по крайне мере когда мне под виндой нужн было поменять МАС проблем это не вызвало вдруг.

anonymous2 ★★★★★
()
Ответ на: комментарий от user2132

Используй ioctl command SIOCGIFHWADDR

void getMacAddress(char * uc_Mac)
{
   	 int fd;
	
	struct ifreq ifr;
	char *iface = "eth0";
	char *mac;
	
	fd = socket(AF_INET, SOCK_DGRAM, 0);

	ifr.ifr_addr.sa_family = AF_INET;
	strncpy((char *)ifr.ifr_name , (const char *)iface , IFNAMSIZ-1);

	ioctl(fd, SIOCGIFHWADDR, &ifr);

	close(fd);
	
	mac = (char *)ifr.ifr_hwaddr.sa_data;
	
	//display mac address
	sprintf((char *)uc_Mac,(const char *)"%.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n" , mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
	
}

int main()
{
	char mac[32]={0};

	getMacAddress (mac);

	cout<<endl<<"Mac Address : "<<mac;
	return 0;
}

Lzzz
()
Ответ на: комментарий от user2132

Тогда тебе лучше узнать на форумах про Windows или SO. Думаю ты справишься.

xpahos ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.