利用 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 报文头部

首先看这个熟悉的图片

利用 WireShark 对 TCP 三次握手了解_第1张图片

里面英文部分是

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

WireShark 知识补充

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dMEma69r-1665099961651)(https://www.netsafe.top/wp-content/uploads/2022/04/1.jpg)]

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

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

WireShark 查看 TCP 三次握手的过程

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

利用 WireShark 对 TCP 三次握手了解_第2张图片

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

接下来服务器返回请求

利用 WireShark 对 TCP 三次握手了解_第3张图片

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

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

利用 WireShark 对 TCP 三次握手了解_第4张图片

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

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

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

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

利用 WireShark 对 TCP 三次握手了解_第5张图片

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

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

你可能感兴趣的:(网络安全,wireshark,tcp/ip)