X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fhdw-sniff.git;a=blobdiff_plain;f=parse.c;h=151c9f52038955d066f4d57d14d9527d9cffef9c;hp=f18ba98810a4bba628920170dc8f59428c4e1ef9;hb=48833c4a97516456062f2ee1d9839aa15e74f929;hpb=2f4d587726a2e52de5cd8b8954b4a4f79a5267b8 diff --git a/parse.c b/parse.c index f18ba98..151c9f5 100644 --- a/parse.c +++ b/parse.c @@ -46,12 +46,15 @@ void parse_package(unsigned char *ptr,const struct pcap_pkthdr *pcap_header,cons t_beacon_fb *beacon_fb; int ret; char string[MESSAGE_MAX]; + char sc[MAX_SYSCALL_CHARS]; + unsigned char new; info=(t_info *)ptr; info->count++; memset(&new_sta,0,sizeof(t_sta)); + new=0; if(info->dump_fd!=0) { ret=write(info->dump_fd,pcap_header,sizeof(struct pcap_pkthdr)); @@ -80,6 +83,7 @@ void parse_package(unsigned char *ptr,const struct pcap_pkthdr *pcap_header,cons if((ret==L_EMPTY_LIST)|(ret==L_NO_SUCH_ELEMENT)) { list_add_element(&(info->sniffed_sta),&new_sta,sizeof(t_sta)); sta=(t_sta *)info->sniffed_sta.current->data; + new=1; } else sta=(t_sta *)info->sniffed_sta.current->data; // fill in stuff ... @@ -95,6 +99,15 @@ void parse_package(unsigned char *ptr,const struct pcap_pkthdr *pcap_header,cons (i==ADDR_LEN-1)?'.':':'); string[22+3*ADDR_LEN+1]=0; display_console(info,string); + if(new) { + snprintf(sc,MAX_SYSCALL_CHARS, + "flite 'access point found: %s'", + sta->ssid); + system(sc); + if(sta->wep&WEP) strncpy(sc,"flite ' crypted'",MAX_SYSCALL_CHARS); + else strncpy(sc,"flite 'not crypted'",MAX_SYSCALL_CHARS); + system(sc); + } } }