当前位置: 首页 > 知识库问答 >
问题:

如何检测我的服务是否使用SSL或TLS以及哪个版本

陆绪
2023-03-14

有选项可以在weblogic服务器上指定TLS或SSL

我无法访问web或app server配置,但我希望确定通过HTTPS连接到web服务器[nginx,apache http webserver]或appserver[weblogic]是否使用SSL或TLS,以及使用哪个版本。

如果

共有1个答案

江丰羽
2023-03-14

如果您无法为您的服务使用一些在线工具,或者您的服务未托管到公共互联网,那么您可以尝试一些方法。

您可以使用nmap作为nmap-sV--script ssl-enum-ciphers-p

如果您没有nmap,或者不允许从您的服务器在系统上安装nmap,并且可以访问该服务,那么您可以使用一些默认工具查看可用的密码。如:

>

$openssl s_客户端-连接

如果您看到成功的连接,那么可以确保服务器能够使用该TLS版本进行协商,TLSv1。2在示例中,使用该密码,TLS_RSA_和_AES_128_GCM_SHA256

您可以在此处找到所有对openssl有效的密码。示例运行如下所示:

$ openssl s_client -connect example.com:443 -tls1_2 -cipher AES128-GCM-SHA256
CONNECTED(00000005)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA
verify return:1
depth=0 C = US, ST = California, L = Los Angeles, O = Internet Corporation for Assigned Names and Numbers, OU = Technology, CN = www.example.org
verify return:1
---
Certificate chain
....
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIHQDCCBiigAwIBAgIQD9B43Ujxor1NDyupa2A4/jANBgkqhkiG9w0BAQsFADBN
...
0Gs4+eH6F9h3SojmPTYkT+8KuZ9w84Mn+M8qBXUQoYoKgIjN
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Los Angeles/O=Internet Corporation for Assigned Names and Numbers/OU=Technology/CN=www.example.org
issuer=/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
---
No client certificate CA names sent
---
SSL handshake has read 4297 bytes and written 408 bytes
---
New, TLSv1/SSLv3, Cipher is AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    ...
    TLS session ticket:
    0000 - 57 04 cc 0f 69 dc 93 6c-e5 d6 50 0a 1c d0 d8 ce   W...i..l..P.....
    ...
    0090 - 9a 34 af 1e c2 09 cf 00-6d 68 36 41 09 40 de 0a   .4......mh6A.@..

    Start Time: 1558594372
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
  • curl:可以使用curl做同样的事情。例如:
$ curl https://example.com --tlsv1.2 --ciphers AES128-GCM-SHA256 -w "%{http_code}\n" -o /dev/null -s

在这种情况下,如果连接成功,000握手失败,您将以有效响应代码的形式获得输出,例如200,因此您可以使用该代码进行区分。

注意:opensslcurl中支持的TLS版本可以通过检查这两种情况下的--help来查找。如:

卷曲:

 -1, --tlsv1         Use >= TLSv1 (SSL)
     --tlsv1.0       Use TLSv1.0 (SSL)
     --tlsv1.1       Use TLSv1.1 (SSL)
     --tlsv1.2       Use TLSv1.2 (SSL)
     --tlsv1.3       Use TLSv1.3 (SSL)

OpenSL:

-tls1_2       - just use TLSv1.2
-tls1_1       - just use TLSv1.1
-tls1         - just use TLSv1
-dtls1        - just use DTLSv1

 类似资料:
  • 由于Log4Shell漏洞,我想搜索并找出我的Java项目是直接实现Log4j还是通过依赖关系实现Log4j,以及哪个版本。 例如,我有使用这些依赖关系管理工具的项目: Maven项目 如何在这些类型的依赖关系管理工具上实现这一点? 有关漏洞的详细信息(包括缓解步骤): CVE-2021-44228 Apache Log4j安全漏洞

  • 我如何知道我使用的是哪个版本的Angular? 我试过: 但是找不到get 通过我知道我正在使用 但是如何获得angularjs版本?

  • 问题内容: 我正在开发需要均衡器的android媒体播放器。但是,均衡器仅在Gingerbread及更高版本上可用,但是cyanogenmod 6修改了audioflinger以用作均衡器,因此我想检测OS版本。 问题答案: 您可以读取属性并与之匹配: 在我的设备上是。

  • 我有一个客户端,它通过指定TLS 1.2发送握手请求到维基,但维基用TLS 1.0版回复。我如何让维基使用1.2版

  • 问题内容: 我需要检查服务器是否支持SSL和来自Web服务器的密码。 我查看了Java中的SSLSocket,但无法正常工作。 我使用的方法始终为每个网址提供相同的协议。此外,我没有从服务器获得密码。我猜是正确的方法 如何检查服务器使用SSL?服务器返回了什么密码? 问题答案: 分别返回 您一方 可以支持的协议和密码列表。返回您启用的这些列表的子集。 这不会告诉您有关服务器支持什么的太多信息。 根

  • 我想知道如何检测我自己的服务是否启用。所以我可以检查我的服务是否未启用,然后告诉用户启用它。