From December 2015 to August 2012 would be (it's not correct, please continue reading): --start 12/2015 --end 08/2012
In CLI programs square parenthesis usually denote some optional parameters/arguments '[...]'. When I write [mm/]yyyy I mean you can write directly a year in the yyyy form, say 2015, or specify year and month, mm/yyyy (for January would be 01/2015). See the image on my post.
Now a slightly problem. If you notice I wrote '--start 12/2015 --end 08/2012', instead of '--end 12/2015 --start 08/2012'. The first would be the correct way of doing things because of how I implemented things. The program executes the bruteforce backwards (yes I could've considered --start as the end and --end as start internally). Instead I've decided to make so that those two arguments can be swapped. So '--start 12/2015 --end 08/2012' and '--end 12/2015 --start 08/2012' are identical.
In any case, the program will always assign the 1st day for the month specified (or the 1st day of the 1st year if month is not specified). This means that if you use 12/2015, it will do the bruteforce (assuming going backwards) from the 1st of December 2015. If you want to bruteforce the month of december as well you will need to specify 2016 or 01/2016 (both equivalent).
Now that I think about it, maybe it's a bit counter-intuitive and misleading. I should probably change it so that the greater date would be done from the last day of the month. For example --start 12/2015 --end 01/1970 would be:
31/12/2015 to 01/01/1970
What do you think?
Also, for how I did things, the program will complain if you specify a date in the future say --start 2017. I don't remember if it was intentional or not. However if you specify only one date (or start or end, not both) the current machine time will be used for the other:
- only --start 1970 will do from today (including seconds, minutes ...) to Epoch (0).
- only --end 1970 will do from today (including seconds, minutes ...) to Epoch (0).
Because remeber you can swap them. See --help.
[!] Unknown extra argument(s)! means you put one or more extra (unknown) argument(s) somewhere, some example would be:
- pixiewps ... -f 3 (-f doesn't accept arguments, yes I should've used -F, my bad)
- pixiewps ... --start 08 2012 (extra space, 2012 is seen as an extra argument)
- pixiewps ... random_string_that_doesnt_start_with_the_dash
Yes the latest versions on github are faster (maybe even 2x, 3x) than the ones packaged in Kali. The difference is made by some compiling optimization options I didn't add when I first released version 1.1.
Also now the choice of modes (auto, when --mode is not specified) is made by looking at the PKe (which is static for Realtek devices) and the nonce.
If you want to see what's going on under the hood compile using 'make debug', although it may break compatibility with Reaver, Bully or some 3rd party scripts so be aware.