文章总结: 本文是一份全面的Wireshark入门指南,详细介绍了软件安装流程、界面功能解析、多场景抓包实操步骤、过滤器使用技巧以及ARP、DNS、TCP、HTTP等核心协议的解析方法。文章提供了从基础到进阶的实用技巧,适合网络安全初学者快速掌握网络流量分析技能。 综合评分: 91 文章分类: 网络安全,安全工具,WEB安全,应用安全,安全培训
Wireshark入门指南:软件安装+实操细节+协议解析
原创
老王
网络安全白帽营
2025年12月16日 16:09 湖南
一、软件下载安装
1. 核心软件:Wireshark
- 下载渠道:官网(wireshark.org)唯一安全源,避免第三方捆绑。
- Windows:点击“Download Wireshark Now”,选择“Windows Installer (64-bit)”,支持Win10/11;
- Mac OS:选“macOS Disk Image”,兼容macOS 12及以上;
- Linux(Ubuntu/Debian):终端输入 sudo apt-get install wireshark ,自动适配系统。
- 安装关键步骤:
- Windows:勾选“Install Npcap”(必选驱动)和“Create a desktop shortcut”,遇到“WinPcap兼容性提示”直接选“下一步”,无需手动卸载旧版;
- Mac OS:挂载镜像后拖拽Wireshark到应用程序,首次打开需在“系统设置→安全性与隐私”中允许“未知开发者”运行;
- Linux:安装后会提示“是否允许非root用户抓包”,选“是”,避免每次抓包都输 sudo 。
2. 必备驱动:Npcap(抓包核心)
- 作用:替代旧版WinPcap,支持无线网卡、loopback本机抓包,是Wireshark识别网络接口的“桥梁”。
- 独立安装(若未勾选):官网(npcap.com)下载最新版,安装时勾选“Support raw 802.11 traffic (and monitor mode)”,支持无线流量捕获。
- 常见问题:安装后仍无法识别网卡,需重启电脑,或在设备管理器中更新“网络适配器”驱动。
3. 辅助工具(提升效率,可以不用)
- 协议调试:SecureCRT(远程连接网络设备,同步抓包)、ENSP(华为仿真器,模拟复杂网络拓扑);
- 数据解析:Fiddler(配合Wireshark解密HTTPS流量)、Notepad++(打开.pcap文件查看文本格式数据);
- 命令行辅助:Windows终端(用 ipconfig /all 查IP/MAC)、Linux终端(用 ifconfig 查网络接口)。
二、界面深度解析(每个模块都能用起来)
打开Wireshark后,5个核心区域的“实用功能”的详细说明如下:
- 菜单栏:
-
捕获:“捕获选项”可设置抓包时长(比如10秒自动停止)、保存路径,避免数据包过多;
-
分析:“跟踪流”支持TCP/UDP/HTTP流,直接还原完整会话;“显示过滤器表达式”可打开可视化编辑界面,不用记语法。
-
工具栏:
-
绿色鲨鱼鳍(开始抓包):点击前可右键选择“仅捕获所选接口”;
-
红色方块(停止抓包):快捷键 Ctrl+E ,停止后自动刷新数据包列表;
-
放大镜(查找):支持按IP、协议、字符串搜索数据包,比如输入“192.168.1.1”快速定位。
-
过滤器栏:
-
输入后按回车生效,错误会显示红色(比如少写等号),正确显示绿色;
-
点击右侧“保存”图标,可将常用过滤条件存为预设(比如“HTTP筛选”),下次直接选。
-
数据包列表:
-
字段含义(入门必懂):
-
No.:数据包序号(抓包时自动递增);
-
Time:捕获时间(默认精确到毫秒,可调整为“相对时间”);
-
Source/Destination:源IP/MAC、目标IP/MAC(hover显示完整地址);
-
Protocol:数据包使用的协议(如TCP、HTTP、ARP);
-
Length:数据包长度(单位字节,超过1500可能是巨型帧);
-
Info:关键动作描述(如TCP的SYN请求、HTTP的GET请求)。
-
数据包详情:
-
分层展示(从下到上:物理层→数据链路层→网络层→传输层→应用层);
-
展开每层可查看具体字段,比如TCP层的“序列号(seq)”“确认号(ack)”,HTTP层的“请求头(Host、User-Agent)”。
-
数据包字节:
- 左侧十六进制(机器识别格式),右侧ASCII码(可读文本);
- 选中详情中的某一字段,字节区对应位置会高亮,比如选中HTTP的“Content-Length”,可直接看到其值的十六进制表示。
三、抓包实操(分场景详细步骤)
1. 基础抓包(本机访问网页)
- 查接口:打开终端输入 ipconfig /all ,记录本机IP(如192.168.1.100)和正在使用的网络接口(Wi-Fi/以太网);
- 选接口:Wireshark左侧接口列表中,点击目标接口右侧的“开始”图标(不用点顶部鲨鱼鳍);
- 触发流量:打开浏览器访问 http://example.com (HTTP明文网站,便于分析),加载完成后返回Wireshark;
- 停止保存:点击红色方块停止抓包,按 Ctrl+S 保存为.pcapng格式(支持后续编辑),文件名建议含场景(如“本机HTTP抓包_20250101”)。
2. 进阶抓包(跨设备通信)
场景:抓手机与电脑的TCP通信(同一Wi-Fi下)
- 手机设置:连接与电脑相同的Wi-Fi,在手机“设置→WLAN”中查看手机IP(如192.168.1.105);
- 电脑抓包:Wireshark选择Wi-Fi接口,点击“捕获选项”,在“捕获过滤器”中输入 host 192.168.1.105 (只抓手机相关流量),点击“开始”;
- 触发通信:手机打开浏览器访问电脑共享的文件(或用微信给电脑传文件);
- 筛选查看:停止抓包后,用 ip.addr == 192.168.1.105 过滤,只显示手机与其他设备的交互包。
3. 特殊场景抓包(本机回环地址)
场景:抓本机程序间通信(如localhost:8080的服务)
- 选接口:Wireshark中选择“Loopback: lo0”(Windows显示为“本地连接* 1”);
- 开始抓包:点击鲨鱼鳍后,在本机浏览器访问 http://localhost:8080 ;
- 过滤:输入 ip.addr == 127.0.0.1 ,即可看到本机内部的数据包流转。
四、过滤器精通(从基础到高级,附实例)
1. 显示过滤器(抓包后筛选,最常用)
核心语法: 字段 == 值 ,支持逻辑运算(and/or/not),以下为高频场景:
- 按协议筛选:
- tcp :所有TCP协议包(如三次握手、数据传输);
- udp :所有UDP协议包(如DNS查询);
- arp :地址解析协议包(IP转MAC);
- http :HTTP明文包(HTTPS需解密后显示)。
- 按IP/端口筛选:
- ip.src == 192.168.1.100 :只显示源IP为192.168.1.100的包;
- ip.dst == 223.5.5.5 :只显示目标IP为阿里云DNS的包;
- tcp.port == 80 :只显示TCP 80端口(HTTP默认端口)的包;
- udp.port == 53 :只显示UDP 53端口(DNS默认端口)的包。
- 组合筛选(精准定位):
- ip.addr == 192.168.1.100 and tcp.port == 443 :本机与443端口(HTTPS)的TCP通信;
- arp or dns :同时显示ARP和DNS协议包;
- http and not ip.src == 192.168.1.2 :排除源IP为192.168.1.2的HTTP包。
- 高级筛选:
- http.request.method == “GET” :只显示HTTP GET请求;
- dns.contains “baidu.com” :显示DNS查询中包含“baidu.com”的包;
- tcp.analysis.flags == 0x004 :显示TCP RST(连接重置)包(排查连接异常)。
2. 捕获过滤器(抓包前过滤,减少冗余)
语法与显示过滤器不同,常用规则:
- host 192.168.1.100 :只抓与该IP相关的所有流量;
- port 80 :只抓80端口的TCP/UDP流量;
- src host 192.168.1.1 and dst port 53 :只抓源IP为192.168.1.1、目标端口为53的流量;
- not arp :抓包时排除所有ARP协议包(避免无关数据干扰)。
五、协议解析入门(重点突破4个核心协议)
1. ARP协议(IP转MAC,局域网通信基础)
- 抓包步骤:
- 终端输入 arp -d * 清空ARP缓存;
- Wireshark过滤 arp ,开始抓包;
- 终端输入 ping 192.168.1.1 (网关IP),触发ARP请求;
- 停止抓包,可看到2个关键包:
- ARP Request(请求包):源MAC为本机,目标MAC为广播地址(ff:ff:ff:ff:ff:ff),Info显示“谁有192.168.1.1?告诉192.168.1.100”;
- ARP Reply(响应包):源MAC为网关,目标MAC为本机,Info显示“192.168.1.1的MAC是xx:xx:xx:xx:xx:xx”。
2. DNS协议(域名解析,互联网访问第一步)
- 抓包步骤:
- 浏览器清空缓存,Wireshark过滤 dns ;
- 访问 www.baidu.com ,停止抓包;
- 分析数据包:
- DNS Query(查询包):源IP为本机,目标IP为DNS服务器(如223.5.5.5),Info显示“Standard query 0x0001 A www.baidu.com”(A记录查询);
- DNS Response(响应包):源IP为DNS服务器,包含百度的多个IP(如180.101.49.11),Info显示“Standard query response 0x0001 A www.baidu.com A 180.101.49.11”。
3. TCP协议(可靠传输,重点看三次握手/四次挥手)
- 抓包步骤:
- Wireshark过滤 tcp and ip.addr == 192.168.1.100 ;
- 访问 http://example.com ,停止抓包;
- 找到TCP连接的前3个包(三次握手):
- 第一次握手(SYN):客户端→服务端,Flags=0x002(SYN),seq=0(初始序列号);
- 第二次握手(SYN+ACK):服务端→客户端,Flags=0x012(SYN+ACK),seq=0,ack=1(确认客户端序列号);
- 第三次握手(ACK):客户端→服务端,Flags=0x010(ACK),seq=1,ack=1(确认服务端序列号);
- 连接关闭时的4个包(四次挥手):依次为FIN→ACK→FIN→ACK,Flags分别对应0x001(FIN)、0x010(ACK)。
4. HTTP协议(明文传输,可直接看内容)
- 抓包步骤:
- Wireshark过滤 http ;
- 访问 http://example.com ,停止抓包;
- 分析关键包:
- HTTP Request(请求包):展开“Hypertext Transfer Protocol”,可看到请求行(GET / HTTP/1.1)、请求头(Host: example.com、User-Agent: 浏览器信息);
- HTTP Response(响应包):状态码200(成功),响应头(Content-Type: text/html),响应体(HTML代码,在“Line-based text data”中查看)。
六、实战练习(从简单到复杂,巩固技能)
- 本机回环测试:抓 localhost:8080 的HTTP请求,用 ip.addr == 127.0.0.1 and http 过滤,验证请求头是否正确;
- 跨设备通信测试:手机和电脑连同一Wi-Fi,抓手机访问 www.qq.com 的流量,用 ip.src == 手机IP 过滤,分析DNS解析和TCP握手过程;
- 故障排查模拟:过滤 tcp.analysis.retransmission (TCP重传包),判断网络是否存在丢包;
- HTTPS解密尝试:配合Fiddler导出证书,在Wireshark中“编辑→首选项→Protocols→SSL→RSA keys list”添加证书,解密HTTPS流量(需目标网站支持)。
—————公众号福利————-
如果你也对黑客或者网络攻防感兴趣,想往技术这条路走,我可以把我们自己做的视频课程发给你,以前这些只在内部流传,专业程度可以轻松碾压国内绝大多数培训班和个人讲课,现在全网就这一个版本,网上根本找不到这么系统的内容。
长按图片识别二维码
视频从最基础的操作系统、网络原理、编程语言讲起,再到中级阶段的各种渗透技巧,后面还有CTF实战、区块链安全等进阶内容,整体超过200节课,资源也有200多个G,内容覆盖非常全面,别担心学不完,不管你是刚入门还是想提升技能,这套课都能帮上忙:
只要坚持学一个月左右,就有机会开始挖漏洞拿赏金,再继续学到三四个月,技术水平基本可以应对CTF对抗赛。
查看原文:《Wireshark入门指南:软件安装+实操细节+协议解析》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论