X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fhdw-sniff.git;a=blobdiff_plain;f=parse.h;h=384e65c36e99273151f406732a8c83b032a0e0eb;hp=a65783323a23596ca349df339bbddb9d770cdcbd;hb=c189dbc1ce419a70c8a91ba275dbdf57c4de2ec6;hpb=04773ef6afbd043429d526ca375e5caba1294c99 diff --git a/parse.h b/parse.h index a657833..384e65c 100644 --- a/parse.h +++ b/parse.h @@ -6,6 +6,7 @@ /* ieee802.11 stuff */ +typedef unsigned long long int u64; typedef unsigned int u32; typedef unsigned short int u16; typedef unsigned char u8; @@ -46,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) @@ -59,8 +83,8 @@ typedef struct s_frame1_hdr { #define FCTL_ORDER(X) ((X&0x800)>>15) #define FCTL_TYPE_MGMT 0 -#define FCTL_TYPE_CTRL 1 -#define FCTL_TYPE_DATA 2 +#define FCTL_TYPE_CTRL 2 +#define FCTL_TYPE_DATA 1 #define FCTL_STYPE_ASSOC_REQ 0x0 #define FCTL_STYPE_ASSOC_RESP 0x1 @@ -90,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 */ @@ -106,7 +145,9 @@ typedef struct s_sta { int count_mgmt; int count_ctrl; int count_data; + char active; char key[WEP_MAX_DIGITS]; + int sq; } t_sta; /* function prototypes */