WireShark 安装指南:详细安装步骤和使用技巧
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 的数据包,从而方便用户针对特定主机进行网络流量分析和监控。
相关文章:

WireShark 安装指南:详细安装步骤和使用技巧
Wireshark是一个开源的网络协议分析工具,它能够捕获和分析网络数据包,并以用户友好的方式呈现这些数据包的内容。Wireshark 被广泛应用于网络故障排查、安全审计、教育及软件开发等领域。接下将讲解Wireshark的安装与简单使用。 目录 Wireshark安装步骤…...
PyTorch detach():深入解析与实战应用
PyTorch detach():深入解析与实战应用 🌵文章目录🌵 🌳引言🌳🌳一、计算图与梯度传播🌳🌳二、detach()函数的作用🌳🌳三、detach()与requires_graddz…...

uniapp 开发一个密码管理app
密码管理app 介绍 最近发现自己的账号密码真的是太多了,各种网站,系统,公司内网的,很多站点在登陆的时候都要重新设置密码或者通过短信或者邮箱重新设置密码,真的很麻烦 所以准备开发一个app用来记录这些站好和密码…...

Postman详细攻略
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法…...

如何在本地服务器部署TeslaMate并远程查看特斯拉汽车数据无需公网ip
文章目录 1. Docker部署TeslaMate2. 本地访问TeslaMate3. Linux安装Cpolar4. 配置TeslaMate公网地址5. 远程访问TeslaMate6. 固定TeslaMate公网地址7. 固定地址访问TeslaMate TeslaMate是一个开源软件,可以通过连接特斯拉账号,记录行驶历史,统…...

如何在CentOS安装SQL Server数据库并实现无公网ip环境远程连接
文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 前言 简单几步实现在Linux centos环境下安装部署sql server数据库,并结合cpolar内网穿透工具࿰…...

备战蓝桥杯 Day5
1191:流感传染 【题目描述】 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每天,得…...

爬虫学习笔记-scrapy爬取电影天堂(双层网址嵌套)
1.终端运行scrapy startproject movie,创建项目 2.接口查找 3.终端cd到spiders,cd scrapy_carhome/scrapy_movie/spiders,运行 scrapy genspider mv https://dy2018.com/ 4.打开mv,编写代码,爬取电影名和网址 5.用爬取的网址请求,使用meta属性传递name ,callback调用自定义的…...
Unity笔记:数据持久化的几种方式
正文 主要方法: ScriptableObjectPlayerPrefsJSONXML数据库(如Sqlite) 1. PlayerPerfs PlayerPrefs 存储的数据是全局共享的,它们存储在用户设备的本地存储中,并且可以被应用程序的所有部分访问。这意味着…...

MySQL 基础知识(八)之用户权限管理
目录 1 MySQL 权限管理概念 2 用户管理 2.1 创建用户 2.2 查看当前登录用户 2.3 修改用户名 2.4 删除用户 3 授予权限 3.1 授予用户管理员权限 3.2 授予用户数据库权限 3.3 授予用户表权限 3.4 授予用户列权限 4 查询权限 5 回收权限 1 MySQL 权限管理概念 关于 M…...

QT编写工具基本流程(自用)
以后有人让你写工具的时候,可以方便用这个模版及时提高工作效率,可以争取早点下班。包含库目录,头文件目录,输出目录以及翻译和部署,基本上都全了,也可以做收藏用用。 文章目录 1、创建项目Dialog Widget都…...

代码随想录算法训练营第三六天 | 无重叠区间、划分字母区间、合并区间
目录 无重叠区间划分字母区间合并区间 LeetCode 435. 无重叠区间 LeetCode 763.划分字母区间 LeetCode 56. 合并区间 无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠…...

DP读书:《openEuler操作系统》(十)套接字 Socket 数据传输的基本模型
10min速通Socket 套接字简介数据传输基本模型1.TCP/IP模型2.UDP模型 套接字类型套接字(Socket)编程Socket 的连接1.连接概述(1)基本概念(2)连接状态(3)连接队列 2.建立连接3.关闭连接 socket 编程接口介绍数据的传输1. 阻塞与非阻塞2. I/O复用 数据的传输…...

抓住母亲节销售机会:Shopee 平台选品策略大揭秘
母亲节,作为一个重要的购物节日,为卖家带来了巨大的销售机会。在Shopee这样的电商平台上,如何通过有效的选品策略吸引消费者、提高销量呢?下面将介绍一些关键策略,帮助卖家在母亲节期间实现销售突破。 先给大家推荐一…...

Mysql如何优化数据查询方案
mysql做读写分离 读写分离是提高mysql并发的首选方案。 Mysql主从复制的原理 mysql的主从复制依赖于binlog,也就是记录mysql上的所有变化并以二进制的形式保存在磁盘上,复制的过程就是将binlog中的数据从主库传输到从库上。 主从复制过程详细分为3个阶段…...

SwiftUI 更自然地向自定义视图传递参数的“另类”方式
概览 在 SwiftUI 中,正是自定义视图让我们的 App 变得与众不同!然而,除了传统的视图接口定义方式以外,我们其实还可以有更“银杏化”的选择。 如上图所示:对于 SubView 子视图所需的参数我们一开始并没有操之过急&…...

Word第一课
文章目录 1. 文件格式1.1 如何显示文件扩展名1.2 Word文档格式的演变1.3 常见的Word文档格式 3. 文档属性理解文档属性查看文档属性 1. 文件格式 1.1 如何显示文件扩展名 文档格式指的是文件的扩展名,例如下图 对于该文件,.docx就是文件扩展名&#x…...

【Vue3】路由传参的几种方式
路由导航有两种方式,分别是:声明式导航 和 编程式导航 参数分为query参数和params参数两种 声明式导航 query参数 一、路径字符串拼接(不推荐) 1.传参 在路由路径后直接拼接?参数名:参数值 ,多组参数间使用&分隔。 <RouterLink …...
突破编程_C++_面试(高级特性(1))
面试题1:什么是线程以及它在并发编程中的作用是什么 线程( Thread )是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进…...

django请求生命周期流程图,路由匹配,路由有名无名反向解析,路由分发,名称空间
django请求生命周期流程图 浏览器发起请求。 先经过网关接口,Django自带的是wsgiref,请求来的时候解析封装,响应走的时候打包处理,这个wsgiref模块本身能够支持的并发量很少,最多1000左右,上线之后会换成u…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...