RealEnder / dwpa

Distributed WPA PSK auditor
https://wpa-sec.stanev.org
GNU General Public License v3.0
310 stars 71 forks source link

Make a queues + buffer: higher priority for PMKID (WPA*01), if not found proceed WPA*02 as a last option #117

Open FFAMax opened 1 day ago

FFAMax commented 1 day ago

Hi, Alex. Noticed, that for WPA*01 to proceed one dict may take 10 seconds, while for WPA*02 it may take 20-35 with the same dict. The idea is: If we have a lot of tasks waiting for workers, good to put them in separate queues, one for WPA*01, another one for WPA*02. Regardless of the queue, delay them for avg time (hkey.first_task_taken - hkey.submission_time) to collect more samples in case will have further submissions.

When time to assign a task, select (regardless of submission time)

Delay WPA*02 until all WPA*01 networks processed. This may save 100-125% resources by picking first less time consuming WPA*01.

P.S. even we have a lot of workers, good to optimize process to save energy :)

FFAMax commented 1 day ago

If run in bulk, setup #2 (RTX 4090):

time hashcat --status --status-timer 60 -m 22000 hashes_not_found.clear.wpa01.100 hashcat/wp_de.txt.gz

Speed.#1.........:  1868.1 kH/s (0.58ms) @ Accel:16 Loops:128 Thr:256 Vec:1
Started: Sun Nov 17 03:27:25 2024
Stopped: Sun Nov 17 03:32:07 2024

real    4m42.194s
user    0m8.463s
sys 0m5.515s
time hashcat --status --status-timer 60 -m 22000 hashes_not_found.clear.wpa02.100 hashcat/wp_de.txt.gz

Speed.#1.........:  1869.7 kH/s (8.41ms) @ Accel:16 Loops:128 Thr:256 Vec:1

Started: Sun Nov 17 03:33:37 2024
Stopped: Sun Nov 17 03:37:51 2024

real    4m13.517s
user    0m7.613s
sys 0m5.026s

Single hash, setup #2 1 hash

hashcat --status --status-timer 60 -m 22000 hashes_not_found.clear.wpa01.1  -w 4 -a 3 ?d?d?d?d?d?d?d?d

Started: Sun Nov 17 03:41:48 2024
Stopped: Sun Nov 17 03:42:48 2024

real    0m59.850s
user    0m0.975s
sys 0m1.290s
hashcat --status --status-timer 60 -m 22000 hashes_not_found.clear.wpa02.1  -w 4 -a 3 ?d?d?d?d?d?d?d?d

Started: Sun Nov 17 03:43:04 2024
Stopped: Sun Nov 17 03:44:04 2024

real    1m0.072s
user    0m1.002s
sys 0m1.268s

Setup #3 (GTX 1080) 1 hash

time hashcat hashes_not_found.clear.wpa01.1 -w 4 -m 22000 -a 3 ?d?d?d?d?d?d?d?d -d 1

Started: Sat Nov 16 20:05:25 2024
Stopped: Sat Nov 16 20:09:37 2024

real    4m12.693s
**user  0m22.792s**
sys 0m1.318s
time hashcat hashes_not_found.clear.wpa02.1 -w 4 -m 22000 -a 3 ?d?d?d?d?d?d?d?d -d 1

Started: Sat Nov 16 20:10:05 2024
Stopped: Sat Nov 16 20:14:22 2024

real    4m16.828s
**user  0m1.083s**
sys 0m1.355s

I see it show different results. In bulk PMKID even slower. Need more tests, initial case I saw on worked can't reproduce on synthetic setup.