• wireshark测试tcp三次握手与四次挥手


    wireshark

    选择Loopback来监听本地网络。
    在这里插入图片描述

    监听的内容是分三大模块的:
    在这里插入图片描述

    封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。你也可以修改这些显示颜色的规则, View ->Coloring Rules.

    而封包详情这个面板是我们最重要的,用来查看协议中的每一个字段。各行信息分别为

    • Frame: 物理层的数据帧概况
    • Ethernet II: 数据链路层以太网帧头部信息
    • Internet Protocol Version 4: 互联网层IP包头部信息
    • Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
    • Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议

    因为是分析TCP,我们重点关注Transmission Control Protocol,下面是TCP的分组结构,其中面板也是显示出这些内容。
    在这里插入图片描述

    开始操作

    在wireshark中监听8082的端口:

    tcp.port == 8082

    建立一个服务端监听:

    nc -nl ip 8082

    再启动一个客户端

    nc ip 8082

    客户端连完再断开就是四次挥手了。

    然后就得到下面的分析图:
    在这里插入图片描述

    三次握手

    第一次握手:建立链接。客户端发送链接的请求,发送SYN报文,将Seq设置为0。然后客户端就进入了SYN_SEND状态,等待服务器的确认。
    在这里插入图片描述

    第二次握手:服务器收到客户端的SYN报文段。需要对这个SYN报文段进行确认,发送ACK报文,并将Ack设置为1。同时,自己也要发送SYN请求信息,将Seq设置为0,。服务器将上述的所有信息一并发送给客户端,此时服务器进入SYN_RECV状态。
    在这里插入图片描述

    第三次握手:客户端收到服务器的ACK和SYN报文后,进行确认,然后将Ack设置为1,Seq设置为1,向服务器发送ACK报文段,这个报文段发送完毕之后,客户端和服务器都进入了ESTABLISHED状态。就此完成了TCP的三次握手。
    在这里插入图片描述

    四次挥手

    第一次挥手:客户端想服务器发送一个FIN报文段,将设置Seq为1和Ack为1。此时客户端进入FIN_WAIT_1状态。这表示客户端没有数据要发送服务器了,请求关闭连接。
    在这里插入图片描述

    第二次挥手:服务器收到了客户端发送的FIN报文段,向客户端回一个ACK报文段,Ack设置为2,Seq设置为1;服务器进入了CLOSE_WAIT状态,客户端收到服务器返回的ACK报文之后随即进入FIN_WAIT_2状态。
    在这里插入图片描述

    第三次挥手:服务器会观察自己是否还有数据没有发送给客户端,如果有,先把数据发送给客户端,再发送FIN报文;如果没有,那么服务器直接发送FIN报文给客户端。请求关闭连接,同时服务器进入LAST_ACK状态。
    在这里插入图片描述

    第四次挥手:客户端收到服务器发送的FIN报文,向服务器发送ACK报文,将Seq设置为1,Ack设置为2,然后客户端进入TIME_WAIT状态;服务器收到客户端的ACK报文之后就关闭了连接;此时,客户端等待2msl后依然没有收到回复,则证明服务器已正常关闭,客户端也可以关闭连接了。
    在这里插入图片描述

  • 相关阅读:
    C语言游戏实战(9):球球大作战
    快鲸scrm教你零基础搭建企业微信私域流量
    如何正确使用电流探头
    文件的其他操作命令
    高薪程序员&面试题精讲系列140之你熟悉分布式事务吗--下篇?有哪些分布式事务实现方案?
    C指针 --- 初阶
    C语言的缺陷与陷阱
    《Linux运维总结:ARM64架构CPU基于docker-compose一离线部署rabbitmq 3.10.25容器版镜像模式集群》
    如何在Systemd中使用Shell脚本创建和运行新的服务
    单调性约束与反单调性约束的区别 monotonicity and anti-monotonicity constraint
  • 原文地址:https://blog.csdn.net/h295928126/article/details/127613070