(i==15?"|\n":"|"));
printf(" | v | t | s-t |t|f|m|r|p|m|w|o|\n");
/* frame type */
- if((w_hdr->frame_ctl & IEEE802_11_STYPE_BEACON)>0)
- strcpy(tmp_buf,"beacon");
- else if((w_hdr->frame_ctl & IEEE802_11_STYPE_ATIM)>0)
- strcpy(tmp_buf,"announcement traffic indication message");
- else if((w_hdr->frame_ctl & IEEE802_11_STYPE_DISASSOC)>0)
- strcpy(tmp_buf,"disassociation");
- else if((w_hdr->frame_ctl & IEEE802_11_STYPE_AUTH)>0)
- strcpy(tmp_buf,"authentification");
- else if((w_hdr->frame_ctl & IEEE802_11_STYPE_DEAUTH)>0)
- strcpy(tmp_buf,"deauthentification");
- else if((w_hdr->frame_ctl & IEEE802_11_STYPE_ASSOC_REQ)>0)
+ /* management */
+ if(!(w_hdr->frame_ctl & 0x0c)) {
+ if((w_hdr->frame_ctl & IEEE802_11_STYPE_ASSOC_REQ)>0)
strcpy(tmp_buf,"association request");
else if((w_hdr->frame_ctl & IEEE802_11_STYPE_ASSOC_RESP)>0)
strcpy(tmp_buf,"association response");
strcpy(tmp_buf,"probe request");
else if((w_hdr->frame_ctl & IEEE802_11_STYPE_PROBE_RESP)>0)
strcpy(tmp_buf,"probe response");
- else strcpy(tmp_buf,"unknown yet!");
+ else if((w_hdr->frame_ctl & IEEE802_11_STYPE_BEACON)>0)
+ strcpy(tmp_buf,"beacon");
+ else if((w_hdr->frame_ctl & IEEE802_11_STYPE_ATIM)>0)
+ strcpy(tmp_buf,"announcement traffic indication message");
+ else if((w_hdr->frame_ctl & IEEE802_11_STYPE_DISASSOC)>0)
+ strcpy(tmp_buf,"disassociation");
+ else if((w_hdr->frame_ctl & IEEE802_11_STYPE_AUTH)>0)
+ strcpy(tmp_buf,"authentification");
+ else if((w_hdr->frame_ctl & IEEE802_11_STYPE_DEAUTH)>0)
+ strcpy(tmp_buf,"deauthentification");
+ else strcpy(tmp_buf,"impossible situation \%) - go mail the author.");
+ }
+ else strcpy(tmp_buf,"control & monitor frame types not supported yet");
/* print out frame type */
printf("=> %s\n",tmp_buf);