web-dev-qa-db-fra.com

Android: capture de requêtes HTTP avec un périphérique Android non rooté

J'ai une application Android qui utilise un fichier jar tiers. La requête HTTP est envoyée du fichier jar tiers au serveur lorsque l'application est en cours d'exécution. Je dois capturer la requête HTTP envoyée à partir d'un fichier jar tiers. Je me demande s'il existe un moyen simple d'implémenter avec périphérique non rooté

Pour démarrer: 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 également un appareil rooté. pourrait capturer la demande complète mais tout ce dont il a besoin est un appareil enraciné

J'ai besoin de quelque chose que le violoniste/WireShark peut faire pour Windows. Un analyseur de paquets réseau pouvant être facilement intégré à une application Android et pouvant donner un objet de requête contenant tous les champs d'en-tête. 

53
Venkatesh

Vous pouvez installer Charles - un proxy HTTP/moniteur HTTP/proxy inverse qui permet à un développeur de visualiser tout le trafic HTTP et SSL/HTTPS entre sa machine et Internet - sur votre PC ou MAC.

Étapes de configuration:

  • Laissez votre téléphone et votre PC ou MAC dans un même réseau local
  • Lancez Charles que vous avez installé (le port proxy par défaut est 8888)
  • Configurez la configuration wifi de votre téléphone: configurez l'adresse IP du délégué sur votre PC ou l'adresse IP de votre MAC, le port du délégué sur 8888
  • Lancez votre application sur votre téléphone. Et surveillez les requêtes http sur Charles.
48
SFeng

Je viens d'installer Drony, ce n'est pas un shareware et il ne nécessite pas de racine sur un téléphone portable sous Android 3.x ou supérieur. 

https://play.google.com/store/apps/details?id=org.sandroproxy.drony

Il intercepte les demandes et est affiché sur un journal

Il y a plusieurs façons de le faire, mais l'une d'entre elles est fiddler

Configuration du violoneux

  1. Aller aux options 
  2. Dans l'onglet HTTPS _, activez Capture HTTPS Connects et Déchiffrer le trafic HTTPS 
  3. Dans l'onglet Connexions, activez Autoriser les ordinateurs distants à se connecter 
  4. Redémarrer le violoneux

Configuration Android

  1. Se connecter au réseau identique 
  2. Modifier les paramètres réseau 
  3. Ajoutez un proxy pour la connexion avec l'adresse IP (ou le nom d'hôte) de votre PC et le port du fiddler par défaut (8888/vous pouvez le modifier dans les paramètres)

Maintenant, vous pouvez voir le journal complet de votre appareil dans Fiddler

Aussi, vous pouvez trouver une instruction complète ici

7
Arash Hatami

Vous pouvez utiliser le violoneur en tant que webdebugger http://www.telerik.com/fiddler/web-debugging

Fiddler est un outil de débogage du logiciel telerik, qui vous aide à intercepter toutes les demandes lancées depuis votre ordinateur.

6
Citizen Ken

SandroProxy semble être meilleur que Drony (du même développeur): Vous pouvez (Mais vous n’avez pas à le faire) pour voir et analyser facilement le trafic dans le navigateur de votre PC.

Devrait fonctionner dans les émulateurs aussi.

2
Nicolai Weitkemper

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 “Ajouter”.

Dans l'onglet "Liaison", dans la zone "Liaison au port:", entrez un numéro de port non utilisé, par exemple. “8082”. Sélectionnez ensuite l'option “Toutes les interfaces”, puis cliquez sur “OK”.

Configurez votre appareil pour utiliser le proxy

Sur 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, activez le bouton "Wi-Fi", puis tapez sur le bouton "Wi-Fi" pour accéder au menu "Wi-Fi".

Dans le tableau "Réseaux Wi-Fi", recherchez votre réseau et appuyez dessus pour afficher le menu de connexion.

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

Une fois que vous êtes connecté, maintenez le bouton réseau enfoncé pour afficher le menu contextuel. Appuyez sur «Modifier la configuration réseau».

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

Modifiez les «Paramètres du proxy» en «Manuel» en appuyant sur le bouton.

Entrez ensuite l'adresse IP de l'ordinateur exécutant Burp dans «Nom d'hôte proxy». Entrez le numéro de port configuré dans la section «Écouteurs de proxy», dans cet exemple «8082». Appuyez sur «Enregistrer».

Tester la configuration

Dans Burp, accédez à l'onglet "Interception de proxy" et assurez-vous que l'interception est activée (si le bouton indique "Interception est désactivée", cliquez dessus pour basculer le statut d'interception).

Ouvrez le navigateur sur votre appareil Android et accédez à une page Web HTTP (vous pouvez visiter une page Web HTTPS lorsque vous avez installé le certificat CA de Burp sur votre appareil Android.)

La demande devrait être interceptée dans Burp.

2
Vis

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

  • Open source
  • Construit en python 3
  • Installable via pip
0
AlexisCaffa