web-dev-qa-db-fra.com

Connectez-vous à un réseau wifi protégé par mot de passe à l'aide d'un shell adb

J'ai un téléphone Android et l'objectif est de connecter le téléphone à un réseau wifi protégé par mot de passe.

Étapes que je connais jusqu'à présent:

adb root
adb Shell svc wifi enable

Ok ma douce, le wifi est activé . Maintenant, je dois connecter le téléphone à un certain réseau sans fil qui nécessite un mot de passe . J'espère pouvoir me connecter en utilisant une commande adb Shell.

De l'aide?

Je préférerais ne pas télécharger de programmes sur l'appareil

13
Grayson Henry

Ceci est possible à l'aide de wpa_cli, interface de ligne de commande de 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

Dans la liste de commandes ci-dessus, la commande add_network génère l'index du nouveau réseau, qui doit être utilisé pour les commandes suivantes. Dans cet exemple, cet index est 0.

21

Utilisez cette procédure [plus de détails inclus :)]

1- Assurez-vous que wpa_supplicant est en cours d'exécution. Recherchez son pid en utilisant cette commande:

pidof wpa_supplicant

Cette commande devrait renvoyer le pid du processus wpa_supplicant. Si rien n'est retourné, wpa_supplicant n'est pas en cours d'exécution. Utilisez la commande svc pour désactiver le wifi, puis le réactiver:

svc wifi disable
svc wifi enable

2- Lisez le répertoire control interface à partir du fichier wpa_supplicant.conf. Ce fichier existe généralement dans/data/misc/wifi /. Ouvrez ce fichier en utilisant la commande 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

Remarque: pour rechercher le fichier wpa_supplicant.conf, vous pouvez effectuer une recherche à l'aide de la commande find du répertoire racine. Allez au répertoire racine en utilisant cd/command et utilisez la commande find pour trouver wpa_supplicant.conf:

trouver . -name wpa_supplicant.conf

Accédez au répertoire d'interface de contrôle spécifié par ctrl_interafce. Le premier fichier de ce répertoire est le nom de l'interface .

cd /data/misc/wpa_supplicant
ls
wlan0

Vous allez avoir besoin de "interface de contrôle" et de "nom d'interface" pour exécuter la commande wpa_cli.

Remarque: si vous avez mal saisi ces 2 paramètres pour la commande wpa_cli, le wpa_cli n'a pas pu se connecter à wpa_supplicant et renvoie le message suivant:

Interactive mode

Could not connect to wpa_supplicant: plan - re-trying

Ou bien il peut se connecter à wpa_supplicant mais renvoyer la commande suivante pour ses commandes interactives, comme suit:

> scan
UNKNOWN COMMAND
>add_network
UNKNOWN COMMAND

3- Exécutez la commande wpa_cli en utilisant les paramètres mentionnés ci-dessus:

wpa_cli -p [control directory path] -i [interface name]
wpa_cli -p /data/misc/wpa_supplicant -i wlan0

Ces commandes entrent ensuite en mode interactif où vous pouvez numériser et trouver des réseaux, vous y connecter et ...

# 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

En utilisant save_config, vous pouvez stocker ces paramètres dans le fichier wpa_supplicant.conf pour une utilisation ultérieure . Vous pourrez les rappeler ultérieurement à l'aide de la commande enable_network. La prochaine fois que vous souhaitez activer le wifi, utilisez ces commandes:

wpa_cli -p /data/misc/wpa_supplicant -i wlan0

enable network 0

0 est l'identifiant du réseau. Vous pouvez utiliser list_networks pour rechercher d'autres configurations stockées ..__ Pour plus d'informations sur wpa_cli, reportez-vous à ce document: Cette page contient également des commandes interactives complètes de wpa_cli.

http://w1.fi/cgit/hostap/plain/wpa_supplicant/README

J'ai utilisé cette procédure pour configurer le wifi sur Android sur Orange Pi 2G IOT.

1
MDR