如何使用Wireshark软件分析TCP协议

news2024/11/28 21:44:46

  在学习网络相关知识的时候,需要对网络协议进行分析。网络协议分析软件用的最多的就是 Wireshark 这个软件,今天就简单总结一下如何使用这个软件进行TCP三次握手和四次挥手的查看。
  要查看三次握手和四次挥手的数据,那么就必须找一个软件有连接服务器和断开服务器的动作,这样才能查看到完整的协议流程。这里就使用有道词典这个软件来分析,当打开词典查词时,有道词典这个软件就会通过TCP三次握手来连接服务器,然后在关闭软件,那么就会和服务器之间进行TCP四次挥手断开连接。

  首先打开Wireshark软件,在工具栏中选择捕获—选项。
在这里插入图片描述
在这里插入图片描述
  在这个网口选择界面选择自己联网的网卡,我这里是使用无线路由器联网的,就选择WLAN,记住地下这个IP地址,192.168.3.108,一会分析协议的时候需要用到。网卡选择好之后选择开始。
在这里插入图片描述
  这个软件就和自动开始捕获网络上所有的数据了,接下来打开有道词典,查询一个单词。在这里插入图片描述
  单词查询完毕之后,在关闭有道词典。接着在Wireshark的界面停止数据捕获。

在这里插入图片描述

  这时会发现网络上的数据非常多,要在这么多数据里面找到自己想要的数据是很困难的。
在这里插入图片描述
  下面就需要将和有道词典TCP通信的相关数据单独拿出来分析。点一下界面上的Protocol将数据按照协议进行排序。
在这里插入图片描述
  然后在TCP相关协议里面找和自己的IP地址有关的数据,我这里的IP地址是192.168.3.108
在这里插入图片描述
在这里插入图片描述
  可以看到自己的IP地址 192.168.3.108 数据交互的IP地址也有很多个,也不知道哪个是有道词典的网址,这时可以主动去查看有道词典的网址。首先进入到有道词典的官网中,去复制官网的网址。
在这里插入图片描述
  复制这个youdao.com,然后按键盘上的Windows键+R键,打开运行窗口。
在这里插入图片描述
  输入命令 cmd,然后按确定按钮。
在这里插入图片描述

  此时会打开一个命令框,在里面输入 ping
在这里插入图片描述
  在输入一个空格,然后单击鼠标右键,粘贴刚才复制的网址 youdao.com,然后按回车键。
在这里插入图片描述

  这时命令中的这个IP地址就是有道词典官网的IP地址,现在在网络数据中找一找有没有这个IP地址。
在这里插入图片描述

  直接在软件界面中输入 ip.src == 103.74.50.106 然后按回车键,或者用鼠标点击最右边的蓝色背景的箭头。
在这里插入图片描述

  此时出现了一个很尴尬的问题,没有找到和这样IP通信的数据,难道刚才用有道词典查词是一个幻觉? 当然不是,因为好多公司的官网会有好几个IP地址,有道词典查词访问的IP和网页上访问官网的IP地址不是一个,但是通过刚才的ping命令可以知道,有道词典官网的IP段是 103.74.50.XXX,下面就可以在数据中查找以103.74.50开头的IP地址。
在这里插入图片描述

  单击命令输入框后面的红色×,退出查询界面。然后在数据里面找103.74.50开头相关IP。
在这里插入图片描述
  在工具栏中单击source,将源地址的 IP地址按照大小排序,可以看到以103.74.50开头的IP地址有两个,一个是103.74.50.98,一个是103.74.50.116,那这两个IP地址到底是不是有道词典服务器的地址呢,直接在浏览器的地址栏输入这两个IP地址。
在这里插入图片描述
在这里插入图片描述
  输入的IP地址为103.74.50.116时,网页中显示了youdao,说明这个IP地址肯定是有道词典访问的服务器地址,下面就在数据中专门查看本机IP和这个IP的数据传输过程。

  第一种方法 ,直接在应该过滤器栏输入 ip.src == 103.74.50.116 or ip.dst == 103.74.50.116 这句话的意思是,筛选出 源地址是103.74.50.116 或者目的地址是 103.74.50.116的数据。然后点击后面的箭头,或者按回车键。
在这里插入图片描述
  此时就将需要的数据筛选出来了。
在这里插入图片描述
  此时数据的顺序是乱的,单击工具啦上的Time,将数据按照时间进行排序。
在这里插入图片描述
  这时候从数据上就可以很清晰的看出来TCP连接时的握手信号和TCP断开时的挥手信号。但是挥手信号只要3条,按照正常情况下来说应该有4条信号。这是怎么回事呢?先别着急再看看103.74.50.98地址相关的数据。将数据筛选栏中的IP地址最后一位都改成98,然后重新筛选一次数据。
在这里插入图片描述

  本地IP和这个地址的TCP通信数据比较多,本机IP和这个IP前三条通信也是三次握手信号。
在这里插入图片描述

  这个IP的最后几条数据可以看到这是TCP四次挥手的数据。这个TCP通信的连接和断开数据都是完整的,说明这个IP地址很可能是也是有道词典的IP地址,电脑上的有道词典和服务器连接时,通过103.74.50.98和103.74.50.116这两个IP地址同时连接。

  上面这种直接在命令筛选框中输入IP的方法,有点麻麻烦,有时候还会想不起来命令如何输入,下面在演示另一种方法来筛选数据。
在这里插入图片描述
  在源地址这一列中找到自己想要筛选的IP,然后用鼠标在这个IP地址上点一下,把这个IP选中,然后单击鼠标右键。选择准备作为过滤器----选中。
在这里插入图片描述
  此时命令筛选框中就会自动显示出一条命令。

在这里插入图片描述
  接下来在目的地址这一栏也选中自己想要筛选的IP。
在这里插入图片描述
  然后单击鼠标右键选择准备作为过滤器 ---- 或选中
在这里插入图片描述
  这个的意思是这条命令和上一条命令的关系是或的关系,也就是两条命令中只要有一个成立就可以。

在这里插入图片描述

  按照同样的方法,将103.74.50.98这个IP也添加到命令栏中去,这样就可以同时查看这两个IP的通信数据了。
在这里插入图片描述
  命令选择完成后单击后面的箭头,开始筛选数据。
在这里插入图片描述
  这样本机和这两个IP之间的通信数据就都可以看到了。

在这里插入图片描述
  分析数据可以看出,本机IP和103.74.50.98这个IP地址进行了好几次握手,也就是软件界面上背景为灰色的地方都是TCP三次握手的相关数据。
在这里插入图片描述
  同时本机IP也和103.74.50.116这个IP地址进行了握手。
在这里插入图片描述
  当软件关闭的时候,本机IP向103.74.50.116和103.74.50.98这两个IP地址都发送了挥手信号。通过这个就可以判断出,有道词典这个软件和服务器连接的时候是通过2个IP地址同时连接的。

  还可以通过流量图来查看数据通信过程,在工具栏中选择统计--- 流量图

在这里插入图片描述

在这里插入图片描述
  勾选上限制显示过滤器,流类型选择TCP Flows,然后通过上面就可以看出来数据通信的过程了。

  如果是第一次使用这个软件的话,就会发现捕获的数据,发送和应答的序列号都是从0开始的,而不是资料上说的随机序列号。
在这里插入图片描述
  这不是软件捕获的数据有问题,而是这个软件默认会把序列号显示为相对序列号。如果向查看原始序列号的话,在工具栏中选择编辑—首选项
在这里插入图片描述
  再打开的界面中选择 Probocols,展开底下的选项。
在这里插入图片描述
  在展开的选项中选择TCP,然后在右边的选项中将 Relative 开头的这个选项前面的勾去掉,然后点OK按钮。
在这里插入图片描述
  这时数据中的序列号就会显示原始的序列号了。
在这里插入图片描述
  如果想要将这次分析的数据存储起来,可以在工具栏中选择文件—到处特定分组。将本次分析的数据直接保存起来,下次查看的时候直接打开就行。
在这里插入图片描述
在这里插入图片描述
  这个软件的使用,就简单说这么多,其他的功能大家在使用的过程中自己慢慢探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/524198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pr 拍立得风格图片展示

哈喽,各位小伙伴!今天我们来学习一下如何制作拍立得风格的照片展示效果? 新建三个序列 在开始之前,我们需要新建三个序列 序列1:总合成-尺寸1902*1080序列2:照片合成-尺寸1920*1080序列3:照片…

1-Zookeeper简介

1-Zookeeper简介 ①官网 官网 https://zookeeper.apache.org/中文网站 https://zookeeper.net.cn/ ②简介 ZooKeeper 是分布式应用程序的分布式开源协调服务。它公开了一组简单的原语,分布式应用程序可以基于这些原语实现更高级别的同步、配置维护、组和命名服务…

MATLAB入门教程 | 001基础知识

一、认识MATLAB 1. MATLAB概述 (1)在欧美各高等学校, Matlab成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等诸多课程的基本教学工具,成为本科生、硕士生和博士生的必须掌握的基本技能。 (2&…

2023.05.14 学习周报

文章目录 摘要文献阅读1.题目2.现存问题和解决方法3.RUM4.本文贡献5.模型框架5.1 Memory enhanced user embedding5.2 Prediction function5.3 Item-level RUM5.4 feature-level RUM 6.实验6.1 数据集6.2 测量准则6.3 基线6.4 实验结果 7.结论与展望 灰色预测有限元法1. 第一类…

【图像基础知识】常见图像格式

文章目录 1 简介2 RGB3 BGR4 YUV4.1 YUV常见格式4.2 YUV420详解4.3 NV12 5 Gray6 图像格式之间的转换7 参考链接 原文来自于地平线开发者社区,未来会持续发布深度学习、板端部署的相关优质文章与视频,如果文章对您有帮助,麻烦给点个赞&#x…

基于趋动云部署秋葉aaaki的Stable Diffusion整合包v4--linux版

B站大V秋葉aaaki的Stable Diffusion整合V4版发布了,集成度比较高,在windows下解压缩直接就可以使用,整合的非常好。但是笔人没有RTX4090这样级别的显卡,又希望有个高速运行的效果。 所以索性到云GPU主机上来用秋叶aaaki的Stable …

1.环境搭建

1.Windows 系统GolangVisual Studio CodeMicrosoft Windows (x86-64)go1.20.1.windows-amd64.msihttps://code.visualstudio.com/DownloadMicrosoft Windows (x86-i386)go1.20.1.windows-386.msihttps://code.visualstudio.com/DownloadMicrosoft Windows (ARM64)go1.20.1.win…

《疯狂Java讲义》读书笔记4

初始化块 是构造器的补充,在构造器之前执行。 是一段固定的代码,不接受任何参数。 构造器其实是一个假象,编译Java类后,初始化块会消失,当中的代码被还原到构造器中,且位于构造器前面。 静态初始化块 用…

springboot+vue家政服务管理平台(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的家政服务管理平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…

R语言相关系数的可视化

R相关系数的可视化 文章目录 R相关系数的可视化[toc]1、序列自相关2、序列偏自相关3、简单相关4、相关图可视化5、不同方法6、其他一些修饰 1、序列自相关 自相关是指同一时间序列在不同时间 t t t上取值的相关程度,假设时间序列 { X t } t 1 T \{X_t\}_{t1}^{T} …

电子电气架构——车载以太网防火墙

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本文主要分享关于车用基础软件的内核和中间件核心技术—虚拟化的典型应用案例。 车辆内部的以太网网络是一个相对封闭的环境,没有因特网那么复杂。由于车辆…

[LeetCode周赛复盘] 第 345 场周赛20230514

[LeetCode周赛复盘] 第 345 场周赛20230514 一、本周周赛总结6430. 找出转圈游戏输家1. 题目描述2. 思路分析3. 代码实现 6431. 相邻值的按位异或1. 题目描述2. 思路分析3. 代码实现 6433. 矩阵中移动的最大次数1. 题目描述2. 思路分析3. 代码实现 6432. 统计完全连通分量的数…

多核与多处理器的区别

一、定义 多核:单块CPU上面能处理数据的芯片组的数量,比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。 多处理器:主板上实际插入的cpu数量,一般有两个或者多个处理…

AutoSar之DaVinci开发环境

文章目录 前言一、AutoSar架构简介二、开发环境组成1.DaVinci Developer2.DaVinci Configurator3.SIP 总结 前言 作为初学者,接触AutoSar的开发,除了需要掌握基本的AutoSar架构知识外,还需要熟悉设计和配置AutoSar的工具链。接下来我会以Vec…

ChatGPT在小红书文案实践

今天聊一聊ChatGPT在小红书这个实际应用场景的案例。ChatGPT 以较低的门槛提高了使用者创作水平,有较高的下限,但如何创造更高质量的内容就要依靠使用者在领域的能力和AI使用技巧,作者无任何小红书推广和文案写作经验,文章内容来自…

【MySQL】C语言连接数据库

在使用数据库的时候&#xff0c;我们是操作客户端方的&#xff0c;向服务器请求数据。MySQL的端口号-3306 连接mysql需要头文件&#xff1a;#include<mysql/mysql.h> 基础连接步骤&#xff1a; 1.创建连接句柄 MYSQL mysql_con;//连接句柄 2.初始化连接句柄mysql_i…

LabVIEWCompactRIO 开发指南18 使用网络流发送消息和命令

LabVIEWCompactRIO 开发指南18 使用网络流发送消息和命令 默认情况下&#xff0c;网络流旨在最大化吞吐量&#xff0c;但可以轻松实现它们以最大化发送命令或消息的低延迟。 为本部分提供LabVIEW示例代码 命令发送器体系结构 命令发送器是CompactRIO控制器必须响应的任何命…

如何构建“Buy Me a Coffee”DeFi dApp

&#x1f978; 本教程来自官网&#xff1a;https://docs.alchemy.com/docs。对原文部分内容进行了修改。教程中所有实例经过本人实践&#xff0c;代码可见&#xff1a;https://github.com/ChuXiaoYi/web3Study 区块链技术令人惊叹&#xff0c;因为它使我们能够使用代码和软件编…

【Linux初阶】进程地址空间 | CUP与可执行程序的交互原理

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;计算机空间初识&#xff08;子进程变量修改实验&#xff09;&#xff0c;感性理解进程虚拟地址空间&#xff0…

Web自动化测试工具大对决:细致比较Selenium、Protractor和Cypress

目录 前言&#xff1a; Selenium Protractor Cypress 结论 Web自动化测试步骤结构图&#xff1a; 前言&#xff1a; 随着Web应用程序的广泛使用&#xff0c;Web自动化测试工具的需求也越来越高。Web自动化测试工具可以模拟用户在Web浏览器中的行为&#xff0c;并且可以快…