Wireshark网络协议分析 - Wireshark速览

在我的博客阅读本文

文章目录

  • 1. 版本与平台
  • 2. 快速上手
    • 2.1. 选择网络接口进行捕获(Capture)
    • 2.2. 以Ping命令为例进行抓包分析
    • 2.3. 设置合适的过滤表达式
    • 2.4. 数据包详情
    • 2.5. TCP/IP 四层模型
  • 3. 参考资料

1. 版本与平台

Wireshark是一个开源的网络数据包分析器,本文基于Windows11平台,Wireshark使用的是4.2.0版本,有官方的中文支持。

Untitled

2. 快速上手

2.1. 选择网络接口进行捕获(Capture)

打开Wireshark第一步需要选择一个网络接口:

Untitled

这里可以根据实际情况选择一个接口,笔者这里是WLAN上网的环境,重点看一下两个接口:

  • WLAN:无线局域网流量接口
  • adapter for loopback traffic capture:回环流量接口

举2个例子。

场景一:

我本地启动了一台tcp服务器,它的地址端口是127.0.0.1:9820;同时,我在本地9821端口启动了一台tcp客户端连接这个服务器,他的流量路径是:

127.0.0.1:9821 → 127.0.0.1:9820

此时,流量无需经过外部网关转发,是一个纯粹的系统内部端口直连流量,这种情况下就应该使用adapter for loopback traffic capture接口进行捕获。

场景二:

如果我是本地电脑访问比如https://masaiqi.com这种公网的网站,需要通过WLAN接口访问路由器进而访问,应该使用WLAN接口进行捕获。

2.2. 以Ping命令为例进行抓包分析

我这里选择的是捕获WLAN接口,执行以下命令:

ping masaiqi.com

在WireShark中我们有以下结果:

Untitled

2.3. 设置合适的过滤表达式

WLAN接口是我们本地访问公网的接口,所有流量都将被拦截,我们首先需要通过过滤器去定位我们需要的流量。

我们知道,Ping命令主要包含两个过程,DNS Query + ICMP。

因此,可以看到在WireShark的过滤表达式我们输入了以下过滤条件,即DNS协议或者ICMP协议:

dns or ((_ws.col.protocol == "ICMP") )

当表达式正确时,Wireshark会显示绿色,反之则是红色。

2.4. 数据包详情

这部分是Wireshark的核心部分,以序号1167这行数据为例,点击后WireShark显示如下:

Untitled

主要分为两部分:

  • 绿圈部分则为原始的二进制数据流,当然这里Wireshark采用了十六进制进行展示。
  • 红色方框为原始二进制数据流的具体含义,Wireshark很贴心的帮我们“翻译”原始二进制数据流。当鼠标放在红圈的某一行数据时,Wireshark会在绿圈中用蓝色背景色提示你这里对应原始数据流的哪一部分数据。

点开“Domain Name System”:

Untitled

根据笔者的观察,这里分为两种字段:

  • 直接展示的字段,比如Flags,直接值就是0x0100,和原始数据流一一对应。
  • 用中括号包裹的字段,比如[Name Length],这种一般是字节流没有直接表示,而是Wireshark根据当前上下文(可能不止当前的包)推断出来的。

数据包详情中有部分数据Wireshark会帮我们显示在Info列中,比如这里我们从封包内容读出是DNS查询masaiqi.com,数据包的Info列中也有相关内容展示。

2.5. TCP/IP 四层模型

封包详情中这部分数据刚好对应TCP/IP四层模型中的模型层次(原谅笔者草率的图)

Untitled

TCP/IP 四层模型,是分析Wireshark数据帧(数据包)的基础知识。

关于网络的框架模型普遍存在两套理解,即OSI七层模型与TCP/IP四层模型,本质上只是考虑问题的维度不一样,二者的关系如下:

Untitled

对于TCP/IP四层模型来说:

  • Application(应用层):用户直接与之交互的层,负责处理具体的应用程序细节。包括HTTP等协议(本例中使用域名查询服务)
  • Transport(传输层):负责在源点和目的地之间提供端到端的通信。包括TCP协议,UDP协议。(本例中使用UDP协议)
  • Internet(网络层,网络互连层):负责在网络中传输数据包。包括互联网协议(IP)。(本例中的IP协议,源ip与目标IP)
  • Network(网络接口层):负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标识网络上的设备。(本例中是网络设备的MAC地址,源设备MAC地址与目标MAC地址)

这里仅快速了解一下TCP/IP四层模型的知识,不结合实例来说就是死记硬背了,后续会结合具体的封包内容,按协议不同单独分析。

3. 参考资料

  • 林沛满 -《Wireshark网络分析就这么简单》
  • 刘超 ——《趣谈网络协议》

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux——安装MySQL

1、安装mysql8.0.35 1.1、安装步骤 1.更新包列表,首先,确保您的系统已更新到最新状态。运行以下命令来更新包列表和安装最新的软件包: sudo apt update sudo apt upgrade2.安装MySQL服务器:运行以下命令来安装MySQL服务器&…

【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏5(附项目源码)

本节最终效果演示 文章目录 本节最终效果演示系列目录前言修改鼠标光标和中心提示图鼠标光标素材修改默认鼠标光标修改中心提示图 拾取提示弹窗简单绘制UI拾取弹窗功能 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使…

ASTORS国土安全奖:ManageEngine AD360荣获银奖

美国安全今日(AST)的年度“ASTORS”国土安全奖计划是一个备受瞩目的活动,致力于突显国土安全领域的创新与进步。这一奖项旨在表彰在保护国家免受安全威胁方面做出卓越贡献的个人和组织。该计划汇聚了执法、公共安全和行业领袖,不仅…

能耗在线监测系统在节能管理中的应用

上海安科瑞电气股份有限公司 胡冠楠 咨询家:“Acrelhgn”,了解更多产品资讯 摘要:开展能耗在线监测系统建设,对加强政府部门和企业节能管理中的应用前景,分析系统在能源消费预测分析、能效对标、节能监察、能源精细化…

单片机驱动多个ds18b20

目录 1设计内容 2ds18b20介绍 2.1传感器引脚及原理图 2.2寄存器配置 3程序实现 3.1配置初始化 3.2配置寄存器 3.3ROM读取 3.4温度读取 1设计内容 通过51单片机,读取总线上挂载的多个ds18b20的温度信息。 如下图,成功读取到3路温度数据。 2ds18…

路由备份聚合排错

目录 实验拓扑图 实验要求 实验排错 故障一 故障现象 故障分析 故障解决 故障二 故障现象 故障分析 故障解决 故障三 故障现象 故障分析 故障解决 故障四 故障现象 故障分析 故障解决 故障五 故障现象 故障分析 故障解决 实验拓扑图 实验要求 按照图示配…

软件工程知识梳理4-详细设计

详细设计阶段的根本目标是确定应该怎样具体地实现所要求的系统,也就是说.经过这个阶段的设计工作.应该得出对目标系统的精确描述.从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 详细设计的的目标不仅仅是逻辑上正确地实现每个模块地功能&a…

使用最大边界相关算法处理文章自动摘要

一、需求背景 对于博客或者文章来说,摘要是普遍性的需求。但是我们不可能让作者自己手动填写摘要或者直接暴力截取文章的部分段落作为摘要,这样既不符合逻辑又不具有代表性,那么,是否有相关的算法或者数学理论能够完成这个需求呢&…

【UE 材质】球形遮罩材质

效果 步骤 1. 新建一个材质,这里命名为“M_Mask” 打开“M_Mask”,混合模式设置为已遮罩,勾选双面显示 在材质图表中添加如下节点 此时我们将一个物体赋予材质“M_Mask”并放置在世界坐标原点,可以看到如下效果 2. 如果我们希望能…

UE4学习笔记 FPS游戏制作1 制作第一人称控制器

文章目录 章节目标前置概念Rotator与Vector:roll与yaw与pitch 添加按键输入蓝图结构区域1区域2区域3区域4 章节目标 本章节将实现FPS基础移动 前置概念 Rotator与Vector: Vector是用向量表示方向,UE中玩家的正前方是本地坐标系的(1,0,0)&…

MySQL备份和恢复(二)mysqldump

注意:mysqldump是完全备份 一、mysqldump备份命令 1、 备份数据库 含创建库语句 (1)备份指定数据库 完全备份一个或多个完整的库, mysqldump -uroot -p[密码] --databases 库名1 [库名2].. >/备份路径/备份文件名.sql#导出…

华为笔记本matebook pro X如何扩容 C 盘空间

一、前提条件 磁盘扩展与合并必须是相邻分区空间,且两个磁盘类型需要相同。以磁盘分区为 C 盘和 D 盘为例,如果您希望增加 C 盘容量,可以先将 D 盘合并到 C 盘,然后重新创建磁盘分区,分配 C 盘和 D 盘的空间大小。 访…

ADI 配合 USRP 使用的相控阵天线 cn0566

相控阵天线 在这里插入图片描述

vulnhub靶场之Matrix-Breakout 2 Morpheus

一.环境搭建 1.靶场描述 This is the second in the Matrix-Breakout series, subtitled Morpheus:1. It’s themed as a throwback to the first Matrix movie. You play Trinity, trying to investigate a computer on the Nebuchadnezzar that Cypher has locked everyone…

WebAssembly核心编程[1]:wasm模块实例化的N种方式

当我们在一个Web应用中使用WebAssembly,最终的目的要么是执行wasm模块的入口程序(通过start指令指定的函数),要么是调用其导出的函数,这一切的前提需要创建一个通过WebAssembly.Instance对象表示的wasm模块实例(源代码…

vuex组件之间共享数据的方式

父向子传值:v-bind 属性绑定 子向父传值:v-on 事件绑定 $on 接收数据的那个组件 $emit 发送数据的那个组件 其他的传值方式: ref 获取dom元素还有组件 $children获取子组件集合 $parent获取父组件 路由参数--组件传值 1.Vuex概述 1 1.Vuex概述 Vuex是实现组件全局状…

【LUA】mac状态栏添加天气

基于网络上的版本修改的,找不到出处了。第一个摸索的lua脚本,调了很久。 主要修改:如果风速不大,就默认不显示,以及调整为了一些格式 local urlApi http://.. --这个urlApi去申请个免费的就可以了 然后打开对应的json…

Vue学习Element-ui

声明:本文来源于黑马程序员PDF讲义 Ajax 我们前端页面中的数据,如下图所示的表格中的学生信息,应该来自于后台,那么我们的后台和前端是 互不影响的2个程序,那么我们前端应该如何从后台获取数据呢?因为是2…

什么是git,怎样下载安装?

简介: 应用场景: 应用场景:团队企业开发 作用: 安装: 1.网址:Git - Downloads 很卡很慢 2.可以选择镜像网站下载(推荐) CNPM Binaries Mirror

k8s从私有库harbor中拉取镜像

一、前言 Docker镜像是构建应用程序的基础。然而,许多组织和开发团队希望保留他们的Docker镜像在私有仓库中,并从中拉取镜像,而不是从公共Docker Hub中下载。这样做的原因有很多,包括: 1. 安全性:私有仓库可…