如何在Linux上调试HTTP/HTTPS流量

时间:2020-03-05 15:26:29  来源:igfitidea点击:

在本文中,我们将浏览和了解如何在Linux系统上调试HTTP/HTTPS流量。
我们将使用OpenSSL和HTRASC.SH脚本。

htrace.sh是一个用于调试HTTP/HTTPS流量跟踪的简单shell脚本。

此外,它还可以用于扫描域,主要是Mozilla Observatory和SSL Labs API的外部安全工具。
另一方面,OpenSSL是一个加密工具包,它依赖于SSL(V2和3)和TLS V1协议来调试流量。

1)使用HTRACE脚本

shell脚本用于检查Web服务器和反向代理的基本SSL配置,域配置,每个查询的响应标头运行并进行重定向分析,目的是消除重定向循环。
此外,可以使用Simple shell脚本命令显示更详细的信息。
这包括

  • 远程地址
  • HTTP版本
  • 服务器正在运行
  • 内容类型
  • 内容编码

要求

在进行任何进一步之前,请确保在系统中安装以下内容

  • Curl 7.49 更高版本
  • OpenSSL
  • Git

HTRACE.SH脚本的安装和运行

首先,克隆HTRACE存储库

git clone https://github.com/trimstray/htrace.sh

输出

Cloning into 'htrace.sh'...
remote: Counting objects: 300, done.
remote: Compressing objects: 100% (141/141), done.
remote: Total 300 (delta 151), reused 288 (delta 139), pack-reused 0
Receiving objects: 100% (300/300), 421.03 KiB | 0 bytes/s, done.
Resolving deltas: 100% (151/151), done.
Checking connectivity... done.

导航到HTRACE目录

cd htrace.sh

接下来,使用以下命令安装HTrace

./setup.sh install

输出

Create symbolic link to /usr/local/bin
Create man page to /usr/local/man/man8

HTRACE的用法

现在,我们可以运行应用程序并测试域。
命令的语法是

htrace.sh --domain https://example.com

其他选项包括

Options:
        --help                        show this message
        -d|--domain                   set domain name
        -h|--headers                  show response headers

在下面的命令中,我们将测试Google.com

htrace.sh --domain https://google.com --headers

输出

以下输出来自nmap.org

2)使用openssl

除了使用htrace.sh shell脚本,我们可以使用openssl从shell提示符调试SSL证书问题。
OpenSSL是一种强大的通用加密工具包,它使用安全套接字层(SSL V2/V3)和传输层安全(TLS V1)网络协议。
还包括我们可以用来使用SSL证书调试问题的"openssl"命令"。

用法

openssl s_client -connect ssl.servername.com:443

下面是如何在端口443上连接到OniToad.com的命令的示例

openssl s_client -connect www.theitroad.com:443

示例输出

CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO ECC Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO ECC Domain Validation Secure Server CA 2
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL Multi-Domain, CN = ssl374062.cloudflaressl.com
verify return:1
--
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL Multi-Domain/CN=ssl374062.cloudflaressl.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Domain Validation Secure Server CA 2
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Domain Validation Secure Server CA 2
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
--
Server certificate
-----BEGIN CERTIFICATE----