X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=main.c;h=4a878cfb80777d915815cdbf7d0d8db04fe59cde;hb=065c77e28f2f7c79e73ad1bd52cf5ad8ce3c3127;hp=699eeac021eac760d34d45012b76319eb19e5df4;hpb=e0585c09c6eca4aa0af0a5a658e6e711fb76d3a5;p=my-code%2Fhdw-sniff.git diff --git a/main.c b/main.c index 699eeac..4a878cf 100644 --- a/main.c +++ b/main.c @@ -13,21 +13,49 @@ int display_console(t_info *info,char *string) { - int x,y; + int x,y,size; t_display *display; + char help[32]; display=(t_display *)&(info->display); x=display->max_x-1; y=display->max_y-1; + size=strlen(string); + display_line(display,0,0,2,0,'-'); - display_string(display,4,0,"essid",5); - display_line(display,10,0,x,0,'-'); + display_string(display,4,0,"sta",3); + display_line(display,8,0,12,0,'-'); + + display_string(display,13,0,"bssid",5); + display_line(display,19,0,23,0,'-'); + + display_string(display,25,0,"M",1); + display_line(display,27,0,x,0,'-'); //display_line(display,0,0,0,y,'|'); //display_line(display,x,0,x,y,'|'); + /* footer */ + display_line(display,0,y-3,x,y-3,'-'); + + memset(help,0,32); + snprintf(help,32,"total: %06d",info->count); + display_string(display,3,y-2,help,13); + + memset(help,0,32); + snprintf(help,32,"management: %06d",info->count_m); + display_string(display,18,y-2,help,18); + + memset(help,0,32); + snprintf(help,32,"control: %06d",info->count_c); + display_string(display,38,y-2,help,15); + + memset(help,0,32); + snprintf(help,32,"data: %06d",info->count_d); + display_string(display,55,y-2,help,12); + display_line(display,0,y-1,x,y-1,'-'); display_draw(display); @@ -117,7 +145,8 @@ int hop_channel(t_event *event,void *ptr) { info=(t_info *)ptr; - if(info->current_channel>=CHANNEL_MAX) info->current_channel=1; + if((info->current_channel>CHANNEL_MAX)|(info->current_channel==0)) + info->current_channel=1; memset(&iwreq,0,sizeof(iwreq)); strcpy(iwreq.ifr_name,info->device); iwreq.u.freq.e=0; @@ -127,15 +156,15 @@ int hop_channel(t_event *event,void *ptr) { perror("ioctl"); return -23; } - ++(info->current_channel); - return 23; + ++(info->current_channel); + + return 23; } int main(int argc, char **argv) { t_info info; int pcap_fd; - int logfd; int i; char sys_call[MAX_SYSCALL_CHARS]; char pcap_error[PCAP_ERRBUF_SIZE]; @@ -143,12 +172,9 @@ int main(int argc, char **argv) { memset(&info,0,sizeof(t_info)); /* parse arguments */ - for(i=1;i %s\n",argv[i+1]); else puts("warning: can't write to logfile."); @@ -200,16 +226,17 @@ int main(int argc, char **argv) { puts("set monitoring mode ..."); system(sys_call); } - sprintf(sys_call,"ifconfig %s up",info.device); + sprintf(sys_call,"/sbin/ifconfig %s up",info.device); puts("setting up device ..."); system(sys_call); if(info.log_fd==0) { - if((info.log_fd=open("/tmp/hdw-sniff.log",O_RDWR|O_CREAT))!=0) - puts("using logfile /tmp/hdw-sniff.log ..."); - else { - puts("failed to open logfile ..."); - return -23; + if((info.log_fd=open("/tmp/hdw-sniff.log",O_RDWR|O_CREAT|O_APPEND))!=0) + puts("using logfile /tmp/hdw-sniff.log ..."); + else { + puts("failed to open logfile ..."); + return -23; + } } /* pcap */ @@ -252,5 +279,4 @@ int main(int argc, char **argv) { puts("bugreports: hackbard@hackdaworld.org"); return 23; - }