目录
一.Wireshark核心解析
1.1 网络世界的"显微镜"
Wireshark(前称Ethereal)是一款开源的网络协议分析工具,自1998年由Gerald Combs发起以来,已成为网络工程师、安全研究员和IT运维人员的标准配置。其核心价值在于将无形的网络通信转化为可视化的数据流,支持Windows、Linux、macOS三大平台,能够解析超过2000种网络协议,日均捕获数据包处理量可达百万级。
发展里程碑:
- 1998年:Ethereal项目诞生
- 2006年:正式更名为Wireshark
- 2015年:通过RFC实现TLS 1.3协议解析
- 2023年:新增QUIC/HTTP3协议支持
1.2 典型应用场景
1. 网络故障诊断:定位网络延迟、丢包等性能问题(如TCP重传率分析)
2. 安全事件调查:检测ARP欺骗、DDoS攻击等异常流量(如图1-1所示)
3. 协议逆向工程:解析私有协议通信格式(通过Follow TCP Stream功能)
4. 应用性能优化:分析HTTP请求响应时间(使用`http.time`过滤字段)
5. 合规审计支持:满足GDPR等数据安全审计要求(敏感信息过滤)
二.过滤语法深度解析
2.1 捕获过滤器语法精要
基础结构:`[协议] [方向] [类型] [值]`
// 抓取目标端口80的HTTP流量
tcp dst port 80
// 排除ARP广播包
not arp
// 捕获ICMP和DNS查询
icmp || (udp port 53)
高级技巧:
长度过滤:`less 128`(该项用于捕获小于128字节的包)
位掩码操作:`tcp[13] & 0x07 = 0x02`(可用于匹配SYN标志)
2.2 显示过滤器实战手册
协议级过滤:
http 所有HTTP流量
dns.qry.name contains "google" 包含google的DNS查询
IP定位:
ip.src == 192.168.1.100 && tcp.port == 443
ip.addr in {10.0.0.1 10.0.0.2} 多IP筛选
流量特征:
tcp.analysis.retransmission TCP重传包
http.response.code == 404 404错误页面
高级表达式:
(frame.time >= "2023-08-01") && (http.request.method == "POST")
udp.stream eq 5 特定UDP会话流
2.3 过滤器优化技巧
1. 字段自动补全:输入`http.`按Tab键显示可用字段
2. 语法检查:表达式栏背景色(绿色有效/红色错误)
3. 保存常用过滤:通过`Analyze > Display Filters`管理
4. 复合表达式生成:右键数据包 > Prepare as Filter
三.实战指南
3.1 配置介绍
3.1.1驱动选择与安装
Windows系统需通过Npcap/WinPcap驱动实现抓包功能,可以选择两种驱动的一种,下面是两种驱动的简单介绍:
1. Npcap(推荐)
- 支持802.11无线监控模式
- 提供Loopback环回流量捕获(需勾选"Install Npcap in WinPcap API-compatible Mode")
2. WinPcap(旧版兼容)
- 仅适用于有线网络基础抓包
3.1.2操作验证
驱动安装完成后,以管理员身份运行Wireshark,若网卡列表显示`Adapter for loopback traffic capture`,则驱动正常加载。具体如下所示。

3.1.3抓包性能调优
3.1.3.1缓冲区设置
在“捕获”菜单里,找到“选项”栏,进入“输入”(INPUT)页面,手动修改相关接口的缓冲区大小。下图所示就是将以太网的缓冲区大小调整成256MB的证明。

3.1.3.2混杂模式开关
依旧在“捕获”菜单里,找到“选项”栏,还是进入“输入”(INPUT)页面,勾选接口的“混杂”复选框即可,下图所示就是勾选“混杂”复选框的示意图。

3.2 图形界面操作全流程
3.2.1靶向抓包
靶向抓包可通过两种方式实现,操作简便且高效。第一种方式是直接在主界面双击目标网卡,例如双击“以太网”,系统便会立即启动抓包过程,无需多余步骤。
第二种方式则稍微多一步操作,即先选择目标网卡,随后打开“捕获菜单”并点击“开始”,在这个菜单中,用户可以清晰地看到各种捕获选项,点击其中的“开始”按钮,同样可以顺利实现抓包功能。
3.2.2实时分析
抓完相应的数据包后,需要对数据进行实时分析,但默认的设置会对分析造成很大了困扰,如果能针对协议或者会话做一些调整,能自动区分的话,会对分析有很大帮助,下面是两种可以协助实时分析的办法。
3.2.2.1对话着色
抓完数据包后,右击想要着色的数据包,点击对话着色,并选择其中的协议,选择颜色即可。这么选择后,后续再抓其他包的话,该类型协议都会是自己定义的颜色。

2.根据协议实现会话追踪:右键HTTP请求 > 追踪流 > UDP流(追踪相关流后自动过滤相关会话,只留下UDP协议的会话),如果是TCP协议的话,最后选追踪TCP流即可。

3.2.3数据导出
1. 选择性导出:`文件 > 导出特定分组`(支持按过滤条件导出)
2. 统计报表:`统计 > 会话 > 导出为CSV`
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。