Make a queues + buffer: higher priority for PMKID (WPA*01), if not found proceed WPA*02 as a last option
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)
- all WPA*01 related to hkey +
- all WPA*01 related to the same BSSID +
- all WPA*01 related to the same SSID
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 :)
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.