使用wireshark抓包并分析TCP三次握手

2023-05-16

一、实验过程

1、TCP包抓取及分析过程

①确认使用的协议,使用HTTP服务。选择https://www.baidu.com/作为目标地址。
②启动Wireshark软件,点击开始抓包后。在浏览器地址输入https://www.baidu.com/
③在Wireshark软件中使用过滤器,添加本机IP地址和TCP协议过滤条件

2、开始实验

①获取IP双方IP地址(便于过滤)
获取本机IP地址
在这里插入图片描述
获取https://www.baidu.com/的IP地址
在这里插入图片描述
②在工具栏上的Filter对话框中填入过滤条件:
在这里插入图片描述
获取的数据报文如下,红框内为访问百度的TCP三次握手过程
在这里插入图片描述

二、概念介绍

TCP报文格式
在这里插入图片描述
在这里插入图片描述
三次握手过程
在这里插入图片描述
wireshark窗口简介
在这里插入图片描述

三、根据报文分析TCP的三次握手过程

①第一次握手

192.168.199.233-------->14.215.177.39

(1)数据链路层报文
在这里插入图片描述
(2)网络层
在这里插入图片描述
(3)传输层
①源端口和目的端口
在这里插入图片描述
②窗口大小:如下图所示,窗口大小Windows size value为64240,表示源主机最大能接收64240字节。
在这里插入图片描述
③校验和(16bit):如下图所示,校验和Checksum为0x20cf,包含TCP首部和TCP数据段,这是一个强制性的字段,一定是由发送端计算和存储,由接收端进行验证。
在这里插入图片描述
④紧急指针(16bit)。如下图所示,URG标志为1,只有当URG标志置为1时该字段才有效,紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一段发送紧急数据的一种方式。
在这里插入图片描述
⑤TCP选项。至少1个字节的可变长字段,标识哪个选项有效。Kind=0:选项表结束, Kind=1:无操作, Kind=2:最大报文段长度,Kind=3:窗口扩大因子, Kind=8:时间戳。如下图所示,Kind为2,代表最大报文长度MSS size。
在这里插入图片描述
⑥数据部分。当前数据包的数据部分
在这里插入图片描述

过程解析

①第一次握手
传输层
在这里插入图片描述

②第二次握手
传输层
在这里插入图片描述
③第三次握手
传输层
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用wireshark抓包并分析TCP三次握手 的相关文章

  • TCP 数据偶尔会以错误的顺序接收且不完整

    我用 Java 创建了 TCP 服务器应用程序 并用 C 创建了客户端应用程序 当我发送数据时 客户端有时会乱序接收数据 有时部分会完全丢失 基本上 我在服务器 java 中使用的代码如下 已删除 ServerSocket welcomeS
  • WCF TCP 客户端 - 如何使用它们的基本指南?

    我有一个 WCF 服务并希望使用 TCP 绑定连接到它 这一切都很好 但是你应该如何处理客户呢 我注意到 如果您为每个调用创建一个新客户端 它不会重新使用该通道 并会留下一堆 TCP 连接 直到超时 创建客户端 调用其方法 然后关闭它是正常
  • IPv4 允许的最大 TCP/IP 网络端口号是多少?

    可以使用的最大端口号是多少 端口号是一个无符号 16 位整数 即 65535
  • 如何识别用户空间和内核空间之间的特定套接字?

    我在用户空间中有一个库 可以拦截套接字层调用 例如socket connect accept 等等 我只处理 TCP 套接字 在内核空间中 我有一个网络内核模块 它处理所有 TCP 连接 我需要能够在驱动程序中识别哪些套接字被用户空间库拦截
  • Linux Socket write() 的错误文件描述符 错误的文件描述符 C

    我对 write 2 函数有一个有趣的问题 PrepareResponseForSetCoordinates 函数会导致写入时出现错误的文件描述符错误 这是错误行 perror 写入套接字时出错 总产量 写入套接字时出错 文件描述符错误 我
  • 很难理解带有 async_read 和 async_write 的 Boost ASIO TCP 的一些概念

    我很难理解使用 async read 和 async write 时构建 tcp 客户端的正确方法 这examples http www boost org doc libs 1 38 0 doc html boost asio examp
  • 如何在 MAC OS X 中获得最大 TCP 接收/发送窗口?

    如何在 MAC OS X 中获得最大 TCP 接收 发送窗口 Linux中有两个ctl proc sys net core rmem max 最大 TCP 接收窗口 NET CORE RMEM MAX proc sys net core w
  • 查找网络中的所有IP地址

    我正在尝试用 C 来做这个 我需要找到我的网络中所有活动的 IP 地址并将它们显示在列表中 我可以 ping 网络中所有可用的 1 255 IP 地址 但我想让这个过程更快 此代码在大约 1 秒内扫描我的网络 255 个 D 级段 我在 V
  • 如何过滤wireshark以仅查看从我的计算机发送/接收的dns查询?

    我是wireshark新手 正在尝试编写简单的查询 要查看仅从我的计算机发送或由我的计算机接收的 DNS 查询 我尝试了以下操作 dns and ip addr 159 25 78 7 其中 159 25 78 7 是我的 IP 地址 看起
  • 如何模拟客户端和服务器之间的套接字断开连接(在 Windows 上)?

    我已经实现了一种 心跳解决方案 我想看看在实际情况下网络 故障 时会发生什么 特别是当套接字上没有流量时发生这种情况 问题 我只有一台电脑 我在windows java上 我想简单地拔掉网线 停用网卡不会影响这两个进程 因为它们在同一个盒子
  • 如何在NodeJS中测试socket.setKeepAlive

    我尝试在NodeJS中测试setKeepAlive 的功能 我在同一本地网络中的不同计算机上运行 Server js 和 client js 然后 我关闭了客户端计算机上的 WiFi 连接 断开互联网连接 15分钟后 仍然没有消息抛出 这是
  • C# - 从客户端检查 TCP/IP 套接字状态

    我想为我的 TCP IP 客户端类提供 CheckConnection 函数 以便我可以检查是否发生了错误 我自己的客户端断开连接 服务器断开连接 服务器卡住等 我有类似的东西 bool isConnectionActive false i
  • 是否可以通过互联网在两个移动设备 (iPhone) 之间连接套接字?

    是否可以通过互联网在两个移动设备 iPhone 之间连接套接字 我正在尝试发现每个设备的IP并直接连接 我知道可以使用 Bonjour 来完成 但这只适用于本地网络 我需要通过互联网在两个设备之间建立高速连接 Thanks 如果你有两个 I
  • 为什么我们可以将 sockaddr 转换为 sockaddr_in

    我明白为什么强制转换很有用sockaddr to sockaddr in 但我不明白这怎么可能 据我所知 它们的大小相同sockaddr in添加了sin zero使其大小相同 我想知道编译器如何知道从哪里获取信息sockaddr in如果
  • Wireshark 解剖器 - 如何将 dissectortable:add(pattern, dissector) 与任何模式一起使用?

    我正在为 Wireshark 创建一个自定义解析器 我将我的解剖器添加到解剖器表中 就像这样 udp table DissectorTable get udp port udp table add 7777 my proto 然而 我的解析
  • 数据包丢失和数据包重复

    我试图找出数据包丢失和数据包重复问题之间的区别 有谁知道 数据包重复 是什么意思 和TCP检测到丢失时重传数据包一样吗 No In TCP 数据包 的传递是可靠的 我认为在这种情况下术语数据应该更好 因为它是面向流的协议 数据包丢失和重复是
  • 自动打开命名管道和 tcp\ip

    我正在安装一个需要修改 SQL Server 的新产品 具体来说 启用 tcp ip 并打开命名管道 我知道如何手动完成 我想要的是一种通过 SQL 或 C 代码为新客户自动化执行此操作的方法 我希望有任何关于正确方向的建议 您可以使用 C
  • 访问 AWS 上的 Tensorboard

    我正在尝试访问 AWS 上的 Tensorboard 这是我的设置 张量板 tensorboard host 0 0 0 0 logdir train 在端口 6006 上启动 TensorBoard b 39 您可以导航到http 172
  • 无法分配请求的地址 - 可能的原因?

    我有一个由主服务器和分布式从服务器组成的程序 从属服务器向服务器发送状态更新 如果服务器在固定时间内没有收到特定从属服务器的消息 则会将该从属服务器标记为关闭 这种情况一直在发生 通过检查日志 我发现从站只能向服务器发送一个状态更新 然后永
  • TcpClient 在异步读取期间断开连接

    我有几个关于完成 tcp 连接的问题 客户端使用 Tcp 连接到我的服务器 在接受客户端后listener BeginAcceptTcpClient ConnectionEstabilishedCallback null 我开始阅读netw

随机推荐

  • SONY VAIO P VPCP118KJ索尼酷袋本 鸡肋上网本初体验

    随着消费者市场需求的不断多样化和个性化 xff0c 个人电脑厂家开始不断突破创新 xff0c 在产品线拼装出各种各样的个人电脑 xff0c 主打性能的游戏本 xff0c 主打便携轻薄本 xff0c 2009年的CES上索大法推出了一款与众不
  • 第2课【CMSIS和标准库开发】标准库 CMSIS 分层

    目录 基本知识框架课堂笔记CMSISCMSIS的分层关系和作用CMSIS层文件结构内核函数层文件外设函数访问层文件 标准库开发标准库开发 LED GPIO标准库开发 KEY GPIO标准库开发 位带操作位带位带位带别名区位带区和位带别名区的
  • 第4课【STM32的时钟】时钟 时钟源 内外部时钟 高低速时钟

    目录 基本知识框架课堂笔记时钟什么是时钟 xff1f 时钟有什么作用 时钟源HSE 外部高速时钟HSI 内部高速时钟LSE 外部低速时钟LSI 内部低速时钟PLL锁相环 主要时钟和其他时钟主要时钟其他时钟 配置系统时钟实验 基本知识框架Xm
  • 第7课【SysTick定时器】中断 系统定时器 寄存器

    目录 基本知识框架课堂笔记SysTick定时器简介什么是SysTick定时器SysTick定时器的作用 SysTick寄存器CTRL控制及状态寄存器LOAD重装载数值寄存器VALUE当前数值寄存器CALIB校准数值寄存器 SysTick实战
  • 第8课【通讯的基本概念】串行并行 单工半双工全双工 同步异步 比特率波特率

    目录 基本知识框架课堂笔记通讯传送方式串行通讯并行通讯串行通讯与并行通讯的特性 通讯方向单工通讯半双工通讯全双工通讯 同步方式同步通讯异步通讯同步通讯与异步通讯的区别 传输单位比特率波特率比特率和波特率的联系 通讯简介通讯标准 基本知识框架
  • 嵌入式宏定义中do...while(0)的意义

    目录 背景do while 0 形式宏定义使得宏定义拥有一些函数的特点 分析1 封装 xff1a 使得宏定义可以包含复杂的内容而不容易出错 xff0c 提高代码健壮性2 生命周期 xff1a 宏定义内 外部定义的同名变量不会冲突3 返回 x
  • 第9课【USB协议】USB总线 接口 端点 管道 数据包 枚举 STM32_USB-FS-Device_Lib V4.1.0

    目录 简介背景特点版本 数据流模型总线拓扑结构主 从设备通信流端点管道 物理层接口类型USB Type AUSB Type BUSB Type C 引脚定义4PIN9PIN5PIN24PIN16PIN6PIN 电平标准 协议层 通讯方式通讯
  • 第10课【STM32 USB通讯协议实战】HID键盘+CDC虚拟串口组合设备

    目录 前言USB设备类别未定义设备设备描述符 配置描述符分析配置从机类型配置设备专用的描述符配置从机端点实现设备类特定请求 HID设备特点HID键盘描述符实例HID报文描述符短条目报文生成HID键盘报文描述符实例总结 CDC设备特点CDC
  • 创建 std_srvs::Empty 型 Service (参数为空的服务)

    参考 xff1a ros NodeHandle advertiseService API docs 1 包含头文件 include lt std srvs Empty h gt 2 创建服务 xff0c 并绑定服务的回调函数 restart
  • stm32串口+DMA环形缓冲收发保姆级

    基于HAL库的STM32串口DMA环形缓冲收发实例 首先在此感谢开源项目 xff0c 以及大佬们的无私奉献 xff0c 让每一个逐梦人能够免费学习 xff0c 再次感谢 xff01 发布只为记录 xff0c 记性不够 xff0c 笔记来凑
  • NX串口通讯windows

    我用windows与NX进行通讯 xff0c 用的线是CH340下载线 USB端连接windows xff0c 绿色的TXD连接NX的10号 RXD xff0c 白色的RXD连接NX的8号 TXD 目录 1 windows端 2 NX端 2
  • 串口接收 DMA FIFO 双缓冲区配置 + 单色OLED屏幕灰度图像显示的抖动算法

    适用于单色OLED屏幕图像显示的抖动算法 Visual studio c 43 43 STM32F4070 96寸单色IIC通信OLED5级灰度串口DMA 双缓冲github 抖动算法原理 DITHER抖动算法是指灰度可以用一定比例的黑白点
  • HTTP请求报文与响应报文

    一 HTTP的请求报文格式 xff1a HTTP的请求报文内容包括 xff1a 请求行 request line 请求头部 header 空行 和 请求数据 request data 四个部分组成 请求行主要包括 xff1a 请求方法 UR
  • c++中char转换为string类型

    写程序遇到一个Bug如下 xff1a char x 61 39 a 39 string str x 这里报错了 当时就有点蒙了 xff0c 查了下string的构造函数 xff1a string string const string am
  • C语言——内存管理问题

    常见的内存错误及解决方法 一 结构体成员指针未初始化 eg span class token macro property span class token directive hash span span class token dire
  • 大端存储和小端存储

    一 大端存储 高字节数据存储在低地址 二 小端存储 低字节数据存储在低地址 注意 xff1a 无论是大端存储还是小端存储 xff0c 读取到的数据为0x0102030405 三 大端存储或小端存储都是由系统设定的 xff0c 其二者区别在于
  • 多播的概念

    一 多播概述 多播 xff1a 数据的收发仅仅在同一组中进行 xff08 相当于我往一个群里发 xff0c 只有加入这个群的人才能收到 xff09 多播的特点 xff1a 多播地址标示一组接口 多播可以用于广域网使用 在IPv4 xff0c
  • 利用C语言编写一个网络分析器

    一 链路层数据格式 mac报文 xff1a 14个字节 二 IP数据报文格式 三 TCP数据报文格式 四 UDP数据报文格式 五 demo xff08 网络分析器 xff09 recvfrom接收链路层帧数据 xff0c 不经过网络层 传输
  • ARP攻击代码(ARP欺骗)

    一 ARP攻击 ARP欺骗攻击原理 xff1a ARP欺骗攻击建立在局域网主机间相互信任的基础上的 比如 xff1a 假设A B C在同一个局域网中 xff0c 网关为192 168 43 1 xff0c IP地址和MAC地址分别假设如下
  • 使用wireshark抓包并分析TCP三次握手

    一 实验过程 1 TCP包抓取及分析过程 确认使用的协议 xff0c 使用HTTP服务 选择https www baidu com 作为目标地址 启动Wireshark软件 xff0c 点击开始抓包后 在浏览器地址输入https www b