--- aircrack.c.orig 2004-10-05 22:48:29.000000000 +0300 +++ aircrack.c 2004-10-05 23:05:12.000000000 +0300 @@ -53,6 +53,7 @@ char usage[] = " -k : WEP KeyID to crack (0-3, default: 0)\n" " -n : WEP key length (5 / 13, default: 13)\n" " -p : SMP support: # of processes to start\n" +" -q : quiet mode (less print, more speed)\n" "\n"; /* command-line parameters */ @@ -61,6 +62,7 @@ int debug_lvl = 0; /* # of int bssid_set = 0; /* BSSID check flag */ int keyid_set = 0; /* KeyID check flag */ int stability = 0; /* unstable attacks on */ +int quietmode = 0; /* quiet mode */ unsigned char debug[13]; /* user-defined wepkey */ unsigned char bssid[6]; /* user-defined BSSID */ int keyid = 0; /* WEP KeyID */ @@ -302,6 +304,7 @@ void show_stats( int B ) et_m = ( delta - et_h * 3600 ) / 60; et_s = delta - et_h * 3600 - et_m * 60; + if(quietmode=1) { printf( "\33[2;%dH\33[1maircrack 1.4\33[0m\n\n", ( ws.ws_col - 12 ) / 2 ); @@ -311,14 +314,14 @@ void show_stats( int B ) printf( " * Elapsed time [%02d:%02d:%02d] | tried " "%ld keys at %ld k/m\n", et_h, et_m, et_s, tried, ( 60 * tried ) / delta ); - - printf( "\n KB depth votes\n" ); + } + if(quietmode>1) printf( "\n KB depth votes\n" ); for( i = 0; i <= B; i++ ) { int j, k = ( ws.ws_col - 20 ) / 9; - printf( " %2d %3d/%3d ", + if(quietmode>1) printf( " %2d %3d/%3d ", i, depth[i], fudge[i] ); for( j = depth[i]; j < k + depth[i]; j++ ) @@ -326,19 +329,19 @@ void show_stats( int B ) if( j >= 256 ) break; if( wpoll[i][j].votes == INFINITY ) - printf( "%02X(+inf) ", wpoll[i][j].index ); + { if(quietmode>2) printf( "%02X(+inf) ", wpoll[i][j].index ); } else - printf( "%02X(%4d) ", wpoll[i][j].index, - wpoll[i][j].votes ); + { if(quietmode>2) printf( "%02X(%4d) ", wpoll[i][j].index, + wpoll[i][j].votes ); } } - printf( "\n" ); + if(quietmode>1) printf( "\n" ); } if( B < 11 ) - printf( "\33[J" ); + if(quietmode>1) printf( "\33[J" ); - printf( "\n" ); + if(quietmode>1) printf( "\n" ); } /* each child performs the attacks over nb_ivs / nfork */ @@ -855,7 +858,7 @@ int main( int argc, char *argv[] ) while( 1 ) { - int option = getopt( argc, argv, "b:d:f:k:n:p:s:" ); + int option = getopt( argc, argv, "b:d:f:k:n:p:s:q:" ); if( option < 0 ) break; @@ -960,6 +963,16 @@ int main( int argc, char *argv[] ) break; + case 'q': + + if( sscanf( optarg, "%d", &quietmode ) != 1 ) + goto usage; + + if( quietmode < 0 || quietmode > 3 ) + goto usage; + + break; + default : goto usage; } }