wpa_passphrase с шестнадцатеричным SSID
Как я могу сгенерировать шестнадцатеричный пароль на основе шестнадцатеричного SSID?
объяснение
Я использую следующую команду для генерации шестнадцатеричного значения из строки Unicode:
$ echo -n "→ MyUnicodeSSID ←" | tr -d "\n" | od -A n -t x1 | tr -d " " | tr -d "\n"
--> e28692204d79556e69636f64655353494420e28690
Однако, если я использую шестнадцатеричное значение для wpa_password, я получаю следующий вывод, который использует шестнадцатеричное значение в качестве строкового ввода:
$ wpa_passphrase e28692204d79556e69636f64655353494420e28690 "MySecretPa$$word"
network={
ssid="e28692204d79556e69636f64655353494420e28690"
#psk="MySecretPa6100word"
psk=b4c850a5c05769d9afb828cda94341f734f40aa4bd606a47844ca7f279b55378
}
1 ответ
Попробуйте использовать SSID из вывода wpa_cli scan
затем wpa_cli scan_results
, Обязательно используйте P
перед SSID, т.е.
network={
key_mgmt=NONE
ssid=P"test\x00abc"
}
Увидеть:
http://lists.infradead.org/pipermail/hostap/2012-August/026461.html
Если ваш
ssid
является
facepalm
, сначала получите шестнадцатеричный код для части utf8:
% echo -n "" | tr -d "\n" | od -A n -t x1 | sed 's/ /\\x/g'
\xf0\x9f\xa4\xa6
Затем используйте его как аргумент
wpa_passphrase
:
% wpa_passphrase $'facepalm \xf0\x9f\xa4\xa6' testtest
network={
ssid="facepalm "
#psk="testtest"
psk=99c17bf7e2950d33f9c1c470015487e2cfdfeb6824c9eeb2aab5402880ecd946
}
И то и другое
ssid
и
passhprase
находятся
c
-lang
char
s (wpa_passphrase.c).