私はAndroid電話を持っています、そして目標は電話をパスワードで保護されたwifiネットワークに接続することです。
これまでに知っている手順:
adb root
adb Shell svc wifi enable
Wi-Fiがオンになりました。次に、パスワードを必要とする特定のワイヤレスネットワークに電話を接続する必要があります。 adb Shellコマンドを使用して接続できることを願っています。
何か助けは?
デバイスにプログラムをダウンロードしたくない
これは、wpa_cli
、wpa_supplicant
のコマンドラインインターフェイスを使用して実現できます。
# Enable WiFi
adb root
adb Shell
# Get to wpa_cli Prompt
wpa_cli -p /data/misc/wifi/sockets/ -i wlan0
# Add new WiFi network
add_network
set_network 0 auth_alg OPEN
set_network 0 key_mgmt WPA-PSK
set_network 0 ssid "network_name"
set_network 0 proto RSN
set_network 0 mode 0
set_network 0 psk "password"
# Connect to it
select_network 0
enable_network 0
reassociate
# Check the status
status
上記のコマンドリストでは、add_network
コマンドは新しいネットワークのインデックスを出力します。これは、後続のコマンドで使用する必要があります。この例では、このインデックスは0
です。
この手順を使用してください[詳細は含まれています:)]
1- wpa_supplicantが実行されていることを確認します。次のコマンドを使用して、pidを探します。
pidof wpa_supplicant
このコマンドは、wpa_supplicantプロセスのpidを返す必要があります。何も返されない場合、wpa_supplicantは実行されていません。 svcコマンドを使用してwifiをオフにしてから、再度オンにします。
svc wifi disable
svc wifi enable
2- wpa_supplicant.confファイルからcontrol interfaceディレクトリを読み取ります。このファイルは通常/ data/misc/wifi /にあります。 catコマンドを使用してこのファイルを開きます。
cat /data/misc/wifi/wpa_supplicant.conf
update_config=1
ctrl_interface=/data/misc/wpa_supplicant
eapol_version=1
ap_scan=1
fast_reauth=1
注:wpa_supplicant.confファイルを見つけるには、ルートディレクトリでfindコマンドを使用して検索できます。 cd /コマンドを使用してルートディレクトリに移動し、findコマンドを使用してwpa_supplicant.confを見つけます。
見つける-name wpa_supplicant.conf
Ctrl_interafceで指定された制御インターフェースディレクトリに移動します。このディレクトリの最初のファイルはインターフェイス名です。
cd /data/misc/wpa_supplicant
ls
wlan0
Wpa_cliコマンドを実行するには、「制御インターフェース」と「インターフェース名」が必要です。
注:wpa_cliコマンドにこれらの2つのパラメーターを誤って入力すると、wpa_cliはwpa_supplicantに接続できず、次のメッセージを返します。
Interactive mode
Could not connect to wpa_supplicant: plan - re-trying
または、それはwpa_supplicantに接続しますが、次のような対話型コマンドに対してUNKNOW COMMANDを返します。
> scan
UNKNOWN COMMAND
>add_network
UNKNOWN COMMAND
3-上記のパラメーターを使用してwpa_cliコマンドを実行します。
wpa_cli -p [control directory path] -i [interface name]
wpa_cli -p /data/misc/wpa_supplicant -i wlan0
次に、このコマンドはインタラクティブモードに入り、ネットワークをスキャンして検索し、ネットワークに接続して...
# Add new WiFi network
add_network
set_network 0 auth_alg OPEN
set_network 0 key_mgmt WPA-PSK
set_network 0 ssid "network_name"
set_network 0 proto RSN
set_network 0 mode 0
set_network 0 psk "password"
# Connect to it
select_network 0
enable_network 0
reassociate
# Check the status
status
save_config
Save_configを使用して、これらの設定をwpa_supplicant.confファイルに保存し、後で使用することができます。これらの設定は、enable_networkコマンドで次回呼び出すことができます。次にwifiを有効にする場合は、次のコマンドを使用します。
wpa_cli -p /data/misc/wpa_supplicant -i wlan0
enable network 0
0はネットワークIDです。 list_networksを使用して、保存されている他の構成を見つけることができます。 wpa_cliの詳細については、このドキュメントを参照してください。また、wpa_cliの完全なインタラクティブコマンドがこのページに記載されています。
http://w1.fi/cgit/hostap/plain/wpa_supplicant/README
私はこの手順を使用して、Androidでwifiを構成しました。