TCP 连接建立分析

tcp 三次握手与四次挥手

tcp 报文结构

tcp 是全双工的,即 client 向 server 发送信息的同时,server 也可以向 client 发送信息。

在同主机的两个 session 中分别执行以下命令

tcpdump -i lo -w - | tee ./hello.cap | tcpdump -r -
telnet localhost

三次握手

字段含义:时间戳;从本地临时端口38644向telnet;发起连接标志S;client初始包序号3961004360;窗口大小43690字节;选项[最大报文段长度65495;允许TCP单独确认非连续的片段,用于告知真正丢失的包,只重传丢失的片段;时间戳选项;无操作字段;窗口扩大选项];数据段长度

第一行(第一次握手):client端主动发起第一次握手,同步位syn=1,同时初始化序列号seq num=J;

第二行(第二次握手):server端SYN=1,ACK=1,确认号ack num=J + 1,同时自己初始化序列号seq=K;

第三行(第三次握手):client收到确认报文,SYN不再置1,ACK=1,确认号ack num = K + 1;

server端收到第三次握手的数据报文时,进入established状态,TCP连接建立。

四次挥手

第一行(第一次挥手):client发送结束报文字段,FIN = 1,seq num = M

第二行(第二次和第三次挥手):第二次--ACK = 1,seq num = M + 1;第三次--FIN = 1,seq num = N

第三行(第四次挥手):ACK=1,seq num = N + 1

为什么四次挥手只有三个包呢?因为TCP总是尽可能的捎带需要回复给对方的数据,所以第二个ACK就被第三个FIN捎带过来了。但是当主动方发起断开连接,被动方还有数据需要发送的时候,就会变成先ACK再发送完数据,再FIN。

原文地址:https://www.cnblogs.com/yexuesong/p/12321718.html

时间: 2024-10-13 23:17:44

TCP 连接建立分析的相关文章

第三次实验报告:使用Packet Tracer分析TCP连接建立过程

目录 1 实验目的 2 实验内容 3. 实验报告 3.1 建立网络拓扑结构 3.2 配置参数 3.3 抓包,分析TCP连接建立过程 1 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 2 实验内容 使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程. 建立网络拓扑结构 配置参数 抓包 分析数据包 3. 实验报告 在博文开头给出你的个人信息 姓名:蔡金宇 学号:201821121070 班级:计

第三次实验报告:使用Packet Tracer分析TCP连接建立过程。

(1)个人信息: 姓名:彭晨  学号:201821121039  班级:计算1812 1 实验目的 使用路由器连接不同的网络. 使用命令行操作路由器. 通过抓取HTTP报文,分析TCP连接建立的过程. 2 实验内容 使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程. 建立网络拓扑结构 配置参数 抓包 分析数据包 3. 实验报告 (1)建立网络拓扑结构 (2)配置参数    a. PC端参数配置: b.服务器端参数配置:    c.路由器参数配置:

实验三 使用Packet Tracer分析TCP连接建立对象

姓名:张越 班级:计算1811 学号:201821121006 1. 实验目的 1.使用路由器连接不同的网络 2.使用命令行操作路由器 3.通过抓取HTTP报文,分析TCP连接建立的过程 2.实验内容 1.使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程.建立网络拓扑结构. 2.配置参数实验内容 3.抓包 4.分析数据包 3.1 建立网络拓扑结构 3.2配置相应参数 配置路由器参数: 首先点击路由器打开CLU,接着在命令行中依次输入不同的命令: 根

第三次实验报告:使用Packer Tracer 分析TCP连接建立过程

姓名:张丽芬 学号:201821121095 班级:计算1814 1 实验目的 使用路由器连接不同的网络 使用命令行操作路由器 通过抓取HTTP报文,分析TCP连接建立的过程 2 实验内容  使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程. 建立网络拓扑结构 配置参数 抓包 分析数据包 3 实验报告   1.建立拓扑结构     将一个pc,一个server和一个路由器连接形成拓扑结构:     2.配置参数    (1)配置客户端(pc)参数:

TCP连接建立的三次握手过程可以携带数据吗?

前几天实验室的群里扔出了这样一个问题:TCP连接建立的三次握手过程可以携带数据吗?突然发现自己还真不清楚这个问题,平日里用tcpdump或者Wireshark抓包时,从来没留意过第三次握手的ACK包有没有数据.于是赶紧用nc配合tcpdump抓了几次包想检验一下.但是经过了多次实验,确实都发现第三次握手的包没有其它数据(后文解释).后来的探究中发现这个过程有问题,遂整理探究过程和结论汇成本文,以供后来者参考. 先来张三次握手的图(下面这张图来自网络,若侵犯了作者权利,请联系我删除): RFC79

第三次实验报告:对TCP连接建立过程的进一步了解

1,实验目的 1)使用路由连接不同的网络 2)使用命令行操作路由器 3)通过抓取HTTP,分析TCP连接建立的过程 2,实验内容 使用Packet Tracer,正确配置网络参数,通过抓取HTTP数据包,分析TCP连接建立过程. 1)建立网络拓扑结构 2)配置参数 3)抓包 4)分析数据包 3,实验报告 姓名:陈柯佑 学号:201821121016 班级:计算1811 3.1,建立网络拓扑结构 网络拓扑图如下图所示: 3.2,配置参数 1)客户端的IP地址为192.168.1.16,16是学号的

TCP连接建立及相关socket深度探析

关于TCP协议 TCP/IP协议分层模型 可以看到,TCP协议位于运输层,TCP将用户数据打包构成报文段,它发送数据时启动一个定时器,另一端收到数据进行确认,对失序的数据重新排序,丢弃重复的数据.TCP提供一种面向连接的可靠的字节流服务,面向连接意味着两个使用TCP的应用(B/S)在彼此交换数据之前,必须先建立一个TCP连接,类似于打电话过程,先拨号振铃,等待对方说喂,然后应答.在一个TCP连接中,只有两方彼此通信. TCP可靠性来自于: (1)应用数据被分成TCP最合适的发送数据块 (2)当T

wireshark tcp 协议分析

  虽然知道wireshark是抓包神器,只会大概大概用一下,还用一下下tcpdump,略懂一点BPF过滤器,也知道一点怎么用wirkshark过滤相关的报文,但是对于详细的字段的含义,如何查看TCP的交互情况还不是非常的了解.现在,简单分析一下.PS:这次抓包的对象是传说中通过公安局多少多少级认证的本公司开发的交易系统,本来看到他的验证码倾斜的很有规律,叫的斑斑点点也不是很密集.就想写个小程序练习一下验证码识别,可是我失望了,在wireshark里面居然没有抓到任何报文,这个东西的验证码居然是

wireshark tcp 协议分析 z

虽然知道wireshark是抓包神器,只会大概大概用一下,还用一下下tcpdump,略懂一点BPF过滤器,也知道一点怎么用 wirkshark过滤相关的报文,但是对于详细的字段的含义,如何查看TCP的交互情况还不是非常的了解.现在,简单分析一下.PS:这次抓包的对象是 传说中通过公安局多少多少级认证的本公司开发的交易系统,本来看到他的验证码倾斜的很有规律,叫的斑斑点点也不是很密集.就想写个小程序练习一下验证码识 别,可是我失望了,在wireshark里面居然没有抓到任何报文,这个东西的验证码居然