--- src/wpsmon.c.orig 2016-12-21 07:56:51.000000000 +0800 +++ src/wpsmon.c 2016-12-21 08:01:59.583731228 +0800 @@ -94,10 +94,10 @@ int source = INTERFACE, ret_val = EXIT_FAILURE; struct bpf_program bpf = { 0 }; char *out_file = NULL, *last_optarg = NULL, *target = NULL, *bssid = NULL; - char *short_options = "i:c:n:o:b:5sfuCDhPga"; + char *short_options = "i:c:n:o:b:5sfuCFDhPga"; struct option long_options[] = { - { "get-chipset", no_argument, NULL, 'g' }, - { "output-piped", no_argument, NULL, 'P' }, + { "get-chipset", no_argument, NULL, 'g' }, + { "output-piped", no_argument, NULL, 'P' }, { "bssid", required_argument, NULL, 'b' }, { "interface", required_argument, NULL, 'i' }, { "channel", required_argument, NULL, 'c' }, @@ -105,7 +105,8 @@ { "probes", required_argument, NULL, 'n' }, { "daemonize", no_argument, NULL, 'D' }, { "file", no_argument, NULL, 'f' }, - { "announce-fcs", no_argument, NULL, 'C' }, //mod by flatr0ze + { 0, 0, NULL, 'C' }, + { "announce-fcs", no_argument, NULL, 'F' }, //mod by flatr0ze { "5ghz", no_argument, NULL, '5' }, { "scan", no_argument, NULL, 's' }, { "survey", no_argument, NULL, 'u' }, @@ -164,6 +165,8 @@ mode = SURVEY; break; case 'C': + break; + case 'F': set_validate_fcs(1); //mod by flatr0ze break; case 'D': @@ -624,7 +624,7 @@ fprintf(stderr, "\t-o, --out-file= Write data to file\n"); fprintf(stderr, "\t-n, --probes= Maximum number of probes to send to each AP in scan mode [%d]\n", DEFAULT_MAX_NUM_PROBES); fprintf(stderr, "\t-D, --daemonize Daemonize wash\n"); - fprintf(stderr, "\t-C, --announce-fcs Ignore frame checksum errors\n"); //mod by flatr0ze + fprintf(stderr, "\t-F, --announce-fcs Do not ignore frame checksum errors\n"); //mod by flatr0ze fprintf(stderr, "\t-5, --5ghz Use 5GHz 802.11 channels\n"); fprintf(stderr, "\t-s, --scan Use scan mode\n"); fprintf(stderr, "\t-u, --survey Use survey mode [default]\n");