comment déboguer une connexion SSL?
J'ai une application client qui se connecte à un service web via https. J'ai besoin de "renifler" tout le trafic réseau entre le service web et mon client pour vérifier si tout est ok, j'.e, j'ai pour déboguer la connexion.
J'ai essayé Wireshark mais depuis je n'ai pas la clé privée du serveur, des données figurant sur wireshark écran est, bien sûr, crypté.
Est-il un moyen d'observer le trafic réseau ssl entre mon client et le service web lorsque je n'ai pas accès au serveur lui-même et, par conséquent, les clés privées et d'autres trucs?
Merci à l'avance.
source d'informationauteur Hayri Uğur Koltuk
Vous devez vous connecter pour publier un commentaire.
Voir ceci: Débogage des communications SSL.
Je sais que, théoriquement, il peut être fait - vous pouvez configurer un proxy qui communique avec la cible web-service, point de votre application à se connecter via ce proxy. Ses une limitation connue - Https suppose que vous faire confiance à tous les proxy et les certificats installés sur votre machine. Son une forme de Man-in-the-middle attack.
Voir si Fiddler serait de quelque utilité.
vous avez installé python?
pip install mitmproxy
mitmproxy -p 1234
même un vidéo pour vous
(en passant, j'ai eu à apt-get install python-lxml sur debian squeeze après un apt-get update)
Burp Suite (même la version Gratuite vous permet de définir un protocole SSL "proxy", il présentera un certificat différent à votre application et il va décrypter (et afficher) le trafic pour vous. Et si vous voulez tester le serveur en localhost trop il permet de paramétrer le proxy (chose que je n'ai pas été en mesure de le faire avec Wireshark dans Windows, et Fiddler).
Si vous n'avez pas accès à la clé privée du serveur, il n'y a pas beaucoup que vous pouvez faire pour voir ce qui est protégée par le protocole SSL/TLS. (Vous aurez la chance de voir la première poignée de main, au moins.)
Si vous avez le contrôle total sur le client, vous pourriez écrire un faux serveur qui aurait une clé privée et le certificat que vous avez le contrôle, et qui serait relais tout envoyé par le client pour le serveur réel. Pour cela, vous aurez besoin de faire de la confiance des clients de votre propre certificat, par conséquent, vous devez avoir le contrôle du client. Il pourrait être plus facile de tordre le correspondant
hosts
fichier sur le client pour effectuer le DNS spoofing trop, de faire des liens à la droite du nom d'hôte aller à votre faux serveur à la place.