2010-02-25 7 views
0

Peut-être que certains serveurs peuvent gérer à la fois des protocoles sécurisés et non sécurisés. Est-il possible de déterminer si la connexion TCP existante est sécurisée ou non?déterminez si la connexion TCP utilise SSL

(je crois qu'il est possible juste surveiller le trafic et vérifier si un texte est lisible, mais peut-être il est mieux ou peut-être des suggestions plus détaillées?)

+0

Ceci est une question de gestion de système/réseau, et devrait être posée sur http://serverfault.com/ – CuriousPanda

+0

ok, merci, je l'ai demandé à serverfault. Mais peut-être quelqu'un sait comment écrire un programme qui va vérifier le problème? Ou juste direction où chercher une réponse. – noonex

Répondre

1

Si vous utilisez .Net, vous pouvez utiliser un réseau TCP connexion comme base pour une connexion SSL. Pour vérifier par programme si un port de serveur implémente SSL, il faut établir une connexion TCP, puis tenter de créer une connexion SSL par-dessus. Si l'établissement de liaison SSL échoue, ce qui créera une exception, vous saurez que SSL n'est pas disponible sur ce port.

Le code serait le long des lignes de:

TcpClient tcpClient = new TcpClient(); 
tcpClient.Connect(remoteEndPoint); 
SslStream sslStream = new SslStream(tcpClient.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); 
sslStream.AuthenticateAsClient(serverCN); 

Exception signifie pas SSL.