本文介绍如何通过Wireshark抓包工具验证TCP的三次握手四次挥手过程。

首先本地起了一个tomcat服务器,跑了一个简单的基于SpringMVC的rest服务。

打开Wireshark,捕获指定网卡的包,这里就是napcap loopback adapter。

显示过滤器里输入http,只展示http请求包。这会还没有http的数据包。

postman里进行一下调用。

这时可以看到Wireshark抓到了两个包,一个是我们的请求,一个是服务器返回的响应:

我们随便选择其中一个来跟踪其具体的流程,比如选择第一个,也就是请求包,右键选择跟踪流->TCP流,可以看到如下:

我们知道的TCP三次握手流程是:

可以看到458、459、460的包正与这个过程对应,然后463包便是发出去的HTTP包。

接下来TCP连接并没有立即断开,而是等到获取了HTTP响应。

再接下来是若干心跳包,因为我们是HTTP/1.1协议(见上上图,下面解析出来的数据中可以看到是HTTP/1.1协议),HTTP/1.1默认是长连接的,底层也是基于的TCP长连接,需要客户端与服务端不断发送探测包KeepAlive进行保活探测。

一段时间之后,由于没有再进行数据交互,所以长连接断开:

可以看到最下面4个TCP请求就是四次挥手过程,与我们所熟知的下图一致:

Wireshark验证TCP三次握手四次挥手相关推荐

  1. wireshark抓tcp三次握手四次挥手包

    wireshark抓tcp三次握手四次挥手包 首先大家要连接,tcp建立连接的过程是我们要了解的,了解了之后才能传送数据嘛. 大家要搞清除过程才行,在我前面的博客具体的讲了怎么样建立的,这里只讲抓包. ...

  2. java锁一次交互二次握手_Java后台开发面试实战(二):TCP三次握手四次挥手

    感谢牛客网网友提供的面试经验! 1. 解释一下TCP三次握手四次挥手 图片来源于微信公众号:码农求职小助手 答: 嗯(稍作思考)- 三次握手简单来说,在数据传输开始前: 第一次握手:客户端向服务端发送 ...

  3. [计算机网络][总结][常见问题][TCP][三次握手][四次挥手]

    TCP三次握手 四次挥手 三次握手 目的:保证传输的可靠性,为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误.主要防止资源的浪费. 具体过程:当客户端发出第一个连接请求报文段时并没有丢 ...

  4. TCP三次握手四次挥手(图解)

    <TCP-IP协议栈概略图与TCP三次握手四次挥手> 目录 1 TCP过程详解 1.1 三次握手 1.2 四次挥手 2 使用tcpdump分析三次握手的过程 2.1 tcpdump抓包和t ...

  5. TCP三次握手四次挥手过程及其中的状态量

    网上看到过一些有关TCP三次握手四次挥手的过程,觉得有必要总结一下了,对于了解TCP的过程还是有帮助的 1.变量含义 SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DAT ...

  6. java 中的网络编程(Socket、TCP三次握手四次挥手、TCP/UDP/URL)

    文章目录 前言 一.网络编程概述 二.网络通信要素概述 1.如何实现网络中的主机互相通信 2.网络通信协议 3.IP和端口号 4.InetAddress类 5.网络协议 6.TCP/IP协议簇 7.T ...

  7. TCP三次握手四次挥手简介

    TCP三次握手四次挥手简介 图解三次握手.四次挥手 建立连接:三次握手 关闭连接:四次挥手 上图传递过程中出现的几个字符(SYN,ACK,FIN,seq,ack)各代表什么意思 SYN,ACK,FIN ...

  8. TCP三次握手四次挥手详解

    TCP三次握手四次挥手 1. TCP报文格式 2. TCP连接需要解决的问题 3. 三次握手 4. 四次挥手 5. 一些补充问题 1. TCP报文格式 在了解三次握手和四次挥手之前,先知道TCP报文内 ...

  9. TCP三次握手四次挥手 TCP/UDP区别

    三次握手 第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认:  SYN:同步序列编号(Synchronize Sequence Numbe ...

最新文章

  1. 谷歌实现2种新的强化学习算法,“比肩”DQN,泛化性能更佳!|ICLR 2021
  2. 网络推广网站总结降低网站跳出率的技巧有哪些?
  3. aidl demo调用原理
  4. C++编译报错:重复定义
  5. 第二天 Linux常见命令
  6. mysql循环更新_MySql多表循环遍历更新
  7. java基础知识点整理一
  8. JQuery 添加元素appendf 后\prepend前,before 前\after 后,删除元素remove\empty
  9. XILINX FPGA数字信号处理——10、重定时信号原理及实现
  10. 私有链和联盟链的机会与挑战
  11. Error: Cannot find module ‘C:\Users\AppData\Roaming\npm\node_modules\..错误,解决方法
  12. 【luminate primordial】苏州之行
  13. 阿里云轻量服务器WordPress镜像建网站教程(图)
  14. 红米4android7.0,红米4能刷android7,0系统吗
  15. 見到老板的老婆。。。
  16. lintcode ---最小差
  17. 2018秋招求职地图 | 教你如何打造重量级求职敲门砖
  18. Mac怎么安装CAD(AutoCAD)安装教程,M系列芯片安装CAD正版 CAD教程
  19. js中click()与onclick()的区别
  20. java整数划分递归_整数划分问题(递归法)

热门文章

  1. 苹果高通虽已和解 但5G iPhone最快仍要明年才能推出
  2. 余承东透露华为Mate X发布时间:今年六月上市
  3. 喂,315吗?我花299元买到一只人工智障!
  4. 查看华为应用商店APPID
  5. rtsp直接转http fmp4
  6. 线程池选择使用的hash算法
  7. 一台CentOS云主机更改源的记录
  8. coreboot学习6:ramstage阶段之芯片初始化流程
  9. linux oops产生原理,kernel panic , Oops 等cpu异常的分析与定位
  10. openlayers添加按钮_OpenLayers3加载常用控件使用方法详解