X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=hdw-sniff.c;h=fc67686898c7166950aa6dd017d2fd048711e3c5;hb=a813728bc725a4dbf1adc72b1336c395cce4b5fb;hp=6ba9c829bb1b0ce8d539456ae608ffad61328a0a;hpb=14af14446a79ff647bc7270d5382fd1d4d98f2cf;p=my-code%2Fhdw-sniff.git diff --git a/hdw-sniff.c b/hdw-sniff.c index 6ba9c82..fc67686 100644 --- a/hdw-sniff.c +++ b/hdw-sniff.c @@ -167,17 +167,9 @@ void pcap_process(u_char *info,const struct pcap_pkthdr *pcap_header, (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"); @@ -189,7 +181,19 @@ void pcap_process(u_char *info,const struct pcap_pkthdr *pcap_header, 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); @@ -224,16 +228,16 @@ void pcap_process(u_char *info,const struct pcap_pkthdr *pcap_header, printf("service = %x ",ntohs(ip_hdr->tos)); printf("total_length(dec.) = %d \n",ntohs(ip_hdr->tot_len)); printf("source_ip: "); - for(i=3;i>=0;--i) { + for(i=0;i<=3;++i) { printf("%d%s", - ip_hdr->saddr&0xff<saddr&(0xff<<(8*i)))>>(8*i), + (i==3?"\n":".")); } printf("destination_ip: "); - for(i=3;i>=0;--i) { + for(i=0;i<=3;++i) { printf("%d%s", - ip_hdr->daddr&0xff<daddr&(0xff<<(8*i)))>>(8*i), + (i==3?"\n":".")); } printf("ip_id = %x ",ntohs(ip_hdr->id)); printf("ip_offset = %x \n",ntohs(ip_hdr->frag_off));