2010-02-25 5 views
0

아마도 일부 서버는 비보안 및 보안 프로토콜을 모두 처리 할 수 ​​있습니다. 기존 TCP 연결이 안전한지 여부를 확인하는 방법이 있습니까?TCP 연결에서 SSL을 사용하는지 확인

(난 그냥 트래픽을 모니터링하고 일부 텍스트를 읽을 수 있는지 확인 가능하다 생각하지만, 어쩌면 더 나은 또는 어쩌면 더 자세한 제안이?)

+0

이것은 시스템 관리/네트워킹 질문이며 http : //serverfault.com/ – CuriousPanda

+0

에 질문해야합니다. ok, serverfault에서 질문했습니다. 하지만 어쩌면 누군가가 문제를 확인할 프로그램을 작성하는 방법을 알고있을 것입니다. 아니면 답을 찾아야 할 방향을 지정하십시오. – noonex

답변

1

당신이 닷넷 기존 TCP를 사용하여 사용하는 경우 연결을 SSL 연결의 기초로 사용합니다. 프로그래밍 방식으로 서버 포트가 SSL을 구현하는지 여부를 확인하려면 TCP 연결을 설정 한 다음 그 위에 SSL 연결을 만들려고합니다. 예외가 발생하는 SSL 핸드 셰이크가 실패하면 해당 포트에서 SSL을 사용할 수 없다는 것을 알게됩니다.

코드의 라인을 따라 다음과 같습니다

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

예외는 아니 SSL을 의미합니다.

관련 문제