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.mzph.cn/news/659887.shtml

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

相关文章

npm i 遇到了 npm ERR! code CERT_HAS_EXPIRED

npm i 遇到了 npm ERR! code CERT_HAS_EXPIRED 更新你的系统时间【命令 date】。确保你的计算机上的时间和时区设置正确,并且与当前时间相符。 清除你的 npm 缓存。使用 npm cache clean --force 命令清除你的 npm 缓存,关闭ssl验证,并重新运…

Python+Selenium+Unittest 之selenium15--等待时间

在正常的自动化过程中,如果整篇代码中没有加等待时间的话,有时候可能页面跳转或者还没开始点击就执行到下一个流程了,这时候因为页面没有加载完毕,所以有可能会导致找不到对应的元素而报错,因此我们需要在整个代码流程…

AlmaLinux上安装Docker

AlmaLinux上安装Docker 文章目录 AlmaLinux上安装Docker一、前言二、具体步骤1、Docker 下载更新系统包索引:添加Docker仓库:安装Docker引擎: 2、Docker服务启动启动Docker服务:设置Docker开机自启: 3、Docker 安装验证…

Android开发--ProgressBar应用显示测点数量

1.自定义ProgressBarView public class ProgressBarView extends View {private Paint mPaintBack;private Paint mPaint;private Paint mPaintText;private float process;int strokeWidth 3;//圈宽度int textSize 17;//字大小private long duration 1000;private float st…

一站式在线APP封装平台的革新之旅

随着移动互联网的快速发展,App已经成为我们日常生活中不可或缺的一部分。对于开发者而言,将创新的应用快速打包成APK格式,并进行有效分发,是确保应用生命周期成功的关键一步。传统的App打包过程往往需要复杂的环境配置、依赖管理以…

Mamba系列日积月累(一):状态空间模型SSM的离散化过程推导

文章目录 1. 背景基础知识1.1 什么是状态空间模型(State Space Model,SSM)?1.2 什么是离散化(Discretization)?1.3 为什么需要离散化? 2. SSM离散化过程推导2.1 为什么在离散化过程中…

无人机除冰保障电网稳定运行

无人机除冰保障电网稳定运行 近日,受低温雨雪冰冻天气影响,福鼎市多条输配电线路出现不同程度覆冰。 为保障福鼎电网安全可靠运行,供电所员工运用无人机飞行技术,通过在无人机下方悬挂器具,将无人机飞到10千伏青坑线…

电脑和手机连接酒店的wifi,网络不通导致charles无法抓手机的包

查看苹果手机,连wifi后的ip地址 电脑去ping 手机的ip地址,发现ping不通 解决方案: 应该是酒店wifi的问题,让朋友开个手机热点,电脑和我的手机都连这个热点,就可以抓包了

2024.1.31每日一题

LeetCode 找出不同元素数目差数组 2670. 找出不同元素数目差数组 - 力扣(LeetCode) 题目描述 给你一个下标从 0 开始的数组 nums ,数组长度为 n 。 nums 的 不同元素数目差 数组可以用一个长度为 n 的数组 diff 表示,其中 di…

OG Trade在ZKX揭幕:一家基于Starknet的游戏化永续合约交易所

ZKX的 OG Trade通过内置游戏化和30分钟交易竞赛,为所有交易者创造机会,革新了永续合约交易模式。 2024年1月30日 — ZKX宣布推出OG Trade,这是一家基于Starknet的游戏化永续合约交易所,旨在满足短期交易者、高水平交易者和波段交易…

Java后端须知的前端知识

Java后端须知的前端知识 HTML &#xff08;超文本标记语言&#xff09; W3C标准 结构&#xff1a;HTML表现&#xff1a;CSS行为&#xff1a;JavaScript 快速入门 <html><head><title></title></head><body><font color"red&q…

【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【Go-Zero】Windows11下etcd的安装与初步使用 大家好 我是寸铁&#x1f44a; 总结了一篇Windows11下etcd的安装与初步使用的文章✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言&#xff1a; 在使用etcd 前&#xff0c;我们需要了解一下etcd 是什么&#xff0c;为什么使用etcd…

日本大带宽服务器速度和性能评测的关系

在互联网的快速发展中&#xff0c;大带宽服务器在提供高速、稳定的数据传输方面起着至关重要的作用。特别是在日本&#xff0c;由于其先进的网络基础设施和庞大的互联网用户群体&#xff0c;大带宽服务器的需求日益增长。那么&#xff0c;日本大带宽服务器的速度和性能评测有何…

机器学习数学基础

机器学习基础 1、标量、向量、矩阵、张量2、概率函数、概率分布、概率密度、分布函数3、向量的线性相关性4、最大似然估计5、正态分布(高斯分布)6、向量的外积(叉积)7、向量的内积(点积)8、超平面(H)1、标量、向量、矩阵、张量 标量、向量、矩阵和张量是线性代数中不同…

探索工业以太网交换机的新纪元:满足多元化市场需求

在当今数字化的时代&#xff0c;工业以太网交换机作为信息网络的核心枢纽&#xff0c;扮演着至关重要的角色。它们连接着各种设备&#xff0c;实现数据的快速传输与稳定交换&#xff0c;为工业自动化、物联网和智能制造提供了可靠的基础设施。随着数字化转型的不断深入&#xf…

VBoxManage 命令行使用

VBoxManage&#xff1a; 序号命令作用1VBoxManage list vms# 查看当前所有虚拟机2VBoxManage list runningvms # 查看当前正在运行的虚拟机3VBoxManage startvm 虚拟机名 --type gui # 启动虚拟机4VBoxManage startvm 虚拟机名 --type headless# 无前端图形界面方式启动虚拟机…

【Linux取经路】进程控制——进程等待

文章目录 一、进程创建1.1 初识 fork 函数1.2 fork 函数返回值1.3 写时拷贝1.4 fork 的常规用法1.5 fork 调用失败的原因1.6 创建一批进程 二、进程终止2.1 进程退出场景2.2 strerror函数2.3 errno全局变量2.4 程序异常2.5 进程常见退出方法2.6 exit 函数2.7 _exit 函数和 exit…

新春送福,暖心探访

春节将至&#xff0c;岁寒情暖。为了深入了解辖区困境老人的生活状况和真实需求&#xff0c;让困境老人感受到党和政府的关爱与温暖&#xff0c;营造幸福和谐的节日气氛。2024年1月31日下午&#xff0c;在长沙市湘江新区民政与社会保障局的支持下&#xff0c;学联社区携手长沙市…

Https加密超文本传输协议的运用

一、https的相关知识 1.1 https的简介 HTTPS &#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加…

基于微服务的高考志愿智能辅助决策系统(附源码)

目录 一.引言 1、编写目的 2、系统功能概述 二.功能分析 三.微服务模块 1、微服务用户相关模块 &#xff08;1&#xff09;用户注册 &#xff08;2&#xff09;用户登录 &#xff08;3&#xff09;用户信息管理 &#xff08;4&#xff09;用户操作 2、微服务文件云存…