openssl s_client 中的開始時間

openssl s_client 中的開始時間

執行 openssl s_client 指令連線到遠端主機後。終端機上顯示以下輸出。有人可以幫我理解start time這個日誌中的內容嗎?它代表什麼以及它的格式是什麼?

我相信它應該是掛鐘時間,以微秒為單位。但是我一直無法找到與之相關的文檔。

   ---
SSL handshake has read 3876 bytes and written 319 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 3F4EE3992B46727BE2C7C3E76A9A6A8D64D66EE843CB1BB17A76AE2E030C7161
    Session-ID-ctx:
    Master-Key: 016209E50432EFE2359DB73AB527AF718152BFE6F88215A9CE40604E8FF2E2A3AC97A175F46DF737596866A8BC8E3F7F
    Key-Arg   : None
    Start Time: 1397678467
    Timeout   : 300 (sec)
    Verify return code: 19 (self signed certificate in certificate chain)
---
DONE

還有什麼方法可以使用 openssl s_client 或 s_time 來測量握手時間和完成請求的時間(tls 的記錄階段)。

s_time 表示握手所花費的總時間和從伺服器取得資源的時間。

使用curl,可能有一種方法可以得到time_appconnect 時間這是握手時間,總時間然後將兩者相減以獲得記錄階段的大致時間。 (忽略查找、請求等所需的時間,因為它們實際上可以忽略不計)。

我正在嘗試測量使用某些防火牆規則和不使用某些防火牆規則建立 TLS 連線所需的時間。

答案1

關於開始時間,它是一個時間戳,您可以透過日期獲取它或透過它進行轉換。

#!/bin/bash
NOW=$(date "+%s") #timestamp
starttime="1397678467"
convert=$(date --date="@$starttime" "+%Y-%m-%d %H:%M:%S")
echo $convert

所以你的時間戳轉換後你會得到這個日期 2014-04-16 23:01:07


您也可以使用 date 命令來幫助您轉換和計算來自 curl -w 輸出的 time_appconnect 和 time_total

嘗試除以 time_appconnect 或 time_total / 60 = 分鐘。因為 time_total 或 time_appconnect 將以秒為單位列印

相關內容