Я использую код из Вот для 802.11 сниффинг в режиме монитора.
#define ETH_HEADER_SIZE 14
#define AVS_HEADER_SIZE 64 /* AVS capture header size */
#define DATA_80211_FRAME_SIZE 24 /* header for 802.11 data packet */
#define LLC_HEADER_SIZE 8 /* LLC frame for encapsulation */
/* SNAP LLC header format */
struct snap_header
{
u_int8_t dsap;
u_int8_t ssap;
u_int8_t ctl;
u_int16_t org;
u_int8_t org2;
u_int16_t ether_type; /* ethernet type */
} __attribute__ ((__packed_ _));
Я не совсем эксперт по C ++, и я получаю эту ошибку:
error: expected ‘)’ before ‘_’ warning: ‘__packed_’ attribute
directive ignored [-Wattributes] } __attribute__ ((__packed_ _));
Страница, на которой вы получили этот код, добавила несколько фиктивных пробелов в __attribute__ ((__packed__))
декларация. Так должно быть именно так как я там написал, без пробелов между подчеркиваниями.