网站首页 > 文章精选 正文
分析TCP头的结构,并分析TCP的三次握手过程
技术标签: TCP 网络协议 计算机网络
抓包结束后,可以获得TCP头(灰色部分)
根据TCP头结构对获得的TCP头进行分析
TCP包头占有20个字节
“04 12” 表示目的端口号为:1042,可知用了FTP文件文件传输。
“00 15” 表示目标端口,因为我是连接FTP站点,所以,这个就是21,十六进制当然就是“00 15”。
“1d 89 42 0a”表示数据包顺序号(Sequence Number),简写为SEQ,这里等于1383817
“73 9a df 6c”表示确认号(Acknowledgment Number),简写为ACKNUM。在此为不全0,表示连接成功,有确认。
“50 14” 换算成二进制“0101 0000 0001 0100”,两字节中,前4位“0101”TCP为头部长度,用十进制表示为5,转化为字节,总共有5×4=20字节;中间六位为保留,现在TCP协议没有用上,都为0;后面6位为“010100”,是重要的6个标志位
6个标志位:
URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断
ACK:(Acknowledgment fieldsignificant)置1时表示确认号(AcknowledgmentNumber)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。
PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。
RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。
SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。
FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送了。
此时SYN=0,ACK=1,未开始请求连接。
“00 00” 两个字节表示窗口大小,没有打开窗口。
“98 ba” 这个16bit是头校验和(Header Checksum)。
“00 00” 为紧急指针,此时表示没有,当且仅当URG同时置1才有效。
TCP的三次握手过程
第一次握手:192.168.111.129发送位码syn=1,随机产生SEQ number =1952792680的数据包到192.168.111.130 ,192.168.111.130由SYN=1知道192.168.111.129要求建立联机;
第二次握手:192.168.111.130收到请求后要确认联机信息,向192.168.111.129发送ACK number =1952792681,SYN=1,ACK=1,随机产生SEQ number =812886821的包;
第三次握手:192.168.111.129收到后检查ACK是否正确,即第一次发送的SEQ number + 1,以及位码ACK是否为1,若正确,192.168.111.129会再发送ACK number =812886822,ACK=1,192.168.111.130收到后确认ACK = SEQ + 1,ACK=1则连接建立成功
猜你喜欢
- 2025-02-03 「ModbusTCP协议详解」内容有点多,但讲得很详细
- 2025-02-03 tcpdump抓udp包示例 及IP、TCP、UDP协议格式
- 2025-02-03 网络隐蔽通道构建关键技术研究综述
- 2025-02-03 为什么TCP要做成流式协议,而非包?
- 2025-02-03 计算机网络中MSS和MTU的区别(mss与mtu区别及对应关系)
- 2025-02-03 存储FC 网络(简述存储网络引入fc后的优点有哪些)
- 2025-02-03 苹果iphone12充电器品牌选择哪个 充电器功率推荐
- 2025-02-03 作为一名架构师,需要掌握的一些基础网络知识
- 2025-02-03 计算机网络参考模型(计算机网络参考模型有哪些)
- 2025-02-03 关于TCP协议的基础知识(关于tcp/ip协议)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)