本文为作者原创内容,未经许可,禁止转载。如您发现侵权行为,请联系我们
文章分为上下两部分,上文中主要使用抓包来分析TCP的首部与选项的含义。下文《深入理解TCP协议下》主要介绍TCP的各种特性。在网络传输中,TCP的样子自然就是一串很长的字节流,但是如何分清楚其“五官”,就是下面要做的事情。
使用WireShark抓包如下:
注意:笔者在实际抓包时,使用浏览器进行请求,发现一次HTTP请求却建立了多个TCP连接,查阅资料后得知,这是浏览器普遍采用的加速机制:多个连接中有返回的就采用最先返回的,不必等待。所以,为了更加便于我们分析TCP原理,我们使用命令行进行HTTP的请求。
选中上图中的第一条TCP请求连接(即SYN)进行分析:
说明:网络传输中的数据解析到最底层即是以太网首部这一层。
第三行和第四行即是我们要探寻的TCP的样貌,由名称可见,第三行就是IP首部,第四行是 TCP首部 + TCP选项,展开第三行如下图:
引出IP首部如下,刚好与上图一一对应,下图只是其以32位为一行对齐之后的模样:
第四行就是TCP首部+TCP选项的内容,TCP选项的含义下文会解读,其首部对齐之后如下: