1. 项目概述:为什么你需要这份Wireshark过滤命令大全
如果你正在学习网络技术、排查线上故障,或者对数据如何在网络中流动感到好奇,那么Wireshark这个名字你一定不陌生。它被誉为“网络世界的显微镜”,能让你看到所有流经网卡的数据包,从底层的以太网帧到顶层的应用层协议,一览无余。然而,面对海啸般涌来的数据包,新手最常见的困境就是:我看到了所有东西,但又好像什么都没看到。满屏滚动的十六进制字符和协议字段,瞬间就能让人陷入迷茫。
这正是过滤命令的价值所在。它就像给你的显微镜加上了精密的滤光片和定位器,让你能从混杂的“噪声”中,精准地捕捉到你关心的那一条流量。无论是想分析一次失败的HTTP请求,追踪某个IP的异常行为,还是仅仅想看看自己电脑上的微信在和服务器聊些什么,过滤命令都是你必备的“手术刀”。网上资料虽多,但往往零散、过时,或者只讲语法不讲场景。我整理了这份从零基础到精通的命令大全,目的就是让你手边有一份随时可查、按场景索引的实战指南。无论你是网络运维、安全分析、后端开发,还是单纯的技术爱好者,收藏这篇,足以应对你90%以上的抓包分析需求。
2. Wireshark过滤体系核心解析:捕获过滤 vs. 显示过滤
上手Wireshark,第一道坎就是分清两种过滤方式:捕获过滤(Capture Filters)和显示过滤(Display Filters)。它们作用于数据包处理流程的不同阶段,目标不同,语法也不同,用错了地方就会事倍功半。
2.1 捕获过滤:在数据进入前的“海关检查”
捕获过滤的规则在抓包开始前设置。它的工作逻辑是:网卡接收到一个数据包,Wireshark内核驱动先根据你设定的规则进行判断,只有符合条件的包才会被复制到内存中并显示出来,不符合的则直接丢弃。
核心价值 : 节省系统资源(内存、CPU)和磁盘空间 。当你在一个流量巨大的网络环境中(比如数据中心核心交换机镜像端口),如果不加过滤,海量数据可能瞬间撑爆你的内存或硬盘。捕获过滤能从根本上避免这个问题。
语法特点 :使用 Berkeley Packet Filter (BPF) 语法。这种语法相对原始,但效率极高。它通常比较简洁,但功能不如显示过滤强大。
常用场景与命令示例 :
- 只想抓取与特定主机相关的流量 :
host 192.168.1.100 - 只抓取某个网段的流量 :
net 192.168.1.0/24 - 排除广播和组播等噪声 :
not broadcast and not multicast - 只抓取HTTP(端口80)和HTTPS(端口443)流量 :
port 80 or port 443 - 只抓取来自特定源IP的流量 :
src host 10.0.0.1
注意 :捕获过滤是“一锤子买卖”。一旦抓包开始,规则就无法修改,之前被过滤掉的包也无法找回。因此,在不确定的情况下,建议条件放宽一些,或者结合显示过滤使用。
2.2 显示过滤:对已捕获数据的“数据库查询”
显示过滤作用于已经捕获到内存中的数据包。你可以把它想象成对一个数据库进行SQL查询。所有数据包都在那里,显示过滤器只是改变你的“视图”,隐藏不符合条件的包,突出显示你关心的部分。
核心价值 : 灵活、强大、可随时调整 。这是Wireshark分析中最常用、功能最丰富的过滤方式。你可以基于几乎任何协议字段、字节偏移进行过滤,并且可以随时修改过滤条件,进行多轮渐进式分析。
语法特点 :使用Wireshark自有的 显示过滤语法 。它更接近自然语言,支持复杂的逻辑组合和协议字段引用。
常用场景与命令示例 :
- 筛选HTTP协议包 :
http - 筛选包含特定字符串的包(如URL) :
http contains “login” - 筛选源或目的IP :
ip.src == 192.168.1.1 or ip.dst == 10.0.0.1 - 筛选TCP端口范围 :
tcp.port >= 8000 and tcp.port <= 8010 - 组合复杂条件 :
http and ip.src == 192.168.1.100 and tcp.flags.syn == 1(查找来自该IP的HTTP SYN包)
两者对比与选择策略 :
| 特性 | 捕获过滤 (Capture Filter) | 显示过滤 (Display Filter) |
|---|---|---|
| 作用阶段 | 抓包前,数据进入Wireshark之前 | 抓包后,对已捕获的数据进行分析时 |
| 主要目的 | 减少资源占用,聚焦目标流量 | 灵活分析,多角度查询 |
| 语法 | BPF语法 (如 host , port , net ) |
Wireshark显示过滤语法 (如 ip.addr , http.request ) |
| 效率 | 高 。不相关的包不进入内存。 | 中 。需要处理所有已捕获的包。 |
| 灵活性 | 低 。抓包开始后不可更改。 | 极高 。可随时修改,支持复杂表达式。 |


220

被折叠的 条评论
为什么被折叠?



