推荐o2o网站建设,wordpress博客破解主题,wap网站开发 费用,沈阳做一个网站需要多少钱TCP 三次握手 示意图Wireshark 抓包注意事项为了演示一个TCP三次握手建立连接的过程#xff0c;我们通过 Chrome 访问一个网页。已知 HTTP 协议就是建立在TCP链接上的通过 Cmd 的 ping 命令获取 这个网站对应的 IP地址 183.136.236.13确定 这个IP 有一个非常重要的好处#x…TCP 三次握手 示意图Wireshark 抓包注意事项为了演示一个TCP三次握手建立连接的过程我们通过 Chrome 访问一个网页。已知 HTTP 协议就是建立在TCP链接上的通过 Cmd 的 ping 命令获取 这个网站对应的 IP地址 183.136.236.13确定 这个IP 有一个非常重要的好处就是我们只需要电脑 - 网站 的数据包网站-电脑 的数据包所以可以使用Wireshark的显示过滤规则只显示我们需要的数据不然你一定看着满屏幕的数据抓狂的。过滤规则如下ip.src183.136.236.13 or ip.dst183.136.236.13截图分析TCP握手包概览通过图片可以看到 先 进行了 TCP 三次传输 然后才 开始 HTTP 传输第一次 客户端发送 SYN 报文 到服务器第二次 服务器接收到 客户端的SYN 报文回复 SYN ACK 报文第三次 客户端接收到服务端的 SYNACK 报文后回复 ACK报文注意这里有个坑Wireshark 显示的 Syn Ack的数目是不准确的理论上Syn 应该初始值是个随机数的后面的要根据初始值增加TCP 三次握手总结建立一个稳定的 双向 连接最少需要 几次 通信呢以打电话为例小明 给小红 打电话小明 喂小红 听得到么小红 嗯我听到你说话了你能听到我么小明我能听到你。只有这三个传输都正确了才能保障双方是 连通的TCP 四次挥手由于TCP连接是全双工的因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭而另一方执行被动关闭。CP的连接的拆除需要发送四个包因此称为四次挥手(four-way handshake)。客户端或服务器均可主动发起挥手动作在socket编程中任何一方执行close()操作即可产生挥手操作。(1)客户端A发送一个FIN用来关闭客户A到服务器B的数据传送。(2)服务器B收到这个FIN它发回一个ACK确认序号为收到的序号加1。和SYN一样一个FIN将占用一个序号。(3)服务器B关闭与客户端A的连接发送一个FIN给客户端A。(4)客户端A发回ACK报文确认并将确认序号设置为收到序号加1。TCP采用四次挥手关闭连接如图2所示。抓包截图其中 183.136.236.13 是服务器的ip可以看到 这一次挥手是由 服务器 发起的第一次挥手 FIN ACK第二次挥手 ACK第三次挥手 FIN ACK第四次挥手 ACK总结TCP 由于是全双工的断开链接需要四次挥手