TCP三次握手与四次挥手

TCP三次握手

第1次:客户端向服务器发送SYN连接请求 + seq序列号(x),自身状态为connect
第2次:服务器收到后,向客户端发送SYN请求应答 + seq新序列号(y) + ack(x+1),自身状态为listen
第3次:客户端向服务器发送ACK(y+1)
如此,连接便已建立了,可以开启数据传输了

TCP四次挥手

当数据发送完成之时,由任意端发起,如:

第一次:客户端向服务器发送Fin + seq(x+2) + ack (y+1),自身状态为close
第二次:服务端改自身状态为CLOSE
WAIT,并向客户端发送ACK(x+3)回应,表示已收到,客户端收到之后改自身状态由close改为FIN_WAIT
第三次:服务端向客户端发送fin + seq(y+1) 表示数据已经传输完,没有要传的了,可以关闭连接了,自身状态为close
第四次:客户端改自身状态为TIME_WAIT,并向服务端发送ACK(y+2)

过程TOP

在这里插入图片描述

案例:

[root@localhost ~]# tcpdump -i ens33 -nn host 192.168.1.110 and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
三次握手
16:14:51.893817 IP 192.168.1.110.47384 > 192.168.1.109.80: Flags [S], seq 3726944576, win 29200, options [mss 1460,sackOK,TS val 22336471 ecr 0,nop,wscale 7], length 0
16:14:51.894149 IP 192.168.1.109.80 > 192.168.1.110.47384: Flags [S.], seq 2652898357, ack 3726944577, win 28960, options [mss 1460,sackOK,TS val 21809149 ecr 22336471,nop,wscale 7], length 0
16:14:51.894714 IP 192.168.1.110.47384 > 192.168.1.109.80: Flags [.], ack 1, win 229, options [nop,nop,TS val 22336472 ecr 21809149], length 0
数据传输
16:14:51.895442 IP 192.168.1.110.47384 > 192.168.1.109.80: Flags [P.], seq 1:78, ack 1, win 229, options [nop,nop,TS val 22336472 ecr 21809149], length 77: HTTP: GET / HTTP/1.1
16:14:51.895709 IP 192.168.1.109.80 > 192.168.1.110.47384: Flags [.], ack 78, win 227, options [nop,nop,TS val 21809150 ecr 22336472], length 0
16:14:51.898799 IP 192.168.1.109.80 > 192.168.1.110.47384: Flags [P.], seq 1:253, ack 78, win 227, options [nop,nop,TS val 21809153 ecr 22336472], length 252: HTTP: HTTP/1.1 200 OK
16:14:51.899574 IP 192.168.1.110.47384 > 192.168.1.109.80: Flags [.], ack 253, win 237, options [nop,nop,TS val 22336477 ecr 21809153], length 0
四次挥手
16:14:51.900241 IP 192.168.1.110.47384 > 192.168.1.109.80: Flags [F.], seq 78, ack 253, win 237, options [nop,nop,TS val 22336477 ecr 21809153], length 0
16:14:51.927222 IP 192.168.1.109.80 > 192.168.1.110.47384: Flags [F.], seq 253, ack 79, win 227, options [nop,nop,TS val 21809182 ecr 22336477], length 0
16:14:51.927518 IP 192.168.1.110.47384 > 192.168.1.109.80: Flags [.], ack 254, win 237, options [nop,nop,TS val 22336504 ecr 21809182], length 0
^C
10 packets captured
10 packets received by filter
0 packets dropped by kernel

注:上面案例中,四次挥手中的第二次和第三次合并为了一次(SYN+seq+ack)

---------------------------end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值