
サーバーがサポートしているTLS暗号スイートを列挙するコマンドラインツール
tlsenum は、サーバーがサポートしている TLS 暗号スイートを列挙し、優先順位の高い順にリストアップしようとするコマンドラインツールです。
TLS ClientHello メッセージを送信し、サーバーからの ServerHello 応答を解析することで動作します。
tlsenum は、サーバーがクライアントが示した優先順位を無視して、サーバー側が優先する暗号スイートを決定することを前提としています。これは TLS 仕様で厳密に保証されているわけではありませんが、かなり一般的な実装の詳細のようです。
tlsenum は Python 2.7、3.3、または 3.4 で使用でき、pip でインストールできます。
$ pip install tlsenum
このツールの使用方法は非常に簡単です。以下は twitter.com をスキャンしたときのツールの出力例です。
[ayrx@division tlsenum]$ tlsenum twitter.com 443
TLS Versions supported by server: 3.0, 1.0, 1.1, 1.2
Deflate compression: no
Supported Cipher suites in order of priority:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
その他のオプションについては tlsenum -h を参照してください。