Если вы используете Windows, вам следует использовать tcpdump , для этого есть несколько заголовков.
ether.h
, ip.h
, udp.h
и tcp.h
И еще, я пытался использовать ethhdr
, но это неправильно, очевидно, эта структура для Linux.
Используйте это для Windows:
/*
* Structure of an Ethernet header.
*/
struct ether_header {
uint8_t ether_dhost[ETHER_ADDR_LEN];
uint8_t ether_shost[ETHER_ADDR_LEN];
uint16_t ether_length_type;
};