-
Écouter un socket
Bonjour, j'ai une application windows qui communique avec un serveur distant. En connaissant le port de communication et l'adresse du serveur distant, est-il possible d'écouter les informations transigées par le socket (pour ensuite les parser) ?
PS: L'application est un exécutable compilé (je n'ai pas accès au code source).
-
Pourquoi ne pas utiliser Wireshark en plateforme pour PlugIns?
http://www.codeproject.com/KB/IP/custom_dissector.aspx
-
hmm, si le socket reçoit du texte claire (genre xml), es-ce que Wireshark va m'afficher des caractères hexadécimales en colonne comme sur le screen shot du website?
-
1 pièce(s) jointe(s)
Sur la plupart des protocole, l'azffichage hexadécimal est le plus approprié car le protocole transporte des données binaire. Un affichage en mode texte n'aurait aucun sens
ceci dit, Wireshark est capable d'afficher les données en mode texte (cf attachement)
-
Je confirme, d'ailleurs Wireshark permet de bien comprendre les échanges (entêtes des différentes couches) mais aussi de voir le contenu qui transite dans les paquets.
Bon courage
-
Arf, le protocol utilisé est le sslv3 :?
j'imagine que je dois oublié sa?
-
Tu vas pouvoir écouter les premiers paquets. Ensuite, quand le protocole va passer en mode chiffré, effectivement, tu peux oublier l'écoute.
-
Je me suis promené un peux sur le web et j'ai croisé une piste de solution sur un forum. En gros c'est sa:
So, lets stop sniffing wires and instead look at how a local App uses SSL :
SSL is not performed by the client program itself. Instead it is performed by a third party library... either provided by microsofts cryptoAPI (A system DLL) or by OpenSSL (An alternative DLL). If you see 'SSLeay.DLL' then it is using OpenSSL... if not it is probably using microsofts DLL.
Either way, it doesn't matter. Just remember that your client application DOES NOT SPEAK SLL ... It uses an external interpreter.
[...]
Hook the OpenSSL library readSSL / writeSSL as mentioned (or if static compiled then hook the entrypoints... find those by looking for the SSL magic number and placing a breakpoint) and you will have immediate access to the unencrypted stream. This removes the encryption and lets you see the raw stream without any need to write a decryptor or break/memory sniff/MITM for keys. Essentially, the program may as well not be encrypted at all.
Bon.. changement de tactic...