Ssl

從網路或 pcap 文件中提取 SSL 證書

  • April 14, 2014

如果有人能指出一種從實時 HTTPS 連接(直接來自網路)或網路跟踪文件(pcap 文件)中提取 SSL/TLS 證書的工具或方法,我將不勝感激。我嘗試使用 ssldump,但無法提取證書。我也可以為此(手動)使用 Wireshark,但我想以自動方式執行此操作。為此,我正在使用 Linux 平台。謝謝

編輯:我想提取 SSL 證書,而不是伺服器在 SSL 握手期間發送給客戶端(瀏覽器)。我想使用網路嗅探器(tcpdump)來擷取網路中的 SSL 連接,然後從生成的 pcap 文件中提取證書(或實時提取)。

您是否需要特定格式的證書(PEM/DER/…)?

ssldump 可以使用 -N 選項顯示已解析的 ASN.1 證書,並使用 -r 讀取 pcap 文件作為輸入。以下命令可以以人類可讀的形式向您顯示證書。

ssldump -Nr file.pcap | awk 'BEGIN {c=0;} { if ($0 ~ /^[ ]+Certificate$/) {c=1; print "========================================";} if ($0 !~ /^ +/ ) {c=0;} if (c==1) print $0; }'

awk 腳本不是最乾淨的,但可以完成工作(改進超過了歡迎)。

ssldump 的 -x 選項將顯示實際的數據包負載 (packet_data)。這將包括記錄層和握手協議欄位(即不僅僅是證書)。更智能的腳本/程式碼可能能夠從那裡提取它並將其轉換為更常見的格式。

引用自:https://serverfault.com/questions/313610