Чтобы измерить это, называется «Время до синхронизации / ACK» (которое НЕ является временем для установления соединения - соединение находится только наполовину открыто, когда в этом состоянии вам необходим третий пакет, подтверждающий установление, чтобы рассмотреть его установлено), вам обычно нужны профессиональные инструменты, которые включают собственный стек TCP, позволяющий проводить такие измерения. Наиболее часто используемая из них называется Spirent Avalanche , но у вас также есть IxLoad Ixia или BreakingPoint Systems (BPS теперь приобретен Ixia, кстати).
Обратите внимание, что да, в третьем пакете не будет никаких данных, и это также верно для первых двух. Они помечены только как Syn и Syn + Ack (это флаги TCP) и не содержат данных приложения. Этот первоначальный обмен, называемый Трехсторонним рукопожатием, поэтому вызывает некоторые издержки, поэтому TCP обычно не используется в приложениях реального времени (голос, живое видео и т. Д.).
Также, как указано, вы не можете предполагать, что Latency = RTT / 2. На самом деле очень сложно измерить задержку в одном направлении выше уровня 3 (IP) - и вы уже находитесь на уровне 4 (TCP) здесь. Этот блог подробно описывает проблему этого: http://synsynack.wordpress.com/2012/04/09/realistic-latency-measurement-in-the-application-layers/