【一篇搞定配置】网络分析工具WireShark的安装与入门使用

news/2024/11/28 17:04:51/

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客

💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 

目录

1. 前言

2. Wireshark抓包原理

3. Wireshark数据过滤与应用

3.1 数据过滤

3.2 Wireshark应用

4.  Wireshark下载与安装

5. Wireshark使用入门

5.1 选择网卡

5.2 停止抓包

5.3 保存数据

6. 界面介绍​编辑

7. 基础操作 

7.1 调整页面大小

7.2 设置显示列

7.3 设置时间

7.4 标记数据包

7.5 导出数据包

7.6 开启混杂模式

7.7 过滤器操作

8. 总结


1. 前言

       WireShark是一个网络封包分析软件网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在网络封包和流量分析领域有着十分强大功能的工具,深受各类网络工程师网络分析师的喜爱。

关键点:抓取网络传输中的包(传输数据组成包),并展现数据的详细资料。这些资料可用于网络分析/测试。

2. Wireshark抓包原理

       Wireshark使用的环境大致分为两种:一种是电脑直连互联网单机环境,另外一种就是应用比较多的互联网环境,也就是交换机环境的情况。

「单机情况」下:Wireshark直接抓取本机网卡的网络流量;
「交换机情况」下:Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。

  • 端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
  • ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。

3. Wireshark数据过滤与应用

3.1 数据过滤

Wireshark在抓取网络流量后,需要对网络流量进行分析。由于网络流量非常大,一次性全部分析是没有必要的。因此wireshark可以通过过滤器筛选出想要分析的内容,过滤器包括:协议过滤、端口和主机名过滤、数据包内容过滤

常见的协议过滤如下:

  • ARP协议
  • ICMP协议
  • TCP协议
  • UDP协议
  • DNS协议
  • HTTP协议

3.2 Wireshark应用

  • 网络管理员会使用 wireshark 来检查网络问题
  • 网络安全工程师使用 Wireshark 来检查资讯安全相关问题
  • 软件测试工程师使用 wireshark 抓包,来分析自己测试的软件
  • 开发人员使用 Wireshark 来为新的通讯协议除错
  • 从事socket编程的工程师会用wireshark来调试
  • 使用Wireshark 来学习网络协议的相关知识
  • 还可以抓一些敏感信息....
     

4.  Wireshark下载与安装

Linux系统自带 Wireshark 工具,而windows 需要手动安装wireshark

下载官网:

Wireshark · Download

1)选择合适下载包

2)安装提示逐步安装

一路next直到:

后面继续无脑next即可~~~~

3)安装Npcap 

在前面的wiresharp选择后,安装wiresharp过程中会要求你安装Nacap,具体如下:

等待Nacap安装完成,即可~~~

Npcap是一组网络通信工具集,提供了捕获网络数据包的功能。通过这些工具,用户可以截获、分析和过滤网络上传输的数据包,对于网络安全、系统开发和网络故障排查等领域有着重要的应用。

5. Wireshark使用入门

安装完成后,我们学习一下快速抓包

5.1 选择网卡

打开 Wireshark 后,会直接进入「网卡选择界面」,WLAN 是我连接无线的网卡,我们抓一下这个网卡的流量,双击网卡名,自动开始抓包。

5.2 停止抓包

5.3 保存数据

也可以直接点击工具栏的保存按钮

6. 界面介绍

Wireshark 的主界面包含6个部分:

  1. 菜单栏:用于调试、配置
  2. 工具栏:常用功能的快捷方式
  3. 过滤栏:指定过滤条件,过滤数据包
  4. 数据包列表:核心区域,每一行就是一个数据包
  5. 数据包详情:数据包的详细数据
  6. 数据包字节:数据包对应的字节流,二进制

7. 基础操作 

7.1 调整页面大小

工具栏中的三个「放大镜」图标,可以调整主界面数据的大小。

从左到右依次是:放大、缩小、还原默认大小。

7.2 设置显示列

数据包列表是最常用的模块之一,列表中有一些默认显示的列,我们可以添加、删除、修改显示的列。

添加:

想要在数据列表中显示某一个字段,可以将这个数据字段添加至显示列中。
左键选中想要添加为列的字段,右键选择「应用为列」

添加为列的字段会在数据列表中显示

隐藏:

暂时不想查看的列,可以暂时隐藏起来。
在显示列的任意位置右键,取消列名的「勾选」,即可隐藏显示列。

删除:

不需要查看的字段,可以从显示列中删除。
右键需要删除的列,点击最下方的「Remove this Column」 。

7.3 设置时间

数据包列表栏的时间这一列,默认显示格式看起来很不方便,我们可以调整时间的显示格式。
点击工具栏的「视图」,选择「时间显示格式」,设置你喜欢的格式。

7.4 标记数据包

对于某些比较重要的数据包,可以设置成高亮显示,以达到标记的目的。
选中需要标记的数据包,右键选择最上面的「标记/取消标记」。

7.5 导出数据包

演示快速抓包时,我们讲过保存数据包的操作,保存操作默认保存所有已经抓取的数据包。但有时候,我们只需要保存指定的数据包,这时候可以使用导出的功能。

导出单个数据包:

选中数据包,点击左上角的「文件」,点击「导出特定分组」

在「导出分组界面」,选择第二个 「Selected packets only」,只保存选中的数据包。

导出多个数据包:

有时候我们需要导出多个数据包,Wireshark有一个导出标记的数据包的功能,我们将需要导出的数据包都标记起来,就可以同时导出多个数据包。

点击左上角的「文件」,点击「导出特定分组」。

在「导出分组界面」,勾选第三个 「Marked packets only」,只导出标记的数据包。

7.6 开启混杂模式

局域网的所有流量都会发送给我们的电脑,默认情况下,我们的电脑只会对自己mac的流量进行解包,而丢弃其他mac的数据包。
开启混杂模式后,我们就可以解析其他mac的数据包,因此,我们使用Wireshark时,通常都会开启混杂模式。

点击菜单栏的「捕获」按钮,点击「选项」。

勾选 在所有接口上使用混杂模式。

7.7 过滤器操作

过滤器是Wireshark的核心功能,也是我们平时使用最多的一个功能。

Wireshark提供了两个过滤器:抓包过滤器显示过滤器。两个过滤器的过滤思路不同。

  1. 抓包过滤器:重点在动作,需要的包我才抓,不需要的我就不抓。
  2. 显示过滤器:重点在数据的展示,包已经抓了,只是不显示出来。

抓包过滤器:

抓包过滤器在抓包前使用,它的过滤有一个基本的语法格式:BPF语法格式:

1)BPF语法

BPF(全称 Berkeley Packet Filter),中文叫伯克利封包过滤器,它有四个核心元素:类型、方向、协议 和 逻辑运算符。

  1. 类型Type:主机(host)、网段(net)、端口(port)
  2. 方向Dir:源地址(src)、目标地址(dst)
  3. 协议Proto:各种网络协议,比如:tcp、udp、http
  4. 逻辑运算符:与( && )、或( || )、非( !)

四个元素可以自由组合,比如:

  • src host 192.168.31.1:抓取源IP为 192.168.31.1 的数据包
  • tcp || udp:抓取 TCP 或者 UDP 协议的数据包

2)使用方式

使用抓包过滤器时,需要先停止抓包,设置完过滤规则后,再开始抓包。

停止抓包的前提下,点击工具栏的捕获按钮,点击选项。

在弹出的捕获选项界面,最下方的输入框中输入过滤语句,点击开始即可抓包。

提示:抓包过滤器的输入框,会自动检测语法,绿色代表语法正确,红色代表语法错误。

显示过滤器:

显示过滤器在抓包后或者抓包的过程中使用。

1)语法结构

显示过滤器的语法包含5个核心元素:IP、端口、协议、比较运算符和逻辑运算符。

  1. IP地址:ip.addr、ip.src、ip.dst
  2. 端口:tcp.port、tcp.srcport、tcp.dstport
  3. 协议:tcp、udp、http
  4. 比较运算符:> < == >= <= !=
  5. 逻辑运算符:and、or、not、xor(有且仅有一个条件被满足)

5个核心元素可以自由组合,比如:

  • ip.addr == 192.168.32.121:显示IP地址为 192.168.32.121 的数据包
  • tcp.port == 80 :显示端口为 80 的数据包

2)使用方式

在过滤栏输入过滤语句,修改后立即生效。

8. 总结

本文到这里就结束啦~~
如果觉得对你有帮助,辛苦友友点个赞哦~

本文重点参考如下文章:

 【保姆级教学】抓包工具Wireshark使用教程 - 始識 - 博客园计算机网络实验 Labexercise1-1 Protocol Layers(Wireshark抓包与协议分析实验) - 一只小十七 - 博客园


http://www.ppmy.cn/news/1550673.html

相关文章

远程视频验证如何改变商业安全

如今&#xff0c;商业企业面临着无数的安全挑战。尽管企业的形态和规模各不相同——从餐厅、店面和办公楼到工业地产和购物中心——但诸如入室盗窃、盗窃、破坏和人身攻击等威胁让安全主管时刻保持警惕。 虽然传统的监控摄像头网络帮助组织扩大了其态势感知能力&#xff0c;但…

<项目代码>YOLOv8 红绿灯识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

从零开始学 Maven:简化 Java 项目的构建与管理

一、关于Maven 1.1 简介 Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中&#xff0c;但也可以用于其他类型的项目。Maven 的设计目标是提供一种更加简单、一致的方法来构建和管理项目&#xff0c;它通过使用一个标准的目录布局和一…

leetcode hot100【LeetCode 347.前 K 个高频元素】java实现

LeetCode 347.前 K 个高频元素 题目描述 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1]Java 实现代码…

QT 中 SQLite 使用方法

一、pro文件中包含&#xff1a; QT ... sql 二、SQLite 使用要包含的头文件&#xff1a; #include <QSqlDatabase> // 数据库驱动 #include <QSqlQuery> // 数据库执行语句 #include <QSqlError> // 数据库日志 三、数据库创建 QSqlDatabase dat…

【CLIP】2: semantic-text2image-search前后端调试

添加了详细的调试信息,包括当前处理的图片、向量化结果,以及插入到集合中的数据详情。调试信息可以帮助你在运行过程中清楚地了解数据的处理情况。调试建议 向量维度和内容:通过打印向量的长度和部分内容,可以检查向量化过程是否正常。处理失败时的日志:捕获异常时记录具体…

LeetCode 3243. Shortest Distance After Road Addition Queries I

&#x1f517; https://leetcode.com/problems/shortest-distance-after-road-addition-queries-i 题目 有 n 个城市&#xff0c;编号 0 ~ n-1&#xff0c;从城市 i 到 i1 有一条路给若干高速路&#xff0c;表明从城市 u 到 v 有一条新增的路&#xff0c;v - u > 1返回每新…

泷羽sec学习打卡-shell命令2

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 关于shell的那些事儿-shell2 临时变量和永久变量为什么使用ls、dir命令可以输出一些内容呢&#xff1f;如…