Я пытаюсь найти 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
Теперь, насколько я знаю, переменная пакета инициализируется правильно, потому что она без проблем используется в других частях кода. В случае со структурой ip это тоже работает без ошибок. Я знаю, что загружается на этот конкретный адрес, я просто не могу понять, что происходит. У кого какие идеи.