답변:
Telnet / Netcat 클라이언트는 없습니다. 두 개의 별도 프로그램이며 최소 10 개의 다른 Telnet 클라이언트와 최소 6 개의 다른 Netcat 버전이 있습니다 (원래 netcat, GNU netcat, OpenBSD netcat, nmap의 ncat; 나머지는 잊어 버렸습니다).
선호하는 도구는 TLS 라이브러리 자체에서 제공됩니다. 그러나 조금 장황 할 수도 있습니다.
GnuTLS 에는 Linux에 TLS 클라이언트 도구가 있습니다.
gnutls-cli imap.gmail.com -p 993
-s
STARTTLS에 사용 ; 필요한 프로토콜 명령을 수동으로 입력하고 CtrlD준비가되면를 눌러야 합니다.
IPv6을 지원하고 기본적으로 서버 인증서의 유효성을 검사합니다.
OpenSSL 에는 TLS 클라이언트 도구가 있습니다.
openssl s_client -connect imap.gmail.com:993
모든 운영 체제에서 사용할 수 있습니다. STARTTLS는 -starttls imap
또는 -starttls smtp
옵션을 통해 지원되며 프로그램이 자동으로 협상합니다. (그렇지만 초기 서버 응답을 버리지 만 일반적으로 괜찮습니다.)
1.1 이상 버전 만 IPv6을 지원합니다.
버전 ≥ 1.0.2 (IIRC) 만 기본적으로 서버 인증서의 유효성을 검사합니다. 이전 버전에는 수동 -CApath 스펙이 필요합니다.
(NSS 및 SChannel 테스트 도구도 갖고 싶지만 찾을 수 없었습니다.)
또한 프로그램은 동일한 라이브러리를 사용하지만 구성 노브가 더 적을 수 있습니다. 일부는 기본적으로 피어 인증서 검사를 건너 뜁니다 ...
socat :
socat openssl:imap.gmail.com:993 stdio
readline 모드는 편의상 사용할 수 있습니다.
socat ssl:imap.gmail.com:993 readline
STARTTLS는 지원되지 않습니다.
nmap의 ncat 은 TLS를 지원하지만 STARTTLS는 지원하지 않습니다.
ncat --ssl imap.gmail.com 993
Debian 의 telnet-ssl 패키지 와 같은 일부 Telnet 클라이언트 도 TLS를 지원합니다.
telnet-ssl -z ssl imap.gmail.com 993
이스케이프 메뉴 starttls
에서 STARTTLS를 활성화 할 수 있습니다 Ctrl].
s_client
은 1.1 릴리스에서 IPv6을 지원합니다.
-verify_return_error
입니다.
크로스 플랫폼 지원이 필요한 경우 sclient ( git ) 도 있습니다 (예 : Windows).
example.com의 tls를 풀어주는 로컬 서버를 만듭니다.
$ sclient example.com:443 localhost:3000
> [listening] example.com:443 <= localhost:3000
telnet으로 example.com에 요청하십시오.
$ telnet localhost 3000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
> GET / HTTP/1.1
> Host: example.com
> Connection: close
>
>