136 votes

Android : Capture des requêtes HTTP avec un appareil Android non rooté

J'ai une application Android qui utilise un jar d'un tiers. Les requêtes HTTP sont envoyées du jar tiers au serveur lorsque l'application fonctionne. J'ai besoin de capturer les requêtes HTTP qui sont envoyées par le bocal tiers. Je me demande s'il y a un moyen facile à mettre en œuvre avec dispositif non enraciné

Pour commencer : J'ai essayé de télécharger "proxyDroid" mais il faut un téléphone rooté. J'ai aussi essayé de télécharger "shark for Root" avec "shark reader" qui nécessite aussi un appareil rooté. J'ai essayé beaucoup d'autres applications qui pourraient capturer la demande complète mais tout ce qu'il faut c'est un appareil enraciné.

J'ai besoin de quelque chose que fiddler/wireshark peut faire pour Windows. Un analyseur de paquets réseau qui pourrait être facilement intégré à une application Android et qui pourrait fournir un objet de requête avec tous les champs d'en-tête.

7voto

Vis Points 81

Vous pouvez utiliser burp-suite. suivez la procédure ci-dessous.

Configurer l'écouteur Burp Proxy

Dans Burp, allez dans l'onglet "Proxy" puis dans l'onglet "Options". Dans la section "Proxy Listeners", cliquez sur le bouton "Add".

Dans l'onglet "Binding", dans la case "Bind to port :", entrez un numéro de port qui n'est pas actuellement utilisé, par exemple "8082", puis sélectionnez l'option "All interfaces", et cliquez sur "OK".

Configurez votre appareil pour utiliser le proxy

Dans votre appareil Android, allez dans le menu "Paramètres".

Si votre appareil n'est pas déjà connecté au réseau sans fil que vous utilisez, allumez le bouton "Wi-Fi" et appuyez sur le bouton "Wi-Fi" pour accéder au menu "Wi-Fi".

Dans le tableau "Réseaux Wi-Fi", trouvez votre réseau et appuyez dessus pour faire apparaître le menu de connexion.

Appuyez sur "Connecter". Si vous avez configuré un mot de passe, saisissez-le et continuez.

Une fois que vous êtes connecté, maintenez le bouton réseau enfoncé pour faire apparaître le menu contextuel et appuyez sur "Modifier la configuration du réseau".

Assurez-vous que la case "Afficher les options avancées" est cochée.

Changez les "Paramètres du proxy" en "Manuel" en appuyant sur le bouton.

Saisissez ensuite l'adresse IP de l'ordinateur qui exécute Burp dans le champ "Nom d'hôte du proxy". Saisissez le numéro de port configuré dans la section "Écouteurs de proxy" plus tôt, dans cet exemple "8082".

Tester la configuration

Dans Burp, allez dans l'onglet "Proxy Intercept", et assurez-vous que l'interception est "activée" (si le bouton indique "Intercept is off", cliquez dessus pour changer le statut de l'interception).

Ouvrez le navigateur de votre appareil Android et allez sur une page web HTTP (vous pouvez visiter une page web HTTPS lorsque vous avez installé le certificat CA de Burp dans votre appareil Android).

La requête doit être interceptée dans Burp.

4voto

AlexisCaffa Points 96

Définir un https://mitmproxy.org/ comme proxy sur un même réseau local

  • Source ouverte
  • Construit en python 3
  • Installable via pip
  • Ayez un Image Docker

4voto

Smile4ever Points 14

Si vous êtes prêt à utiliser Genymotion (ou un autre dispositif émulé supporté), vous pouvez utiliser Boîte à outils HTTP qui peut analyser et intercepter/réécrire les appels HTTP. Pour HTTPS, vous aurez besoin d'un appareil enraciné, pour pouvoir faire confiance au certificat de l'autorité de certification racine comme certificat système. Les appareils Genymotion sont enracinés par défaut.

Pour installer l'application que vous voulez examiner, Genymotion prend en charge Open GApps (pour le support de Google Play) et le glisser-déposer pour les fichiers APK.

HTTP Toolkit fonctionne également sur des appareils réels, mais il faut alors disposer de privilèges Root (la plupart des téléphones Android ne sont pas rootés).

https://httptoolkit.tech/docs/guides/Android/#intercepting-traffic-from-your-own-Android-app

enter image description here

2voto

SandroProxy semble être meilleur que Drony (du même développeur) : Vous pouvez (mais ce n'est pas une obligation) visualiser et analyser le trafic de manière pratique dans le navigateur de votre PC.

Cela devrait aussi fonctionner dans les émulateurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X