利用 WireShark 对 TCP 三次握手了解

无论是学计算机的,还是物联网设备的,只要与网络相关的专业,我想面试题里最经典的肯定是 TCP 三次握手,和 TCP 四次挥手。

TCP 协议了解

TCP/IP 共有几层?

当然是4层,从上往下分别是:应用层,传输层,网络层,网络接口层.

TCP/IP协议栈举例
应用层HTTP;Telnet;ftp;等
传输层TCP & UDP
网络层IP,ICMP,ARP,等
网络接口层物理接口,设备等

可能用到的回答

  1. TCP 和 UDP 有何区别?

TCP 是提供可靠连接,而 UDP 是提供尽力而为的连接,也就是非可靠连接.

所以 TCP 的连接是点对点连接,而 UDP 只负责把包交出去.

其次二者的头部不同, TCP 的头部有160位的长度,而 UDP 只有32位的长度.

对此二者对资源的需求也是不一样的, TCP 多而 UDP 少.

TCP 报文头部

首先看这个熟悉的图片

里面英文部分是

标签说明
URG说明是紧急数据,尽快传输
ACK确定,1是确认的 TCP 包,而0不是
PSH推送,如果发送端 PSH = 1 ,接收端尽快交付给应用进程
RST复位,如果是1,那么要释放连接,重新连接
SYN同步比特,在建立连接时同步序号, SYN = 1, ACK = 0 表示一个连接报文,而 SYN = 1, ACK = 1 表示同意建立连接
FIN终止,当值为 1 的时候,表示数据发送完成,要求释放连接

WireShark 知识补充

在 WireShark 界面里应该能看到这个,抱歉我没有进行说明

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

补充: 你可以看作倒过来的 TCP/IP 层

WireShark 查看 TCP 三次握手的过程

我们开始向服务器发送请求

第一次连接中, SYN = 1 . Seq = 331(就写后三位,太长记不住)

接下来服务器返回请求

在第二次连接中 SYN = 1, ACK = 1, Seq = 985, ack = 332.

最后我们向服务器进行连接

那个方框里应该是: ACK 变为了1,确认了连接

第三次变为了 ACK = 1, Seq = 332, ack = 986.

此时, 典型的 TCP 三次握手结束,后面就是多线连接,传输数据

所以我们可以得出这么一个经典的图片里的结论

得记下来,这是重点,前面各种实践是为了对这个简单的结论加深印象.

四次挥手就下次讲吧,咕咕咕

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值