Я пытаюсь найти MAC-адрес, используя pcap для небольшого проекта. На данный момент структура, с которой я работаю, выглядит следующим образом:
struct ethernet_header
{
u_char dhost[6];
u_char shost[6];
u_short type;
};
Вызов в коде просто выглядит как:
void get_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *packet)
{
const struct ethernet_header *ethernet;
const struct ip_header *ip;
ethernet = (struct ethernet_header *)(packet);
ip = (struct ip_header *)(packet + 16);
printf("Destination MAC: %s\n", ethernet->dhost);
}
Я получаю ошибку
error: dereferencing pointer to incomplete type
Теперь, насколько мне известно, пакет var правильно инициализируется, потому что он без проблем используется в других разделах кода. В случае структуры ip это также работает без ошибок. Я знаю, что загружается в этот конкретный адрес, я просто не могу понять, что происходит. У любого есть идеи.