Malgré qu’il soit maintenant possible d’inspecter le traffic HTTP d’un appareil Android en utilisant le Profiler d’Android Studio, il est parfois plus simple/convivial d’utiliser un proxy (par exemple Charles Proxy). Par contre, pour cela, il faut manuellement modifier la configuration de la connexion WiFi de l’appareil pour y ajouter les informations de connexions sur le proxy (à moins d’avoir un appareil rooté, dans ce cas il existe une multitude d’app qui peuvent faciliter cette tâche).
Il est possible de rendre cette manoeuvre plus simple avec un script bash. Nous assumons ici que le proxy roule sur la même machine que l’outil ADB, et que le proxy écoute sur le port 8888.
Le script suivant va automatiquement récupérer l’adresse IP de la machine et pousser la nouvelle config sur l’appareil connecté via ADB. Il est possible de spécifier l’interface en paramètre (par défaut, il utilisera l’interface wifi)
#!/usr/bin/env sh
if [ -z "${1}" ]; then
interface="en0"
else
interface="${1}"
fi
ip=$(ifconfig ${interface} | awk '$1 == "inet" {print $2}')
echo "Using ${ip}:8888 as proxy settings"
adb shell settings put global http_proxy $ip:8888
Notez que cette configuration ne sera pas visible dans l’interface de configuration du WiFi sur l’appareil. Il ne faut donc pas oublier de le désactiver en utilisant le script suivant :
#!/usr/bin/env sh
adb shell settings put global http_proxy :0