在本文中,我們將深入研究如何在 Linux 系統上調試 HTTP/HTTPS 流量。 我們將介紹 OpenSSL 和 跟踪文件 腳本。 htrace.sh 是一個簡單的 shell 腳本,用於調試 HTTP/https 流量跟踪。
此外,它還可以用於使用外部安全工具(主要是 Mozilla Observatory 和 SSL Labs API)掃描域. 另一方面,OpenSSL 是一個加密工具包,它依賴 SSL(V2 和 3)和 TLS v1 協議來調試流量。
1) 使用 htrace 腳本
shell 腳本用於檢查基本 SSL 配置、Web 服務器和反向代理的域配置、運行的每個查詢的響應標頭以及進行重定向分析,以消除重定向循環。 此外,可以使用簡單的 shell 腳本命令顯示更詳細的信息。 這包括
- 遠程地址
- HTTP版本
- 網站運行的服務器
- 內容類型
- 內容編碼
要求
在繼續之前,請確保您的系統中安裝了以下內容
- 捲曲 7.49 及更高版本
- 開放式SSL
- 吉特
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) 網絡協議。 還包括 openssl
可用於調試 SSL 證書問題的命令。
用法
openssl s_client -connect ssl.servername.com:443
下面是一個 example 如何使用該命令在端口 443 上連接到 linoxide.com
openssl s_client -connect www.linoxide.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-----
這就是我們今天為您準備的全部內容。 隨意嘗試 htrace.sh shell 腳本和 openssl 命令來調試 SSL 證書。 與往常一樣,您的反饋很有價值,也很受歡迎。