1. TCP是什么?
- TCP(Transmission Control Protocol)又称可靠传输,是OSI7层模型中的传输层的协议,传输过程中经过三次握手和四次挥手,数据传输失败或丢包,将会重新传输,与之相对的还有一个UDP协议,他就是追求传输速度,尽力维持数据包的完整性。
- TCP协议保证了数据的完整性,应用于一些完整性要求高的数据
2. TCP握手和挥手中的标记位
标记 | 解释 |
SYN | 请求连接标记 |
ACK | 确认连接标记 |
FIN | 请求断开连接标记 |
3.TCP协议抓包测试
- 使用的抓包软件是:Wireshark
4. tcp三次握手
- 发送请求,SYN(连接标记)表示客户端要与服务端建立连接,并对seq生成一个随机数
- 服务端接收到数据包,返回给客户端ACK(确认连接标记)和SYN,ACK的值=客户端发送的seq随机数+1,并会生成新的seq随机数值
- 客户端收到服务端的确认连接请求(ACK),然后客户端在向服务端发送ACK(上一个seq值+1)来确认是否建立连接
- 三次握手后就开始传输数据
5. tcp四次挥手
- 客户端向服务端发送FIN(断开连接),携带ACK(上一个seq+1)和seq(生成有规律的seq)
- 服务端接收到断开连接请求,同意,向客户端返回ACK(上一个seq+1)和seq(生成有规律的seq)
- 同意断开连接的同时,发送一个FIN(断开连接)请求,也携带与ACK和seq同样的值
- 客户端收到连接断开请求,确认一下,向服务端发送ACK请求确认,写到ACK和新的seq
- 测试方法: 访问curl www.baidu.com 抓取 过滤443端口数据包 tcp测试
- tcp.port==44