Windows怎么抓包分析网络流量_Windows如何用Wireshark捕获和分析网络数据包【教程】

冬芳小哥_9294

冬芳小哥_9294

2026-03-26

1282人浏览

原创

Wireshark安装需勾选Npcap驱动并以管理员运行;抓包前须选择活跃网卡;捕获过滤器用BPF语法(如host 192.168.1.100)预筛数据;显示过滤器(如ip.addr == xxx)用于事后精准定位;单包分析依OSI模型逐层展开协议字段。

windows怎么抓包分析网络流量_windows如何用wireshark捕获和分析网络数据包【教程】

一、下载并安装Wireshark

Wireshark依赖底层网络驱动(如Npcap)捕获原始数据包,因此必须先完成软件及其驱动的完整安装。未正确安装驱动将导致所有网卡显示为灰色不可选状态。

1、访问Wireshark官方下载页面https://www.wireshark.org/download/,根据系统位数选择对应安装包(推荐Windows 64-bit Installer)。

2、双击运行下载的.exe文件,点击“Next”进入安装向导。

3、在许可协议页点击“Noted”继续。

4、在组件选择页,确保勾选“Npcap”(关键驱动,替代旧版WinPcap)、“USBPcap”(如需抓USB通信)及“Desktop icon”(桌面快捷方式)。

5、在快捷方式页,全部默认勾选;安装路径建议使用纯英文无空格路径,避免中文路径引发解析异常。

6、点击“Install”开始安装,过程中若提示UAC权限,点击“是”;Npcap安装时弹出窗口,勾选“Install Npcap in WinPcap API-compatible Mode”以兼容旧脚本。

7、安装完成后点击“Finish”,首次启动建议右键选择“以管理员身份运行”,防止权限不足无法监听网卡。

二、选择接口并启动基础抓包

Wireshark通过监听物理或虚拟网卡获取流量,必须明确当前通信所经接口,否则无法捕获目标数据。

1、启动Wireshark后,在主界面列表中识别活动网卡:名称含“Ethernet”“WLAN”“vEthernet”等,右侧“#”列显示实时数据包速率,数值非零即为活跃接口。

2、若不确定,可打开命令提示符执行ipconfig,比对IPv4地址与接口名称(例如无线IP 192.168.1.100对应“WLAN”)。

3、双击目标接口(如“WLAN”),或选中后点击左上角蓝色鲨鱼图标“Start capturing packets”。

4、此时数据包列表开始滚动,代表抓包已生效;观察顶部状态栏显示“Capturing on ‘WLAN’”,确认监听中。

5、执行待分析操作(如浏览器访问网页、cmd中ping某域名、启动某客户端),确保目标流量经过所选接口。

6、点击红色方形按钮“Stop capturing packets”终止抓包。

三、应用捕获过滤器缩小抓包范围

捕获过滤器在数据包进入Wireshark前即进行筛选,可大幅降低内存占用与干扰包数量,仅保留符合条件的数据包被记录。

1、在主界面顶部工具栏找到“Capture Filter”输入框(位于网卡列表下方,标有漏斗图标)。

2、输入语法示例:host 192.168.1.100(捕获与该IP双向通信的所有包)。

直播间话术巡检-windows
直播间话术巡检-windows

直播话术巡检系统(Windows版) — 实时语音转写、关键词检测、场景自动切换、告警推送、大屏可视化。支持 Windows VB-Cable 虚拟声卡音频采集,阿里云 ASR 实时识别。一键启动脚本,自动安装环境。

下载

3>其他常用语法:tcp port 443(仅HTTPS流量)、icmp(仅Ping包)、src host 10.0.0.5 and dst port 80(源IP为10.0.0.5且目标端口80的包)。

4、输入后直接点击右侧“Apply”,再点击蓝色鲨鱼图标启动抓包,过滤器即时生效。

5、注意:语法区分大小写,ip.addr属于显示过滤器语法,不可用于此处;此处仅支持BPF(Berkeley Packet Filter)语法。

四、使用显示过滤器精确定位数据包

显示过滤器在抓包完成后对已捕获数据包进行动态筛选,不改变原始捕获内容,适合交互式分析与快速定位。

1、抓包停止后,在主界面中部上方找到“Filter”输入框(位于菜单栏下方,标有放大镜图标)。

2、输入语法示例:ip.addr == 119.75.217.26(显示源或目的IP为此值的所有包)。

3、更精确限定:tcp.flags.syn == 1 and tcp.flags.ack == 0(筛选TCP三次握手首包SYN)。

4、协议过滤:http.request.method == "GET"(筛选HTTP GET请求)。

5、输入后按回车或点击右侧“Apply”,列表立即刷新仅显示匹配项。

6、误输语法时,输入框变红,此时可点击右侧“Expression…”按钮调出语法助手,选择协议、字段、关系运算符自动生成合法表达式。

五、分析单个数据包的协议层级结构

Wireshark将每个数据包按OSI模型分层展开,逐级查看各层头部字段与载荷,是诊断协议异常、验证通信逻辑的核心操作。

1、在数据包列表中单击任一目标包,下方区域自动分为三部分:顶部为分组列表,中部为协议树形结构,底部为十六进制与ASCII对照视图。

2、展开中部“Frame”节点,查看捕获时间、帧长度、接口索引等物理层信息。

3、展开“Ethernet II”,核对Source/Destination MAC地址是否符合预期(如网关MAC是否匹配arp -a结果)。

4、展开“Internet Protocol Version 4”,检查Source/Destination IP、TTL值、协议号(6=TCP,17=UDP)。

5、展开“Transmission Control Protocol”或“User Datagram Protocol”,确认端口号、标志位(SYN/ACK/FIN)、序列号、确认号等关键字段。

6、若为HTTP/HTTPS,继续展开应用层协议,查看请求行、响应状态码、Header字段(如Host、User-Agent)或TLS握手参数(Client Hello中的SNI)。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

windows

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

6164

49

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

3104

5

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

1812

13

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3168

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

5049

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3829

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

466

15

常见的编码方式
常见的编码方式

常见的编码方式有ASCII编码、Unicode编码、UTF-8编码、UTF-16编码、GBK编码等。想了解更多编码方式相关内容,可以阅读本专题下面的文章。

2023.10.24

1468

7

a和A对应的ASCII码数值
a和A对应的ASCII码数值

a的ascii码是65,a的ascii码是97;ascii码表中,一个字母的大小写数值相差32,一般知道大写字母的ascii码数值,其对应的小写字母的ascii码数值就算出来了,是大写字母的ascii码数值“+32”。想了解更多相关的内容,可阅读本专题下面的相关文章。

2024.10.24

5407

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习