美文网首页
【curl】curl -sSL -vvv -k http

【curl】curl -sSL -vvv -k http

作者: Bogon | 来源:发表于2024-02-28 15:23 被阅读0次

    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

    相关文章

      网友评论

          本文标题:【curl】curl -sSL -vvv -k http

          本文链接:https://www.haomeiwen.com/subject/oscfzdtx.html