SSL、HTTPS、およびSSL / TLSを介した他の安全なテキストベースのインターネットプロトコルを介したIMAPを使用したクライアント接続をテストします。パイプや代替プログラムなどを使用して、telnetまたはnetcatにSSL / TLSを通過させる方法はありますか?
SSL、HTTPS、およびSSL / TLSを介した他の安全なテキストベースのインターネットプロトコルを介したIMAPを使用したクライアント接続をテストします。パイプや代替プログラムなどを使用して、telnetまたはnetcatにSSL / TLSを通過させる方法はありますか?
回答:
Telnet / Netcatクライアントはありません。これらは2つの別個のプログラムであり、少なくとも 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
>
>