Inspecter le trafic HTTPS d'un iPhone depuis un Mac

Ce guide va d'un téléphone où Chute est installé à une fenêtre sur Mac qui montre les requêtes déchiffrées de ce téléphone, avec les corps de requête et de réponse, prêtes à filtrer et à exporter. Il enchaîne des choses qui ont leurs propres pages de référence — le CA, la liste d'hôtes, l'enregistrement, le canal de contrôle, Dashboard — dans l'ordre où on les fait vraiment, et dit à chaque étape ce que vous devriez voir avant de continuer.

Il vous faut :

  • Chute iOS sur le téléphone, avec une licence. Le déchiffrement HTTPS et la capture des corps sont sous licence sur iPhone ; sans licence, tout ce qui suit se connecte quand même, mais les lignes HTTPS restent opaques et les onglets de données vides. Voir Licence et activation.
  • Chute Dashboard sur le Mac — gratuit, sans licence.
  • Un câble USB (recommandé : rien à ouvrir sur le réseau, et cela fonctionne en cellulaire), ou le téléphone et le Mac sur le même Wi-Fi.

Si vous préférez ne rien installer sur le Mac, la console web montre les mêmes connexions, corps et réécritures dans un navigateur, et n'a besoin que d'external-http-controller sur le téléphone. Les étapes 1 à 3 ci-dessous s'appliquent telles quelles ; à partir de l'étape 4, suivez plutôt Ouvrir la console web.

1. Installer et approuver le CA

Sur le téléphone, dans l'éditeur de configuration : MITM → Configurer le CA → Générer un nouveau certificat CA, puis Installer le certificat CA dans le système, puis l'approuver sous Réglages → Général → Informations → Réglages de confiance des certificats. La procédure complète, y compris l'étape que tout le monde oublie, est sur la page Déchiffrement HTTPS.

Vous devriez voir : la page de certificat indique Certificat CA approuvé. Si elle indique non approuvé, l'interrupteur de confiance des Réglages de confiance des certificats est encore désactivé — rien de ce qui suit ne fonctionnera tant qu'il ne l'est pas.

2. Dire quels hôtes déchiffrer

Chute ne déchiffre que les hôtes que vous listez. Dans la section MitM de l'éditeur (celle avec Configurer le CA), ajoutez les hôtes que vous voulez voir. Commencez étroit — l'hôte de l'API de l'app que vous déboguez — plutôt que * : chaque hôte déchiffré coûte du CPU sur le téléphone, et certaines apps épinglent leurs certificats et cassent quand on les déchiffre. *.apple.com est à exclure dès le départ.

[MITM]
enable = true
hostname = api.example.com, *.example.net, -*.apple.com

La grammaire — ports, exclusions -, restriction /path — est sur la page Déchiffrement HTTPS. Vous pourrez aussi ajouter et retirer des hôtes plus tard depuis le panneau Règles MitM de Dashboard en observant l'effet, puis copier ceux qui marchent dans la configuration.

3. Activer le déchiffrement et l'enregistrement

Sur le panneau de contrôle du téléphone, deux interrupteurs :

  • MitM — déchiffrement activé, pour les hôtes de l'étape 2.
  • Données de vidage — enregistrer les corps de requête et de réponse (le réglage replica). Sans lui, Dashboard montre chaque connexion avec sa règle et sa politique, mais aucune donnée.

Les deux peuvent aussi être basculés plus tard depuis la barre d'outils de Dashboard, ce n'est donc pas un problème de les oublier maintenant. Aucun ne survit à un redémarrage s'il n'est pas dans la configuration (replica = true dans [General], enable = true dans [MITM]).

4. Laisser Dashboard se connecter

Dans l'éditeur de configuration : Contrôleur externe → Accès au contrôleur externe.

  1. Activez Autoriser Chute Dashboard/Chute CLI à se connecter.
  2. Entrez un Port (n'importe quel port libre ; 6170 si vous n'avez pas de préférence) et un Mot de passe à vous.
  3. Autoriser l'accès depuis le Wi-Fi : laissez-le désactivé pour l'USB. Ne l'activez que si vous vous connecterez par Wi-Fi — il ouvre l'écouteur à quiconque sur ce réseau a le mot de passe.
  4. Enregistrez, et démarrez (ou redémarrez) le tunnel.

Vous devriez voir : le panneau de contrôle affiche Port d'accès externe : 6170 (votre port). Si la ligne manque, le tunnel n'exécute pas la configuration enregistrée — redémarrez-le.

5. Connecter Dashboard

Branchez le téléphone au Mac et, si le téléphone le demande, touchez Se fier à cet ordinateur. Ouvrez Chute Dashboard ; dans la fenêtre Chute – Nouveau tableau de bord, utilisez la section USB : le Port de l'étape 4 et le Mot de passe, puis connectez.

Par Wi-Fi à la place : la section Distant, avec Hôte = l'adresse du téléphone (Réglages → Wi-Fi → ⓘ, Adresse IP), et les mêmes port et mot de passe.

Vous devriez voir : une fenêtre Dashboard dont le titre est la connexion, et sa liste Actif qui se remplit à mesure que le téléphone établit des connexions. Utilisez le téléphone quelques secondes si elle est vide. Deux choses peuvent mal tourner ici, et toutes deux ont des messages clairs : Mot de passe incorrect, et la fenêtre qui ne s'ouvre jamais — le téléphone n'est pas joignable (mauvaise adresse, accès Wi-Fi désactivé, tunnel arrêté). La page Dashboard a les détails.

6. Vérifier les interrupteurs de la barre d'outils

En haut de la liste Actif, les deux interrupteurs de l'étape 3 tels que Dashboard les voit :

  • Enregistrer le trafic devrait afficher Désactiver l'enregistrement du trafic — l'enregistrement est actif. S'il affiche encore Enregistrer le trafic, cliquez dessus.
  • Activer MitM (N règles) devrait afficher Désactiver MitM (N règles) — le déchiffrement est actif, et N est le nombre d'hôtes de l'étape 2. Si N vaut 0, la liste d'hôtes n'a pas atteint le téléphone : vérifiez l'étape 2 et redémarrez le tunnel.

7. Reproduire et trouver la requête

Faites dans l'app la chose dont vous voulez voir le trafic. Puis restreignez la liste : Filtrer dans la barre d'outils ouvre la barre de filtres ; tapez l'hôte dans Filtrer hôte/URL…, ou cochez MitM uniquement pour ne garder que les lignes déchiffrées.

Vous devriez voir : des lignes pour votre hôte avec un M dans la colonne Indicateurs, une vraie Méthode (GET, POST) et un Statut plutôt que CONNECT. Ouvrez-en une : l'onglet En-têtes requête a les en-têtes, les paramètres de requête et les cookies ; Données réponse montre le corps — en arbre JSON si c'est du JSON, en image si c'est une image.

Si les lignes de votre hôte montrent CONNECT et pas de M, la connexion n'a pas été déchiffrée. Par ordre de probabilité : l'hôte n'est pas dans la liste (ou le motif ne correspond pas — api.example.com ne couvre pas www.example.com) ; MitM est désactivé ; le CA est installé mais pas approuvé (l'app elle-même affichera des erreurs de certificat) ; l'app épingle son certificat (excluez l'hôte et acceptez de ne pas voir à l'intérieur) ; l'app parle HTTP/3 sur QUIC, qui ne peut pas être déchiffré — réglez block-quic pour la ramener vers TCP.

Si la ligne a un M mais que les onglets de données disent Aucune donnée : l'enregistrement était désactivé quand cette connexion a eu lieu (activez-le, reproduisez) ; l'hôte est filtré par [Replica] sur le téléphone ; ou le corps dépasse 2 MiB, que le téléphone refuse de livrer.

8. Garder ce que vous avez trouvé

Clic droit sur les lignes : Exporter la sélection en HAR… pour un fichier qui s'ouvre dans les outils de développement d'un navigateur, Charles ou Proxyman ; Copier la commande curl pour rejouer une requête depuis le terminal du Mac ; Exporter la sélection en CSV… pour un tableur. Exporter en bin dans un onglet de données enregistre un corps tel que capturé.

9. Changer quelque chose (facultatif)

Les panneaux de la vue MitM modifient le noyau en cours d'exécution. Deux expériences rapides :

  • Réécriture d'en-tête → ajoutez une règle pour votre hôte : Requête, Ajouter, X-Debug = 1. Reproduisez ; les nouvelles lignes portent H et R, et Règles déclenchées de la fenêtre de détail cite votre règle.
  • Map Local → répondre à un point d'accès depuis un fichier. Pour un téléphone, le chemin doit être lisible par le téléphone, donc le Chemin du fichier de ce panneau (un chemin sur votre Mac) ne s'applique pas ; utilisez plutôt la forme base64= de la règle depuis l'éditeur du téléphone ou la console web — voir la remarque sous Outils MitM. Les lignes simulées portent K.

Les règles ajoutées ici disparaissent au redémarrage du tunnel. Dès qu'une marche, écrivez-la dans la configuration — les pages de référence : Réécriture d'URL, Réécriture d'en-tête, Réécriture de corps, Réponse simulée.

Quand vous avez fini

  • Désactivez Données de vidage, ou mettez replica = false : les corps s'accumulent sur le téléphone tant que l'enregistrement est actif.
  • Désactivez de nouveau Autoriser l'accès depuis le Wi-Fi si vous l'aviez activé.
  • Laissez le CA installé si vous referez cela ; sinon retirez-le sous Réglages → Général → VPN et gestion de l'appareil.
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-01 12:15:52

results matching ""

    No results matching ""