【curl】curl -sSL -vvv -k https://www.example.com

SSL Server Test
https://www.ssllabs.com/ssltest/analyze.html

image.png
# curl --help

Usage: curl [options...] <url>
Options: (H) means HTTP/HTTPS only, (F) means FTP only
     --anyauth       Pick "any" authentication method (H)
 -a, --append        Append to target file when uploading (F/SFTP)
     --basic         Use HTTP Basic Authentication (H)
     --cacert FILE   CA certificate to verify peer against (SSL)
     --capath DIR    CA directory to verify peer against (SSL)
 -E, --cert CERT[:PASSWD] Client certificate file and password (SSL)
     --cert-type TYPE Certificate file type (DER/PEM/ENG) (SSL)
     --ciphers LIST  SSL ciphers to use (SSL)
     --compressed    Request compressed response (using deflate or gzip)
 -K, --config FILE   Specify which config file to read
     --connect-timeout SECONDS  Maximum time allowed for connection
 -C, --continue-at OFFSET  Resumed transfer offset
 -b, --cookie STRING/FILE  String or file to read cookies from (H)
 -c, --cookie-jar FILE  Write cookies to this file after operation (H)
     --create-dirs   Create necessary local directory hierarchy
     --crlf          Convert LF to CRLF in upload
     --crlfile FILE  Get a CRL list in PEM format from the given file
 -d, --data DATA     HTTP POST data (H)
     --data-ascii DATA  HTTP POST ASCII data (H)
     --data-binary DATA  HTTP POST binary data (H)
     --data-urlencode DATA  HTTP POST data url encoded (H)
     --delegation STRING GSS-API delegation permission
     --digest        Use HTTP Digest Authentication (H)
     --disable-eprt  Inhibit using EPRT or LPRT (F)
     --disable-epsv  Inhibit using EPSV (F)
 -D, --dump-header FILE  Write the headers to this file
     --egd-file FILE  EGD socket path for random data (SSL)
     --engine ENGINGE  Crypto engine (SSL). "--engine list" for list
 -f, --fail          Fail silently (no output at all) on HTTP errors (H)
 -F, --form CONTENT  Specify HTTP multipart POST data (H)
     --form-string STRING  Specify HTTP multipart POST data (H)
     --ftp-account DATA  Account data string (F)
     --ftp-alternative-to-user COMMAND  String to replace "USER [name]" (F)
     --ftp-create-dirs  Create the remote dirs if not present (F)
     --ftp-method [MULTICWD/NOCWD/SINGLECWD] Control CWD usage (F)
     --ftp-pasv      Use PASV/EPSV instead of PORT (F)
 -P, --ftp-port ADR  Use PORT with given address instead of PASV (F)
     --ftp-skip-pasv-ip Skip the IP address for PASV (F)
     --ftp-pret      Send PRET before PASV (for drftpd) (F)
     --ftp-ssl-ccc   Send CCC after authenticating (F)
     --ftp-ssl-ccc-mode ACTIVE/PASSIVE  Set CCC mode (F)
     --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)
 -G, --get           Send the -d data with a HTTP GET (H)
 -g, --globoff       Disable URL sequences and ranges using {} and []
 -H, --header LINE   Custom header to pass to server (H)
 -I, --head          Show document info only
 -h, --help          This help text
     --hostpubmd5 MD5  Hex encoded MD5 string of the host public key. (SSH)
 -0, --http1.0       Use HTTP 1.0 (H)
     --ignore-content-length  Ignore the HTTP Content-Length header
 -i, --include       Include protocol headers in the output (H/F)
 -k, --insecure      Allow connections to SSL sites without certs (H)
     --interface INTERFACE  Specify network interface/address to use
 -4, --ipv4          Resolve name to IPv4 address
 -6, --ipv6          Resolve name to IPv6 address
 -j, --junk-session-cookies Ignore session cookies read from file (H)
     --keepalive-time SECONDS  Interval between keepalive probes
     --key KEY       Private key file name (SSL/SSH)
     --key-type TYPE Private key file type (DER/PEM/ENG) (SSL)
     --krb LEVEL     Enable Kerberos with specified security level (F)
     --libcurl FILE  Dump libcurl equivalent code of this command line
     --limit-rate RATE  Limit transfer speed to this rate
 -l, --list-only     List only names of an FTP directory (F)
     --local-port RANGE  Force use of these local port numbers
 -L, --location      Follow redirects (H)
     --location-trusted like --location and send auth to other hosts (H)
 -M, --manual        Display the full manual
     --mail-from FROM  Mail from this address
     --mail-rcpt TO  Mail to this receiver(s)
     --mail-auth AUTH  Originator address of the original email
     --max-filesize BYTES  Maximum file size to download (H/F)
     --max-redirs NUM  Maximum number of redirects allowed (H)
 -m, --max-time SECONDS  Maximum time allowed for the transfer
     --metalink      Process given URLs as metalink XML file
     --negotiate     Use HTTP Negotiate Authentication (H)
 -n, --netrc         Must read .netrc for user name and password
     --netrc-optional Use either .netrc or URL; overrides -n
     --netrc-file FILE  Set up the netrc filename to use
 -N, --no-buffer     Disable buffering of the output stream
     --no-keepalive  Disable keepalive use on the connection
     --no-sessionid  Disable SSL session-ID reusing (SSL)
     --noproxy       List of hosts which do not use proxy
     --ntlm          Use HTTP NTLM authentication (H)
 -o, --output FILE   Write output to <file> instead of stdout
     --pass PASS     Pass phrase for the private key (SSL/SSH)
     --post301       Do not switch to GET after following a 301 redirect (H)
     --post302       Do not switch to GET after following a 302 redirect (H)
     --post303       Do not switch to GET after following a 303 redirect (H)
 -#, --progress-bar  Display transfer progress as a progress bar
     --proto PROTOCOLS  Enable/disable specified protocols
     --proto-redir PROTOCOLS  Enable/disable specified protocols on redirect
 -x, --proxy [PROTOCOL://]HOST[:PORT] Use proxy on given port
     --proxy-anyauth Pick "any" proxy authentication method (H)
     --proxy-basic   Use Basic authentication on the proxy (H)
     --proxy-digest  Use Digest authentication on the proxy (H)
     --proxy-negotiate Use Negotiate authentication on the proxy (H)
     --proxy-ntlm    Use NTLM authentication on the proxy (H)
 -U, --proxy-user USER[:PASSWORD]  Proxy user and password
     --proxy1.0 HOST[:PORT]  Use HTTP/1.0 proxy on given port
 -p, --proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)
     --pubkey KEY    Public key file name (SSH)
 -Q, --quote CMD     Send command(s) to server before transfer (F/SFTP)
     --random-file FILE  File for reading random data from (SSL)
 -r, --range RANGE   Retrieve only the bytes within a range
     --raw           Do HTTP "raw", without any transfer decoding (H)
 -e, --referer       Referer URL (H)
 -J, --remote-header-name Use the header-provided filename (H)
 -O, --remote-name   Write output to a file named as the remote file
     --remote-name-all Use the remote file name for all URLs
 -R, --remote-time   Set the remote file's time on the local output
 -X, --request COMMAND  Specify request command to use
     --resolve HOST:PORT:ADDRESS  Force resolve of HOST:PORT to ADDRESS
     --retry NUM   Retry request NUM times if transient problems occur
     --retry-delay SECONDS When retrying, wait this many seconds between each
     --retry-max-time SECONDS  Retry only within this period
 -S, --show-error    Show error. With -s, make curl show errors when they occur
 -s, --silent        Silent mode. Don't output anything
     --socks4 HOST[:PORT]  SOCKS4 proxy on given host + port
     --socks4a HOST[:PORT]  SOCKS4a proxy on given host + port
     --socks5 HOST[:PORT]  SOCKS5 proxy on given host + port
     --socks5-basic  Enable username/password auth for SOCKS5 proxies
     --socks5-gssapi Enable GSS-API auth for SOCKS5 proxies
     --socks5-hostname HOST[:PORT] SOCKS5 proxy, pass host name to proxy
     --socks5-gssapi-service NAME  SOCKS5 proxy service name for gssapi
     --socks5-gssapi-nec  Compatibility with NEC SOCKS5 server
 -Y, --speed-limit RATE  Stop transfers below speed-limit for 'speed-time' secs
 -y, --speed-time SECONDS  Time for trig speed-limit abort. Defaults to 30
     --ssl           Try SSL/TLS (FTP, IMAP, POP3, SMTP)
     --ssl-reqd      Require SSL/TLS (FTP, IMAP, POP3, SMTP)
 -2, --sslv2         Use SSLv2 (SSL)
 -3, --sslv3         Use SSLv3 (SSL)
     --ssl-allow-beast Allow security flaw to improve interop (SSL)
     --stderr FILE   Where to redirect stderr. - means stdout
     --tcp-nodelay   Use the TCP_NODELAY option
 -t, --telnet-option OPT=VAL  Set telnet option
     --tftp-blksize VALUE  Set TFTP BLKSIZE option (must be >512)
 -z, --time-cond TIME  Transfer based on a time condition
 -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)
     --tls-max VERSION  Use TLS up to VERSION (SSL)
     --trace FILE    Write a debug trace to the given file
     --trace-ascii FILE  Like --trace but without the hex output
     --trace-time    Add time stamps to trace/verbose output
     --tr-encoding   Request compressed transfer encoding (H)
 -T, --upload-file FILE  Transfer FILE to destination
     --url URL       URL to work with
 -B, --use-ascii     Use ASCII/text transfer
 -u, --user USER[:PASSWORD]  Server user and password
     --tlsuser USER  TLS username
     --tlspassword STRING TLS password
     --tlsauthtype STRING  TLS authentication type (default SRP)
     --unix-socket FILE    Connect through this UNIX domain socket
 -A, --user-agent STRING  User-Agent to send to server (H)
 -v, --verbose       Make the operation more talkative
 -V, --version       Show version number and quit
 -w, --write-out FORMAT  What to output after completion
     --xattr        Store metadata in extended file attributes
 -q                 If used as the first parameter disables .curlrc

curl 是一个用于发送网络请求的命令行工具。它支持各种协议,包括HTTP、FTP、SFTP等,并且具有很多可配置的选项。

这是curl命令的帮助文档,它是一个用于在命令行中进行网络数据传输的工具。

下面是各个选项的详细解释:

  • --anyauth:选择任意一种认证方法(仅限HTTP/HTTPS)。
  • -a, --append:上传文件时追加到目标文件(仅限FTP/SFTP)。
  • --basic:使用HTTP基本身份验证(仅限HTTP/HTTPS)。
  • --cacert FILE:用于验证对等方的CA证书(SSL)。
  • --capath DIR:用于验证对等方的CA目录(SSL)。
  • -E, --cert CERT[:PASSWD]:客户端证书文件和密码(SSL)。
  • --cert-type TYPE:证书文件类型(DER/PEM/ENG)(SSL)。
  • --ciphers LIST:要使用的SSL密码套件(SSL)。
  • --compressed:请求压缩响应(使用deflate或gzip)。
  • -K, --config FILE:指定要读取的配置文件。
  • --connect-timeout SECONDS:连接最长允许的时间。
  • -C, --continue-at OFFSET:恢复传输的偏移量。
  • -b, --cookie STRING/FILE:从字符串或文件中读取Cookie(仅限HTTP/HTTPS)。
  • -c, --cookie-jar FILE:操作后将Cookie写入此文件(仅限HTTP/HTTPS)。
  • --create-dirs:创建必要的本地目录层次结构。
  • --crlf:在上传时将LF转换为CRLF。
  • --crlfile FILE:从给定文件中获取PEM格式的CRL列表。
  • -d, --data DATA:HTTP POST数据(仅限HTTP/HTTPS)。
  • --data-ascii DATA:HTTP POST ASCII数据(仅限HTTP/HTTPS)。
  • --data-binary DATA:HTTP POST二进制数据(仅限HTTP/HTTPS)。
  • --data-urlencode DATA:HTTP POST数据进行URL编码(仅限HTTP/HTTPS)。
  • --delegation STRING:GSS-API委托权限。
  • --digest:使用HTTP摘要身份验证(仅限HTTP/HTTPS)。
  • --disable-eprt:禁止使用EPRT或LPRT(仅限FTP)。
  • --disable-epsv:禁止使用EPSV(仅限FTP)。
  • -D, --dump-header FILE:将头部写入此文件。
  • --egd-file FILE:用于获取随机数据的EGD套接字路径(SSL)。
  • --engine ENGINGE:加密引擎(SSL)。"--engine list"可查看列表。
  • -f, --fail:发生HTTP错误时静默失败(没有任何输出)。
  • -F, --form CONTENT:指定HTTP多部分POST数据(仅限HTTP/HTTPS)。
  • --form-string STRING:指定HTTP多部分POST数据(仅限HTTP/HTTPS)。
  • --ftp-account DATA:账户数据字符串(仅限FTP)。
  • --ftp-alternative-to-user COMMAND:替换"USER [name]"的字符串(仅限FTP)。
  • --ftp-create-dirs:如果不存在,则创建远程目录(仅限FTP)。
  • --ftp-method [MULTICWD/NOCWD/SINGLECWD]:控制CWD使用方式(仅限FTP)。
  • --ftp-pasv:使用PASV/EPSV代替PORT(仅限FTP)。
  • -P, --ftp-port ADR:使用指定地址的PORT代替PASV(仅限FTP)。
  • --ftp-skip-pasv-ip:跳过PASV的IP地址(仅限FTP)。
  • --ftp-pret:在PASV之前发送PRET(用于drftpd)(仅限FTP)。。
  • --ftp-pret:在PASV模式之前发送PRET命令(适用于drftpd)(仅适用于FTP协议)。
  • --ftp-ssl-ccc:在认证后发送CCC命令(仅适用于FTP协议)。
  • --ftp-ssl-ccc-mode ACTIVE/PASSIVE:设置CCC模式为主动或被动(仅适用于FTP协议)。
  • --ftp-ssl-control:要求在FTP登录时使用SSL/TLS加密,传输时不加密(仅适用于FTP协议)。
  • -G, --get:使用HTTP GET方法发送数据(仅适用于HTTP协议)。
  • -g, --globoff:禁用URL中的序列和范围扩展,如{}和[]。
  • -H, --header LINE:自定义要传递给服务器的头信息(适用于HTTP协议)。
  • -I, --head:仅显示文档的信息(适用于HTTP协议)。
  • -h, --help:显示帮助文本。
  • --hostpubmd5 MD5:主机公钥的十六进制MD5字符串(适用于SSH协议)。
  • -0, --http1.0:使用HTTP 1.0版本(适用于HTTP协议)。
  • --ignore-content-length:忽略HTTP响应头中的Content-Length字段。
  • -i, --include:在输出中包含协议头信息(适用于HTTP和FTP协议)。
  • -k, --insecure:允许连接到没有证书的SSL站点(适用于HTTPS协议)。
  • --interface INTERFACE:指定要使用的网络接口/地址。
  • -4, --ipv4:将名称解析为IPv4地址。
  • -6, --ipv6:将名称解析为IPv6地址。
  • -j, --junk-session-cookies:忽略从文件中读取的会话cookie(适用于HTTP协议)。
  • --keepalive-time SECONDS:保持存活探测之间的间隔时间。
  • --key KEY:私钥文件名(适用于SSL和SSH协议)。
  • --key-type TYPE:私钥文件类型(DER/PEM/ENG)(适用于SSL协议)。
  • --krb LEVEL:启用指定安全级别的Kerberos身份验证(仅适用于FTP协议)。
  • --libcurl FILE:将该命令行转换为对应的libcurl代码并输出到文件中。
  • --limit-rate RATE:限制传输速度为指定的速率。
  • -l, --list-only:仅列出FTP目录的文件名(仅适用于FTP协议)。
  • --local-port RANGE:强制使用指定的本地端口号。
  • -L, --location:跟随重定向(适用于HTTP协议)。
  • --location-trusted:类似于--location选项,并且向其他主机发送认证信息(适用于HTTP协议)。
  • -M, --manual:显示完整的手册。
  • --mail-from FROM:指定邮件的发件人地址。
  • -Q, --quote CMD:在传输之前向服务器发送命令(对于FTP/SFTP协议)
  • --random-file FILE:从指定文件中读取随机数据(用于SSL协议)
  • -r, --range RANGE:只检索指定范围内的字节
  • --raw:进行"原始"HTTP操作,不进行任何传输解码(对于H协议)
  • -e, --referer:设置Referer URL(对于H协议)
  • -J, --remote-header-name:使用头部提供的文件名(对于H协议)
  • -O, --remote-name:将输出写入与远程文件同名的文件中
  • --remote-name-all:对所有URL使用远程文件名
  • -R, --remote-time:设置本地输出文件的远程文件时间
  • -X, --request COMMAND:指定要使用的请求命令
  • --resolve HOST:PORT:ADDRESS:强制将HOST:PORT解析为ADDRESS
  • --retry NUM:如果发生暂时性问题,则重试请求NUM次
  • --retry-delay SECONDS:重试时,在每次重试之间等待的秒数
  • --retry-max-time SECONDS:只在此期间内重试
  • -S, --show-error:显示错误。与-s一起使用时,使curl在出现错误时显示错误
  • -s, --silent:静默模式,不输出任何内容
  • --socks4 HOST[:PORT]:在指定主机和端口上使用SOCKS4代理
  • --socks4a HOST[:PORT]:在指定主机和端口上使用SOCKS4a代理
  • --socks5 HOST[:PORT]:在指定主机和端口上使用SOCKS5代理
  • --socks5-basic:为SOCKS5代理启用用户名/密码身份验证
  • --socks5-gssapi:为SOCKS5代理启用GSS-API身份验证
  • --socks5-hostname HOST[:PORT]:使用SOCKS5代理,将主机名传递给代理
  • --socks5-gssapi-service NAME:GSSAPI的SOCKS5代理服务名称
  • --socks5-gssapi-nec:与NEC SOCKS5服务器兼容
  • -Y, --speed-limit RATE:停止低于速度限制的传输,持续时间为'speed-time'秒
  • -y, --speed-time SECONDS:触发速度限制中止的时间,默认为30秒
  • --ssl:尝试使用SSL/TLS(对于FTP、IMAP、POP3、SMTP协议)
  • --ssl-reqd:要求使用SSL/TLS(对于FTP、IMAP、POP3、SMTP协议)
  • -2, --sslv2:使用SSLv2(SSL协议)
  • -3, --sslv3:使用SSLv3(SSL协议)
  • --ssl-allow-beast:允许安全漏洞以提高互操作性(SSL协议)
  • --stderr FILE:将标准错误重定向到指定文件。'-'表示重定向到标准输出
  • --tcp-nodelay:使用TCP_NODELAY选项
  • -t, --telnet-option OPT=VAL:设置telnet选项
  • --tftp-blksize VALUE:设置TFTP BLKSIZE选项(必须大于512)
  • -z, --time-cond TIME:基于时间条件进行传输
  • -1, --tlsv1:使用TLSv1及以上版本(SSL协议)
  • --tlsv1.0:使用TLSv1.0版本(SSL协议)
  • --tlsv1.1:使用TLSv1.1版本(SSL协议)
  • --tlsv1.3:使用TLSv1.3版本(SSL协议)
  • --tls-max VERSION:使用最高到指定VERSION的TLS版本(SSL协议)
  • --trace FILE:将调试跟踪写入给定文件
  • --trace-ascii FILE:类似于--trace,但不包含十六进制输出
  • --trace-time:在跟踪/详细输出中添加时间戳
  • --tr-encoding:请求压缩传输编码(对于H协议)
  • -T, --upload-file FILE:将FILE传输到目标位置
  • --url URL:要处理的URL
  • -B, --use-ascii:使用ASCII/文本传输
  • -u, --user USER[:PASSWORD]:服务器用户名和密码
  • --tlsuser USER:TLS用户名
  • --tlspassword STRING:TLS密码
  • --tlsauthtype STRING:TLS身份验证类型(默认为SRP)
  • --unix-socket FILE:通过此UNIX域套接字进行连接
  • -A, --user-agent STRING:发送到服务器的User-Agent(对于H协议)
  • -v, --verbose:使操作更加健谈
  • -V, --version:显示版本号并退出
  • -w, --write-out FORMAT:完成后输出内容的格式
  • --xattr:在扩展文件属性中存储元数据
  • -q:如果作为第一个参数使用,则禁用.curlrc文件

这些选项允许您对curl命令进行各种配置和自定义,以满足特定的需求。

curl -sSL -vvv https://www.example.com

这条命令是使用curl命令来访问指定网址的详细解读如下:

  • curl: curl是一个用于发送HTTP请求和获取服务器响应的命令行工具。
  • -sSL: 这些选项是curl的标志,具体解释如下:
    • -s:静默模式,不显示进度或错误信息。
    • -S:强制显示错误信息(如果有)。
    • -L:自动跟随重定向。
  • -vvv: 这是另一个curl的标志,表示输出详细的调试信息。其中-v选项会显示更多的信息,而-vvv会显示最详细的调试信息。
  • https://www.example.com: 这是要访问的网址。在命令中,您可以替换为其他网址以实现相应的访问。

因此,该命令的目的是以详细模式通过HTTPS访问指定的网址https://www.example.com,并在输出中显示详细的调试信息。

curl -sSL -vvv -k https://www.example.com

这是与之前命令稍有不同的curl命令,具体解读如下:

  • curl: curl是一个用于发送HTTP请求和获取服务器响应的命令行工具。
  • -sSL: 这些选项是curl的标志,具体解释如下:
    • -s:静默模式,不显示进度或错误信息。
    • -S:强制显示错误信息(如果有)。
    • -L:自动跟随重定向。
  • -vvv: 这是另一个curl的标志,表示输出详细的调试信息。其中-v选项会显示更多的信息,而-vvv会显示最详细的调试信息。
  • -k: 这是curl的选项,用于跳过SSL证书验证。通过使用该选项,curl将接受任何证书,包括无效或过期的证书。
  • https://www.example.com: 这是要访问的网址。在命令中,您可以替换为其他网址以实现相应的访问。

因此,该命令的目的是以详细模式通过HTTPS访问指定的网址https://www.example.com,并在输出中显示详细的调试信息。此外,由于使用了-k选项,curl将跳过对SSL证书的验证。

 # curl --help  | grep insecure
 -k, --insecure      Allow connections to SSL sites without certs (H)

根据您提供的命令curl --help | grep insecure,我们可以看到以下输出:

  • -k, --insecure: 这是curl的选项之一。使用该选项可以允许在没有证书的情况下连接到SSL站点。它会禁用对SSL证书的验证,因此不会检查证书的有效性和可信性。

总结起来,-k, --insecure选项允许curl在与SSL站点建立连接时跳过证书验证,这意味着它可以连接到没有有效或可信证书的站点。请注意,使用此选项可能存在安全风险,因为它会使您的通信容易受到中间人攻击的影响。

echo | openssl s_client -showcerts -connect www.example.com:443 2> /dev/null | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p'

这条命令使用了多个命令和管道来解析和提取指定网址的SSL证书。下面是详细的解读:

  • echo: echo命令用于输出一个换行符,作为输入管道的起始。
  • |: 管道符号,将前一个命令的输出作为后一个命令的输入。
  • openssl s_client: 这是一个OpenSSL命令,用于建立与指定主机和端口的SSL/TLS连接,并打印出与之相关的信息。
  • -showcerts: 这是openssl s_client命令的选项,它告诉命令在连接过程中显示所有证书链。
  • -connect www.example.com:443: 这是openssl s_client命令的参数,指定要连接的目标主机和端口(在此例中是www.example.com的443端口,即HTTPS默认端口)。
  • 2> /dev/null: 这是重定向错误输出的一种方式,将stderr(标准错误输出)重定向到空设备文件/dev/null,从而禁止在终端上显示错误消息。
  • sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p': 这是sed命令的使用方式,用于从输入数据中提取位于"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----"之间的内容行。

因此,整个命令的目的是通过openssl s_client命令与指定的网址的443端口建立SSL/TLS连接,并显示与之相关的证书链信息。然后,使用sed命令提取位于"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----"之间的内容行,这些行代表证书的一部分或完整的内容。最终结果将作为输出显示在终端上。通过重定向错误输出到/dev/null,任何错误消息都将被忽略。

openssl x509 -noout -text -in www.example.com.crt

这条命令使用了openssl x509命令来解析和显示指定证书文件的详细信息。下面是详细的解读:

  • openssl: openssl是一个开放源代码的加密工具包,提供了一系列用于处理SSL/TLS协议和证书的命令。
  • x509: 这是openssl的子命令之一,用于操作和管理X.509证书。
  • -noout: 这是openssl x509命令的选项之一,它告诉命令不要输出证书的任何信息,只执行其他操作(在这种情况下,显示证书的文本表示)。
  • -text: 这是openssl x509命令的选项,它告诉命令以人类可读的格式显示证书的详细内容。
  • -in www.example.com.crt: 这是openssl x509命令的参数,指定要解析和显示详细信息的证书文件(在此例中是www.example.com.crt)。

因此,整个命令的目的是使用openssl x509命令读取并解析指定的证书文件www.example.com.crt,并以人类可读的文本格式显示该证书的详细信息。这些信息可能包括证书的颁发者、有效期、公钥、签名算法等。通过在终端上运行该命令,您可以查看和验证证书的属性和内容。

参考

【curl】curl 携带 playload 怎么写?
https://www.jianshu.com/p/2f5431dfbc39

【curl】curl --resolve 参数的使用
https://www.jianshu.com/p/84639e8d99f3

【DNS】k8s pod 无法解析域名导致接口调用失败问题处理
https://www.jianshu.com/p/0aa34a1797aa

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容