WireShark 安装指南:详细安装步骤和使用技巧

news2025/5/24 7:41:14

Wireshark是一个开源的网络协议分析工具,它能够捕获和分析网络数据包,并以用户友好的方式呈现这些数据包的内容。Wireshark 被广泛应用于网络故障排查、安全审计、教育及软件开发等领域。接下将讲解Wireshark的安装与简单使用。

目录

Wireshark安装步骤

Npcap安装步骤

USBPcap安装步骤

Wireshark使用入门

Wireshark过滤器使用


Wireshark安装步骤

首先我们先打开Wireshark的 官网 点击Get Acquainted菜单找到Download,点击进到下载界面。

进入到下载界面后,给我们提供了当前最新版本和历史版本下载的选项,这里我们选择下载最新版本,大家根据自身电脑系统进行选择下载相应的安装包,这里我拿windows举例,在最新版本中选择下载Windows 64位的安装包,单击Windows Installer(64-bit) 下载:

下载完成之后,双击下载的安装包,点击next,如下图:

点Noted之后再点击Next,如下图:

选择要安装的组件,默认下载也行,这里博主我就全选了,点Next,如下图

选择附件任务,以下是该任务的解释,根据自身需要进行勾选,博主选择如下方式安装:

Create Shortcuts:创建快捷方式

1)Wireshark Start Menu Item:Wireshark开始菜单项

2)Wireshark Desktop Icon:Wireshark桌面图标

Associate File Extensions:关联文件扩展

Associate trace file extensions with Wireshark将跟踪文件扩展名与 Wireshark 关联起来

自定义选择安装位置,推荐D盘安装即可,如下图:

Wireshark需要Npcap或WinPcap来捕获实时网络数据,默认下载即可,点击Next,如下图:

此处根据需要选择安装,这个插件还是测试版本的,本人选择安装:

USBPcap is required to capture USB traffic. Should USBPcap be installed(experimental)?

要捕获 USB 流量,需要 USBPcap。是否应该安装 USBPcap (实验)?

接下来wireshark跳转到安装界面如下图,同时弹出了一个Npcap的安装界面,第二个标题处理该安装步骤,如下图:

接下来wireshark跳转到安装界面如下图,同时弹出了一个USBPcap的安装界面,第三个标题处理该安装步骤,如下图:

上面两个工具安装完成之后,如下界面显示wireshark已经安装完成,点击Next即可,如下图:

检查电脑的文件是否保存,此步骤需要重新 Windows 系统,WireShark 才可以完全安装成功,重启后才可以使用 WireShark,选择如下重启即可,如下图:

电脑重启后至此我们的wireshark安装完成,可以继续阅读本文对wireshark使用讲解的内容。

Npcap安装步骤

点击 I Agree 同意进行下载,如下图:

根据自身情况进行如下的勾选下载,博主采取如下方式,如下图:

1)Restrict Npcap driver's access to Administrators only:仅管理员用户可以调用Npcap,一般不勾选

2)Support raw 802.11 traffic (and monitor mode) for wireless adapters:开启无线802.11报文的支持(含监控模式)

3)Install Npcap in WinPcap API-compatible Mode:兼容WinPcap模式,可勾选

下载完成点击Next,Finish即可,至此安装完成 ,如下图:

USBPcap安装步骤

两次勾选我同意协议的勾选框,然后点击Next,如下图:

默认点击Next即可,如下图:

自定义安装目录,推荐D盘,然后点击Install即可,如下图:

下载完成点击Close即可,如下图:

Wireshark使用入门

Wireshark是使用最广泛的一款「开源抓包软件」,常用来检测网络问题、攻击溯源、或者分析底层通信机制。它使用WinPCAP作为接口,直接与网卡进行数据报文交换。

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

单机情况下:Wireshark直接抓取本机网卡的网络流量。

交换机情况下:Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。

端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。

ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。

接下来开始正式对Wireshark工具进行使用介绍:

选择网卡:当我们打开Wireshark后就会进入到欢迎界面也称网卡选择界面,如下图有很多的网络连接,这里大多数的连接我们基本都用不到,那么我们到底应该点哪个网络连接呢?要去抓哪个网络连接的包呢?继续往下看

键盘win+r键输入cmd回车打开终端,终端输入 ipconfig 获取有关计算机当前网络连接的各种详细信息,包括 IP 地址、子网掩码、默认网关、DNS 服务器等。可以看到当前博主电脑采用的是无线局域网连接(WLANl连接),博主电脑的所有数据都会经过这个网络。

找到电脑的网络连接(WLAN连接)之后, 抓一下这个网卡的流量,双击网卡名,自动开始抓包:

如下可以看到我们已经开始自动抓包了,点击左上角的红色方块可以停止抓包:

界面介绍:以下是对wireshark界面的初步介绍:

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

1)菜单栏:用于调试、配置

2)工具栏:常用功能的快捷方式

3)过滤栏:指定过滤条件,过滤数据包

4)数据包列表:核心区域,每一行就是一个数据包

5)数据包详情:数据包的详细数据

6)数据包字节:数据包对应的字节流,二进制

基础操作:以下是wireshark常用的基础操作:

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

设置时间:数据包列表栏的时间这一列,默认显示格式看起来很不方便,我们可以调整时间的显示格式。

标记数据包:对于某些比较重要的数据包,可以设置成高亮显示,以达到标记的目的。

选中数据包,按 Ctrl + M 也可以实现同样的效果,按两次可以取消标记。

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

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

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

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

切换模式:以下是wireshark切换模式的操作:

混杂模式:混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。

普通模式:普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。

一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用。如下是开启混杂模式的步骤:

点击菜单栏中的捕获按钮,点击选择:

如下有一个开启混杂模式的勾选,勾选之后,不管电脑接收到的是正确的还是错误的数据,基本上所有经过我电脑网卡的数据包都能被抓到,因为它不会去校验接收的mac地址是否合法,方便网络安全人员在做信息排查的时候的一个重要选项,对于一般网络安全人员博主建议开启混杂模式,因为我们要排查是否有非法的黑客进入进来。

勾选去掉的话就是采用普通模式,电脑只接受正确发送到网卡的数据,其他的包统统丢掉:

Wireshark过滤器使用

初学者使用wireshark时,将会得到大量的冗余数据包列表,以至于很难找到自己需要抓取的数据包部分。wireshark工具中自带了两种类型的过滤器,学会使用这两种过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器是Wireshark的核心功能,也是我们平时使用最多的一个功能。Wireshark提供了两个过滤器:抓包过滤器 和 显示过滤器。两个过滤器的过滤思路不同

1)抓包过滤器:重点在动作,需要的包我才抓,不需要的我就不抓。

2)显示过滤器:重点在数据的展示,包已经抓了,只是不显示出来。

在学习过滤器之前我们需要先掌握tcp三次握手的原理

TCP 三次握手是建立 TCP 连接时使用的一种协议,用于确保通信双方能够正常交换数据。下面是 TCP 三次握手的流程:

第一步客户端向服务端发送连接请求(SYN)

客户端(Client)首先向服务端(Server)发送一个带有 SYN(同步序列编号)标志的数据包,表示客户端想要建立连接,并选择一个初始的序列号(Sequence Number)。

第二步服务端收到连接请求并回复(SYN + ACK)

服务端收到客户端发送的 SYN 数据包后,会回复一个带有 SYN 和 ACK 标志的数据包,表示服务端已经接受了客户端的连接请求,并选择自己的初始序列号,同时确认客户端的序列号。

第三步客户端收到服务端的回复并发送确认(ACK)

最后,客户端再次向服务端发送一个带有 ACK 标志的数据包,表示客户端也确认了服务端的序列号。

完成了以上三个步骤,TCP 连接就建立起来了,通信双方可以开始正常地进行数据传输。

总的来说,TCP 三次握手协议确保了通信双方都能够正确地同步序列号,并确认彼此的能力和意愿进行数据传输,从而建立起可靠的连接。以下是具体流程图的实现:

抓包过滤器:使用抓包过滤器时,需要先停止抓包,设置完过滤规则后,再开始抓包。停止抓包的前提下,点击工具栏的捕获按钮,点击选项。在弹出的捕获选项界面,最下方的输入框中输入过滤语句,点击开始即可抓包。

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

四个核心元素:类型、方向、协议 和 逻辑运算符。

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 协议的数据包

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

对于抓包过滤器的使用,我们只需点击捕获中的选项按钮,最下方的输入框中输入过滤语句,点击开始即可抓包。

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

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

五个核心元素: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(有且仅有一个条件被满足)

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

ip.addr == 192.168.32.121:显示IP地址为 192.168.32.121 的数据包

tcp.port == 80 :显示端口为 80 的数据包

注意:过滤栏有自动纠错功能,绿色表示语法正确,红色表示语法错误。

接下来我们通过wireshark来筛选tcp第一次握手,客户端向服务端发送连接请求的数据,在过滤栏输入过滤语句,修改后立即生效。

当然我们也可以通过如下命令过滤来判断哪些已经完成了三次握手,在TCP协议中,当一个端口要求关闭连接时,它会发送一个带有FIN标志的数据包来表示其关闭连接请求。通过在Wireshark中使用 tcp.flags.fin == 1 这个过滤器,可以只显示具有FIN标志的TCP数据包,从而方便用户分析和观察TCP连接的关闭情况。

当然我们也可以过滤出源 IP 地址或目标 IP 地址为 192.168.31.8 的数据包,通过在Wireshark中使用这个过滤器,可以只显示源 IP 地址或目标 IP 地址为 192.168.31.8 的数据包,从而方便用户针对特定主机进行网络流量分析和监控。

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

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

相关文章

过了30岁了,一定要专注一件事情?视频号值得尝试!

经常说视频号下载助手&#xff0c; 但发现大多数的大佬都只是先专注一件事情。 小编初6就回来了&#xff0c;和一个大佬吃饭&#xff0c;虽然人家规模并不大&#xff0c;但日引客户上千也是基本的。 这里给大家揭秘一下&#xff0c;他的做法&#xff01;&#xff01;&#x…

猫头虎分享已解决Bug || 脚本执行错误(Script Execution Failure):ScriptError, ExecutionFailure

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

挑战30天学完Python:Day15 错误类型

&#x1f4d8; Day 14 &#x1f389; 本系列为Python基础学习&#xff0c;原稿来源于 30-Days-Of-Python 英文项目&#xff0c;大奇主要是对其本地化翻译、逐条验证和补充&#xff0c;想通过30天完成正儿八经的系统化实践。此系列适合零基础同学&#xff0c;或仅了解Python一点…

Linux编辑器——Vim详解

目录 ⭐前言 ⭐vim的基本概念 ⭐vim的基本操作 ⭐vim命令模式命令集 ⭐vim末行模式命令集 ⭐简单vim配置 ⭐配置文件的位置 ⭐常用配置选项 ⭐前言 vi/vim的区别简单点来说&#xff0c;它们都是多模式编辑器&#xff0c;不同的是vim是vi的升级版本&#xff0c;它不仅兼容…

课程大纲:图像处理中的矩阵计算

课程名称&#xff1a;《图像处理中的矩阵计算》 课程简介&#xff1a; 图像处理中的矩阵计算是图像分析与处理的核心部分。本课程旨在教授学员如何应用线性代数中的矩阵计算&#xff0c;以实现各种图像处理技术。我们将通过强调实际应用和实践活动来确保学员能够理解和掌握这些…

代码随想录算法训练营第三六天 | 无重叠区间、划分字母区间、合并区间

目录 无重叠区间划分字母区间合并区间 LeetCode 435. 无重叠区间 LeetCode 763.划分字母区间 LeetCode 56. 合并区间 无重叠区间 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠…

vue3 之 商城项目—会员中心

整体功能梳理 1️⃣个人中心—个人信息和猜你喜欢数据渲染 2️⃣我的订单—各种状态下的订单列表展示 路由配置&#xff08;三级路由配置&#xff09; 准备模版member/index.vue <script setup> </script><template><div class"container">…

深度学习图像算法工程师--面试准备(1)

1 请问人工神经网络中为什么 ReLU 要好过于 tanh 和 Sigmoid function&#xff1f; 采⽤Sigmoid 等函数&#xff0c;算激活函数时&#xff08;指数运算&#xff09;&#xff0c;计算量⼤&#xff0c;反向传播求误差梯度时&#xff0c;求导涉及除法和指数运算&#xff0c;计算量…

《VitePress 简易速速上手小册》第2章:Markdown 与页面创建(2024 最新版)

文章目录 2.1 Markdown 基础及扩展2.1.1 基础知识点解析2.1.2 重点案例&#xff1a;技术博客2.1.3 拓展案例 1&#xff1a;食谱分享2.1.4 拓展案例 2&#xff1a;个人旅行日记 2.2 页面结构与布局设计2.2.1 基础知识点解析2.2.2 重点案例&#xff1a;公司官网2.2.3 拓展案例 1&…

软件测试方法_边界值分析法

目录&#xff1a; ①边界值分析法的介绍和概念 ②边界值分析法的原理和思想 ③单缺陷假设和多缺陷假设 ④边界值测试数据类型 ⑤内部边界值分析 ⑥各类边界值测试介绍 ⑦基于边界值分析方法选择测试用例的原则 ⑧边界值分析法的实例分析 1、边界值分析法的介绍和概念 …

力扣94 二叉树的中序遍历 (Java版本) 递归、非递归

文章目录 题目描述递归解法非递归解法 题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xff1a;[] 示…

【大厂AI课学习笔记】【2.2机器学习开发任务实例】(7)特征构造

特征分析之后&#xff0c;就是特征构造。 特征构造第一步 特征构造往往要进行数据的归一化。 在本案例中&#xff0c;我们将所有的数据&#xff0c;将所有特征区间调整为0~1之间。 如上图。 那么&#xff0c;为什么要进行归一化&#xff0c;又如何将数据&#xff0c;调整为…

【安卓基础1】初识Android

&#x1f3c6;作者简介&#xff1a;|康有为| &#xff0c;大四在读&#xff0c;目前在小米安卓实习&#xff0c;毕业入职。 &#x1f3c6;安卓学习资料推荐&#xff1a; 视频&#xff1a;b站搜动脑学院 视频链接 &#xff08;他们的视频后面一部分没再更新&#xff0c;看看前面…

【力扣白嫖日记】1873.计算特殊奖金

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1873.计算特殊奖金 表&#xff1a;Employees 列名类型employee_idintnamevarcharsalaryint employee_id 是…

LeetCode 450.删除二叉搜索树中的节点和669.修建二叉搜索树思路对比 及heap-use-after-free问题解决

题目描述 450.删除二叉搜索树中的节点 给定一个二叉搜索树的根节点 root 和一个值 key&#xff0c;删除二叉搜索树中的 key 对应的节点&#xff0c;并保证二叉搜索树的性质不变。返回二叉搜索树&#xff08;有可能被更新&#xff09;的根节点的引用。 一般来说&#xff0c;…

代码控制写入excel文件

1、引言 在工作和学习中&#xff0c;我们经常使用到excel表格&#xff0c;有时候表格中的数据很多&#xff0c;此时我们就希望能够通过程序去控制某些表格数据的生成和修改&#xff0c;从而达到简化操作&#xff0c;缩减工作量的目的&#xff0c;这里就来简单实现一下对excel表…

【办公技巧】如何压缩为rar格式文件?

压缩包格式是我们生活工作中常用到的文件格式&#xff0c;那么如何得到一个rar格式的压缩文件&#xff1f;或者说如何将文件压缩成rar格式而不是zip格式呢&#xff1f;今天我们来了解一下如何压缩为rar格式文件。 首先&#xff0c;想要压缩文件&#xff0c;我们需要压缩软件&a…

【C/C++】实现Reactor高并发服务器 完整版

代码结构 文件介绍 InetAddress.h InetAddress类 ip和端口设置 Socket.h Socket类 设置fd Epoll.h epollfd 管理类 Channel.h Channel类 管理epoll以及对应回调函数实现 EventLoop.h EventLoop事件循环类 TcpServer.h 服务器类 tcpepoll.cpp 主函数 InetAddress.h #if…

uniapp项目准备工作

1.封装请求 export const baseUrl function getHeaders () {let token uni.getStorageSync(token)let header {"access-token":token,// X-Requested-With: XMLHttpRequest,Content-Type: application/json; charsetUTF-8}return header } function reLogin(){/…

【Label Studio运行报错】ModuleNotFoundError: No module named ‘google.rpc‘

报错截图&#xff1a; 解决方法&#xff1a; 新建虚拟环境&#xff0c;安装google相关包 pip install google-cloud-core google-cloud-storage把虚拟环境中site-packages下google文件夹拷贝到当前环境的对应位置下。去官网下载最新的sqlite3&#xff0c;复制到AppData\Loca…