list-of-pwds
다음 스크립트의 목적은 WiFi에 연결하기 위해 파일에서 올바른 비밀번호를 찾는 것입니다 . 올바른 비밀번호를 찾으면 검색을 중단하세요.
#!/usr/bin/bash
nmcli d wifi list
echo "Give me the SSID."
read ssid
if [[ -f $HOME/list-of-pwds ]]; then
:
else
>>$HOME/list-of-pwds
fi
echo -e "Place the passwords in $HOME/list-of-pwds.\nPress 'y' when ready to proceed?[Y/n]"
read proceed
if [[ "${proceed}" == 'y' ]]; then
while IFS="" read -u 7 -r l || [[ -n "${l}" ]]; do
nmcli connection add type wifi ifname wlp3s0 ssid "${ssid}" con-name "${ssid}" +802-11-wireless-security.key-mgmt WPA-PSK +802-11-wireless-security.psk "${l}"
if [[ "${?}" -eq 0 ]]; then
echo "Found password for ${ssid}: ${l}."
break
fi
done 7<$HOME/list-of-pwds
fi
#nmcli con show --active seems to return always 0 irrespectively on the connection status
#but nmcli con show --active|grep whatever returns 0 only when there is an active connection
list-of-pwds
다음과 같습니다.
ana
game
bondage
domination
submission
masochism
thecorrrectPassword
tordfasre
첫 번째 줄에 올바른 비밀번호가 없으면
list-of-pwds
다음과 같은 결과가 출력됩니다.
Error: Failed to add 'net' connection: 802-11-wireless-security.psk: property is invalid
Error: Failed to add 'net' connection: 802-11-wireless-security.psk: property is invalid
Error: Failed to add 'net' connection: 802-11-wireless-security.psk: property is invalid
Connection 'net' (66ab5db1-a662-43a0-bfbe-ee353a7e14d6) successfully added.
Found password for net: domination.
net
ssid는 어디에 있나요? 내 WiFi의 보안은 WPA2입니다. 비밀번호 길이는 정확하지만 올바르지 않은 경우, 비밀번호를 묻는 팝업창이 뜹니다. 스크립트가 올바른 비밀번호를 발견하면 그러한 팝업이 나타나지 않습니다. 예를 들어 domination
비밀번호 길이가 정확하더라도(팝업 표시) 올바른 비밀번호가 아니지만(팝업 표시)
thecorrrectPassword
올바른 비밀번호입니다(팝업이 표시되지 않음). 교체하게 된 것은 바로 이 팝업이었지만 nmcli d wifi connect "${ssid}" password "${l}"
문제 nmcli connection add type wifi ifname wlp3s0 ssid "${ssid}" con-name "${ssid}" +802-11-wireless-security.key-mgmt WPA-PSK +802-11-wireless-security.psk "${l}"
는 지속되었습니다.
@tripleee의 팁에 따라 암호가 포함된 파일을 명령줄 인수로 전달하려고 시도했는데 다음과 같이 수정했습니다.
802-11-wireless-security.psk:ana
802-11-wireless-security.psk:game
802-11-wireless-security.psk:bondage
802-11-wireless-security.psk:domination
802-11-wireless-security.psk:submission
802-11-wireless-security.psk:masochism
802-11-wireless-security.psk:thecorrectPassword
802-11-wireless-security.psk:torture
스크립트를 다시 작성하십시오.
#!/usr/bin/bash
nmcli d wifi list
echo "Give me the SSID."
read ssid
if [[ -f $HOME/list-of-pwds ]]; then
:
else
>>$HOME/list-of-pwds
fi
echo -e "Place the passwords in $HOME/list-of-pwds.\nReady to proceed?[Y/n]"
read proceed
if [[ "${proceed}" == 'y' ]]; then
nmcli con add type wifi con-name "${ssid}" ssid "${ssid}"
nmcli con mod "${ssid}" wifi-sec.key-mgmt wpa-psk
nmcli connection up "${ssid}" ifname wlp3s0 passwd-file "$HOME/list-of-pwds"
fi
인증을 요청하는 팝업과 다음 표준 출력을 받았습니다.
Connection 'net' (dcaab1be-4d54-49f6-ac3b-30bc153806ae) successfully added.
Error: Connection activation failed: Secrets were required, but not provided
Hint: use 'journalctl -xe NM_CONNECTION=dcaab1be-4d54-49f6-ac3b-30bc153806ae + NM_DEVICE=wlp3s0' to get more details.
난 대본을 알아nmcli
좋은 무차별 대입 도구가 될 가능성은 낮습니다.. 즉, 무차별 대입 도구처럼 작동하도록 스크립트를 다시 작성할 수 있는지 궁금합니다. 문제 분포가 특정합니까(Ubuntu Desktop 22.04 LTS를 사용하고 있습니까)?