2017-05-31 134 views
0

我想測量完成TCP三次握手所需的時間。我想在我的Linux服務器上測量它。什麼是最佳做法?請注意,我想在服務器端和所有正在接受的連接上測量此延遲。測量TCP連接延遲的工具

+0

服務器發送「SYN + ACK」和客戶端響應「ACK」之間的時間是? –

+0

客戶端的第一個SYN與服務器發送SYN + ACK的時間之間的時間。 – gst

+0

在服務器上測量時,客戶端發送「SYN」的時間不可用。可用時間是客戶端的「SYN」到達時。 –

回答

1

對不起,你是對的我誤解了這個問題。

我想你可以用'tcpdump'來實現這個功能,它是一個非常完整的工具,可以查看tcp流量中的所有事件。

通過您的評論,我看到你想測量SYNC到ACK數據包之間的時間。

使用tcpdump可以過濾連接和特定軟件包:

tcpdump -r <interface> "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0" 

,默認情況下的時間將在tcpdump的結果的第一列中顯示。

檢查this,我認爲它可以幫助。

我不知道這是否是最佳做法。另外如果你想操縱這些數據,你可以管理結果並使用awk或類似的東西。

編輯:通過搜索谷歌我也發現this resource這真的很有趣。

+0

您的方法只能在客戶端使用,無法測量到服務器的所有傳入請求的延遲。請仔細閱讀問題。 – gst

+0

連接後,'telnet'命令等待用戶輸入。 –