如何在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----