总结:

1、ACK包可以和其他包合在一起,比如ACK包可以携带数据

2、可以接收多个数据包后,一次性给一个应答,不用每个数据包一一对应给应答

3、在通信过程中,通过接收到的包的ack值可以判断是否是上一个本机发送包的应答包(ack值与上一个本机发送包的seq有关),seq值和ack值的确定规则如下:

  三次握手:

    第一次握手(发送):seq为x(x为任意值),无视ack(因为是第一个包,不需要给其他包应答)

    第二次握手(发送):seq为y(y为任意值),ack等于接收包seq+1(即x+1)

    第三次握手(发送):seq等于上一个本机发送包seq+1(即x+1),也就是1,ack等于接收包seq+1(即y+1)

  数据传输:

    某主机发送的seq和ack是根据上一个接收包的seq、ack和len得到,具体为:seq=ack,ack=seq+len

    提醒:如果某一主机连续发了4个包,后三个包的seq和ack和第一个包的一样

    提醒:seq会单调增大

    特别:如果握手完第一个数据包是客户端发送,第一个数据包的seq和ack和第三次握手的一样 

  四次挥手:

    如果是服务器发起的挥手,挥手前最后一个包是服务器发送:

    如果是客户端发起的挥手,挥手前最后一个包是客户端发送:

      第一次挥手(发送):seq为上一个本机发送包seq+len,ack为上一个本机发送包ack

      第二个挥手(发送):seq为本次接收包ack,ack为本次接收包seq+1

      第三次挥手(发送):和第二次挥手一样

      第四次挥手(发送):seq为本次接收包ack,ack为本次接收包seq+1

    

    如果是服务器发起的挥手,挥手前最后一个包是客户端发送:

    如果是客户端发起的挥手,挥手前最后一个包是服务器发送:

      第一次挥手(发送):seq为本次接收包ack,ack为本次接收包seq+len

      第二个挥手(发送):seq为本次接收包ack,ack为本次接收包seq+1

      第三次挥手(发送):和第二次挥手一样

      第四次挥手(发送):seq为本次接收包ack,ack为本次接收包seq+1

    

TCP ------ 抓包分析(seq ack)的更多相关文章

  1. TCP三次握手与Tcpdump抓包分析过程

    一.TCP连接建立(三次握手) 过程 客户端A,服务器B,初始序号seq,确认号ack 初始状态:B处于监听状态,A处于打开状态 A -> B : seq = x (A向B发送连接请求报文段,A ...

  2. wireshark抓包分析——TCP/IP协议

    本文来自网易云社区 当我们需要跟踪网络有关的信息时,经常会说"抓包".这里抓包究竟是什么?抓到的包又能分析出什么?在本文中以TCP/IP协议为例,简单介绍TCP/IP协议以及如何通 ...

  3. 抓包分析TCP的三次握手和四次握手

    问题描写叙述: 在上一篇<怎样对Android设备进行抓包>中提到了,server的开发者须要我bug重现然后提供抓包给他们分析.所以抓好包自己也试着分析了一下.发现里面全是一些TCP协议 ...

  4. 使用 tcpdump 抓包分析 TCP 三次握手、四次挥手与 TCP 状态转移

    目录 文章目录 目录 前文列表 TCP 协议 图示三次握手与四次挥手 抓包结果 抓包分析 TCP 三次握手 数据传输 四次挥手 TCP 端口状态转移 状态转移 前文列表 <常用 tcpdump ...

  5. Wireshark抓包分析TCP“三次握手,四次挥手”

    1.目的 客户端与服务器之间建立TCP/IP连接,我们知道是通过三次握手,四次挥手实现的,但是很多地方对这个知识的描述仅限于理论层面,这次我们通过网络抓包的方式来看一下实际的TCP/IP传输过程. 2 ...

  6. 网络协议抓包分析——TCP传输控制协议(连接建立、释放)

    前言 TCP协议为数据提供可靠的端到端的传输,处理数据的顺序和错误恢复,保证数据能够到达其应到达的地方.TCP协议是面向连接的,在两台主机使用TCP协议进行通信之前,会先建立一个TCP连接(三次握手) ...

  7. Wireshark抓包分析TCP 3次握手、4次挥手过程

    Wireshark简介 更多有关Wireshark的教程.软件下载等,请见:http://www.52im.net/thread-259-1-1.html,本文只作简要介绍. 1Wireshark 是 ...

  8. Java网络编程学习A轮_02_抓包分析TCP三次握手过程

    参考资料: https://huoding.com/2013/11/21/299 https://hpbn.co/building-blocks-of-tcp/#three-way-handshake ...

  9. WireShark抓包分析以及对TCP/IP三次握手与四次挥手的分析

    WireShark抓包分析TCP/IP三次握手与四次挥手 Wireshark介绍: Wireshark(前称Ethereal)是一个网络封包分析软件.功能十分强大,是一个可以在多个操作系统平台上的开源 ...

随机推荐

  1. centos7.2下解决用Mysql 使用navicate远程连接数据库出现1045 access denied for user 'root'@'localhost' using password yes

    在mysql命令行中执行 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');  GRANT ALL PRIVILEGES ON *.*  ...

  2. spark RDD、DataFrame、DataSet之间的相互转化

    这三个数据集看似经常用,但是真正归纳总结的时候,很容易说不出来 三个之间的关系与区别参考我的另一篇blog  http://www.cnblogs.com/xjh713/p/7309507.html ...

  3. Scrum立会报告+燃尽图 05

    此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2195] 一.小组介绍 组长:王一可 组员:范靖旋,王硕,赵佳璐,范洪达 ...

  4. 《JavaScript》函数

    function foo(a,b){return a+b}//函数申明 var foo=function(){}//函数表达式赋值 var foo=new Function('a','b','retu ...

  5. C# string 常用方法

    string.ToString().Contains() String str="abcd" str.ToString().Contains("a"); //t ...

  6. 团队项目NABCD

    团队成员及项目简介 团队名:伍陸柒 团队成员: 李  俏(20132912 信1301-2) 郝  颖(20132919 信1301-2)http://www.cnblogs.com/haoying1 ...

  7. 本周实验PSP0 过程文档

    2016-03-12 项目总结: 日期\学习时间 听课 编写程序 阅读相关书籍 日总计 周一 110 0 30 140 周二 0 30 30 60 周三 0 40 0 40 周四 110 20 30 ...

  8. CSS3:不可思议的border属性

    在CSS中,其border属性有很多的规则.对于一些事物,例如三角形或者其它的图像,我们仍然使用图片代替.但是现在就不需要了,我们可以用CSS形成一些基本图形,我分享了一些关于这方面的技巧. 1.正三 ...

  9. [转]精选!15个必备的VSCode插件

    Visual Studio Code 是由微软开发的一款免费.跨平台的文本编辑器.由于其卓越的性能和丰富的功能,它很快就受到了大家的喜爱. 就像大多数 IDE 一样,VSCode 也有一个扩展和主题市 ...

  10. Git命令常用清单

    本文从以下十个方面,介绍Git命令的常用清单: 一.新建代码库 二.配置 三.增加/删除文件 四.代码提交 五.分支 六.标签 七.查看信息 八.远程同步 九.撤销 十.其他 每天使用 Git ,但是 ...