SSL、HTTPS、およびSSL/TLSを介した他の安全なテキストベースのインターネットプロトコルによるクライアント接続をテストしたいのですが、安全なプロトコルを介してトンネリングされていない場合はtelnetまたはnetcatを使用します。 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
STARTTLSには-s
を使用してください。必要なプロトコルコマンドを手動で入力してを押す必要があります。 CtrlD 準備ができたら。
IPv6をサポートし、デフォルトでサーバー証明書を検証します。
OpenSSLにTLSクライアントツールがあります。
openssl s_client -connect imap.gmail.com:993
これはすべてのオペレーティングシステムで利用可能です。 STARTTLSは-starttls imap
または-starttls smtp
オプションでサポートされており、プログラムは自動的にそれをネゴシエートします。 (そうしてしまうと、最初のサーバーからの応答は捨てられますが、通常は問題ありません。)
IPv6をサポートするのはバージョン≥1.1だけです。
デフォルトでバージョン1.0.2(IIRC)のみがサーバー証明書を検証します。古いバージョンでは手動の-CApath指定が必要です。
(NSSとSChannelをテストするためのツールも欲しいのですが、見つけることができませんでした。)
プログラムも同じライブラリを使用しますが、設定ノブが少ないかもしれません。デフォルトでピア証明書チェックをスキップするものさえあります...
socat:
socat openssl:imap.gmail.com:993 stdio
readlineモードは便利に使用できます。
socat ssl:imap.gmail.com:993 readline
STARTTLSはサポートされていません。
ncat nmapからはTLSをサポートしています(ただしSTARTTLSはサポートしていません)。
ncat --ssl imap.gmail.com 993
Debianのtelnet-sslパッケージなどのTelnetクライアントもTLSをサポートしています。
telnet-ssl -z ssl imap.gmail.com 993
STARTTLSは、からのstarttls
を使用してアクティブ化できます。 Ctrl] エスケープメニュー。
あなたはopenssl s_clientを見たいかもしれません。
# openssl s_client -connect dummy.com:8443
ええ、stunnelと呼ばれるプログラムがあります
設定ファイルがあります。
あなたはそれにどのポートをリッスンするか、どのポートに転送するかを伝えます。
クライアント側、サーバー側、またはその両方で機能します。
そのため、sslをサポートしていないサーバーを事実上サポートするサーバーに変えることができます。
またはsslをサポートしていないクライアントから、事実上サポートしているクライアントへ。
または、クライアントとサーバーの両方にSSL接続を設定します。
クロスプラットフォームサポートが必要な場合は、 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
>
>