web-dev-qa-db-ja.com

adbシェルを使用してパスワードで保護されたwifiネットワークに接続する

私はAndroid電話を持っています、そして目標は電話をパスワードで保護されたwifiネットワークに接続することです。

これまでに知っている手順:

adb root
adb Shell svc wifi enable

Wi-Fiがオンになりました。次に、パスワードを必要とする特定のワイヤレスネットワークに電話を接続する必要があります。 adb Shellコマンドを使用して接続できることを願っています。

何か助けは?

デバイスにプログラムをダウンロードしたくない

15
Grayson Henry

これは、wpa_cliwpa_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です。

22

この手順を使用してください[詳細は含まれています:)]

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を構成しました。

1
MDR