J'essaie de surveiller les appels d'une application vers mon serveur, tout comme Firebug. Je n'ai pas pu trouver un moyen de voir cela dans iOS Simulator ou dans xCode.
Y a-t-il un moyen de faire cela sans renifler tout le trafic? Si non, quel outil proposeriez-vous?
la source
Un proxy man-in-the-middle, comme suggéré par d'autres réponses, est une bonne solution si vous ne voulez voir que le trafic HTTP / HTTPS. Suite Burp est plutôt bien. Cela peut être difficile à configurer cependant. Je ne sais pas comment vous pourriez convaincre le simulateur de lui parler. Vous devrez peut-être définir le proxy de votre Mac local sur votre instance de serveur proxy pour qu'il intercepte, car le simulateur utilisera l'environnement de votre Mac local.
La meilleure solution pour le reniflement de paquets (bien que cela ne fonctionne que pour les appareils iOS réels , pas le simulateur) que j'ai trouvée est d'utiliser
rvictl
. Ce billet de blog a une belle rédaction. En gros, vous faites:Ensuite, vous reniflez l'interface avec laquelle il crée avec Wireshark (ou votre outil préféré), et lorsque vous avez terminé, fermez l'interface avec:
C'est bien parce que si vous voulez renifler les paquets avec le simulateur, vous devez également parcourir le trafic vers votre Mac local, mais
rvictl
crée une interface virtuelle qui vous montre simplement le trafic de l'appareil iOS que vous avez branché sur votre clé USB. Port.la source
Un outil proxy gratuit et open source qui s'exécute facilement sur un Mac est mitmproxy .
Le site Web comprend des liens vers un binaire Mac, ainsi que le code source sur Github.
La documentation contient une introduction très utile au chargement d'un certificat dans votre appareil de test pour afficher le trafic HTTPS.
Pas tout à fait aussi graphique que Charles, mais il fait tout ce dont j'ai besoin et est gratuit et maintenu. Bon truc, et assez simple si vous avez déjà utilisé des outils de ligne de commande.
MISE À JOUR: Je viens de remarquer sur le site Web que mitmproxy est disponible en tant qu'installation homebrew. Ça ne pourrait pas être plus facile.
la source
Récemment, j'ai trouvé un dépôt git qui facilite les choses.
Tu peux l'essayer.
Voici la capture d'écran d'une application:
Meilleures salutations.
la source
Xcode fournit la journalisation des diagnostics CFNetwork. Doc Apple
Pour l'activer, ajoutez
CFNETWORK_DIAGNOSTICS=3
dans la section Variable d'environnement:Cela affichera les demandes de l'application avec ses en-têtes et son corps. Notez qu'il
OS_ACTIVITY_MODE
doit être définienable
comme indiqué. Sinon, aucune sortie ne sera affichée sur la console.la source
Wireshark il
Sélectionnez votre interface
Ajouter
filter
démarrer lecapture
Essai
Cliquez sur n'importe quelle action ou bouton qui déclencherait une requête GET / POST / PUT / DELETE
Vous le verrez sur la liste dans le wirehark
Si vous voulez en savoir plus sur un paquet spécifique, sélectionnez-le et suivez> Flux HTTP .
j'espère que cela aidera les autres !!
la source
Si vous avez une connexion par câble et Mac, il existe une méthode simple et puissante:
installez Wireshark gratuit, assurez-vous qu'il peut capturer des périphériques avec (et vous devez le faire après chaque redémarrage de l'ordinateur !):
sudo chmod 644 / dev / bpf *
Partagez maintenant votre réseau avec le wifi. Préférences système> Partage> Partage Internet. Vérifiez que vous avez "Partager vos connexions depuis: Ethernet" et que vous utilisez: Wi-Fi. Vous voudrez peut-être également configurer une sécurité wifi, cela ne perturbe pas la surveillance de vos données.
Connectez votre téléphone à votre réseau nouvellement créé. J'ai besoin assez souvent de plusieurs tentatives ici. Si le téléphone ne veut pas se connecter, éteignez le wifi du Mac, puis répétez l'étape 2 ci-dessus et soyez patient.
Démarrez Wireshark capturer votre interface sans fil avec Wireshark, c'est probablement "en1". Filtrez les adresses IP et / ou les ports dont vous avez besoin. Lorsque vous trouvez un package qui est intéressant, sélectionnez-le, faites un clic droit (menu contextuel)> Suivre le flux TCP et vous voyez une belle représentation textuelle des requêtes et des réponses.
Et quel est le meilleur: exactement la même astuce fonctionne aussi pour Android!
la source
Telerik Fiddler est un bon choix
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
la source
la source
Une bonne solution si vous êtes habitué aux outils d'inspecteur de chrome est le débogueur Pony: https://github.com/square/PonyDebugger
C'est un peu difficile à configurer, mais une fois que vous le faites, cela fonctionne bien. Assurez-vous d'utiliser Safari au lieu de Chrome pour l'utiliser.
la source
J'utilise netfox. Il est très facile à utiliser et à intégrer. Vous pouvez l'utiliser sur le simulateur et l'appareil. Il montre toutes les demandes et réponses. Il prend en charge les types de réponses JSON, XML, HTML, Image et autres. Vous pouvez partager des demandes, des réponses et un journal complet par les formats de partage par défaut d'IOS (Gmail, WhatsApp, e-mail, slack, sms, etc.)
Vous pouvez vérifier sur GitHub: https://github.com/kasketis/netfox
la source