X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fhdw-sniff.git;a=blobdiff_plain;f=parse.h;h=9814b01b329490f8434d0db437447e3c0a49bb16;hp=ef167adf1b9b3f6d64d276fd3d68f77f47081671;hb=e70ca3ea585304a1fed7475b9a9cdface81917eb;hpb=e0585c09c6eca4aa0af0a5a658e6e711fb76d3a5 diff --git a/parse.h b/parse.h index ef167ad..9814b01 100644 --- a/parse.h +++ b/parse.h @@ -5,6 +5,12 @@ /* ieee802.11 stuff */ + +typedef unsigned long long int u64; +typedef unsigned int u32; +typedef unsigned short int u16; +typedef unsigned char u8; + #define ADDR_LEN 6 typedef struct s_frame4_hdr { @@ -41,6 +47,29 @@ typedef struct s_frame1_hdr { u16 seq_ctrl; } __attribute__ ((packed)) t_frame1_hdr; +typedef struct s_prism_val { + u32 did; + u16 status; + u16 len; + u32 data; +} __attribute__ ((packed)) t_prism_val; + +typedef struct s_prism_hdr { + u32 msg_code; + u32 msg_len; + char device[16]; + t_prism_val hosttime; + t_prism_val mactime; + t_prism_val channel; + t_prism_val rssi; + t_prism_val sq; + t_prism_val signal; + t_prism_val noise; + t_prism_val rate; + t_prism_val istx; + t_prism_val frame_len; +} __attribute__ ((packed)) t_prism_hdr; + #define FCTL_VER(X) ((X&0x0003)) #define FCTL_TYPE(X) ((X&0x000c)>>2) #define FCTL_STYPE(X) ((X&0x00f0)>>4) @@ -85,6 +114,21 @@ typedef struct s_frame1_hdr { #define FCTL_STYPE_CFPOLL 0x6 #define FCTL_STYPE_CFACKPOLL 0x7 +typedef struct s_beacon_fb { + u64 timestamp; + u16 beacon_int; + u16 cap_info; + u8 ssid_element_id; + u8 ssid_length; + u8 ssid[32]; + u8 srates_element_id; + u8 srates_element_length; + u8 rest; /* go on here ... */ +} __attribute__ ((packed)) t_beacon_fb; + +#define CAP_INFO_ESS(X) ((X&0x0001)) +#define CAP_INFO_IBSS(X) ((X&0x0002)>>1) +#define CAP_INFO_PRIVACY(X) ((X&0x0010)>>4) /* hdw-sniff stuff */ @@ -98,10 +142,15 @@ typedef struct s_sta { char ssid[MAX_SSID_LEN]; u8 ap; u8 wep; + u8 wds; int count_mgmt; int count_ctrl; int count_data; + char active; char key[WEP_MAX_DIGITS]; + int sq; + u8 snap[10]; + u8 bssid[ADDR_LEN]; } t_sta; /* function prototypes */