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を使用すると、時間_アプリ接続握手のタイミングです合計時間そして、両方を減算して、記録フェーズのおおよそのタイミングを取得します。(検索やリクエストなどにかかる時間はごくわずかであるため無視します)。
いくつかのファイアウォール ルールを使用する場合と使用しない場合の 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は秒単位で印刷されます。