web-dev-qa-db-ja.com

SSL接続をどのようにテストしますか?

ネットワークアプリケーションでOpenSSLを試していますが、送信されたデータが暗号化されており、盗聴者に見えないかどうかをテストしたいと思います。

チェックに使用できるツールは何ですか?これはプログラムで実行できるため、単体テストに配置できますか?

21
MrValdez

ワイヤーシャークをチェックしてください http://www.wireshark.org/

およびtcpダンプ http://en.wikipedia.org/wiki/Tcpdump

これらを単体テストに統合するかどうかわからない。彼らはあなたがネットワークレベルで何が起こっているのかを非常に低いレベルで見ることができます。

おそらく単体テストでは、ストリームが暗号化されていないように見え、暗号化されたストリームが類似していないことを確認します

7
Paul Whelan

opensslにはs_client があります。これは、サーバー接続のテストに使用できる迅速でダーティな汎用クライアントです。サーバー証明書とネゴシエートされた暗号化スキームが表示されます。

18
Mark Brackett

私は このガイド がとても役に立ちました。これらは彼が使用したいくつかのツールです:

$ openssl s_client -connect mail.prefetch.net:443 -state -nbio 2>&1 | grep "^SSL"

$ ssldump -a -A -H -i en0

$ ssldump -a -A -H -k rsa.key -i en0

$ ssldump -a -A -H -k rsa.key -i en0 Host fred and port 443

13
f01

Franci Penovが私の質問の1つに回答しました " Webサイトに送信されたログポストパラメータ "、Fiddlerを見てみるよう提案しました: http://www.fiddler2.com/fiddler2 /

私はそれを試してみましたが、HTTPリクエストの表示に興味がある場合は、美しく機能します。 :)

4
RodgerB

ええ-Wire Shark( http://www.wireshark.org/ )はかなりクールです(フィルター、レポート、統計)。

テストに関しては、統合テストの一部として行うことができます(wiresharkにはいくつかのコマンドラインオプションがあります)

1
Slav

簡単にチェックするには、データがプレーンテキストで送信されているかどうかを確認するために Wireshark (以前のEthereal)を使用できます。

0
Ciryon

前に述べたように http://www.wireshark.org/cain&able トラフィックを3番目のマシンにリダイレクトし、そこからプロトコルをアクティブ化します。

0
Oli