2014-01-06 2 views
2

들어오는 TCP 연결을 허용하는 서버를 작성하고 있으며 C에서 간단한 방법으로 연결이 SSL이 수신 바이트 수만 검사하는지 확인하고 싶습니다. 어떤 도움이 필요합니까?C에서 SSL 프로토콜 감지

+3

특정 포트를 지정 : 여기에 훌륭한 대답과 매우 비슷한 질문입니까? 초기 협상 단계가 있는데, 첫 번째 부분은 ClientHello 메시지입니다. http://security.stackexchange.com/questions/34780/checking-client-hello-for-https-classification –

+0

SSL은 무엇을 반대합니까? 그것은 당신이 탐지해야하는 다른 프로토콜이 무엇인지에 중요합니다. 예를 들어 SSL 또는 HTTP인지 여부를 감지해야하는 경우 매우 쉽습니다. HTTP의 경우 첫 번째 문자는 항상 대문자이며 SSL의 경우에는 그렇지 않습니다. –

답변

2

연결이 설정된 후 첫 번째 메시지는 클라이언트의 "hello"메시지 여야 가능합니다. 메시지의 첫 번째 필드는 SSL/TLS 버전이며 타임 스탬프는 다음과 같습니다. 일반 클라이언트가 사용하는 응용 프로그램 계층 프로토콜에 따라 클라이언트 연결에서 SSL/TLS를 사용하는지 여부를 파악하기에 충분할 수 있습니다.

메시지 구조에 대한 자세한 내용은 http://tools.ietf.org/html/rfc5246#section-7.4을 참조하십시오.

편집 : https://security.stackexchange.com/questions/34780/checking-client-hello-for-https-classification

관련 문제