wireshark 过滤器 过滤规则

本文详细介绍了Wireshark中的两种过滤器:抓包过滤器和显示过滤器。抓包过滤器用于筛选网络流量,而显示过滤器则用于查看和分析已捕获的数据包。文章还列举了一些常用的过滤规则,并解释了如何保存这些规则以便于再次使用。

wireshark 过滤器

wireshark有两种过滤器,一种是抓包过滤器,一种是显示过滤器,注意两种过滤器的过滤规则不一样
抓包过滤器定义得当,就可以抓少量的包而达到目的,抓的包太多,wireshark会卡顿。


抓包过滤器

抓包过滤器,顾名思义是用来抓包的,抓包过滤器抓取数据包,显示过滤器过滤前者抓取的数据包。所以抓取过滤器的好坏也影响着显示效果。抓取过多无用的包,会造成wireshark卡顿。如果少抓或漏抓又满足不了需求。所以,抓包过滤规则至关重要。


抓包设置

capture—-options—-capture filters输入框,输入过滤规则,比如只抓取淘宝登录的包 host login.taobao.com ,点击start就开始抓包了。

这里写图片描述


预定义抓包规则

上一步骤,抓包成功。那我下次抓取淘宝的数据包,是不是还得输入一遍?当然不用,wireshark给我们提供了预定义规则暂存功能,免去重复输入的烦恼。
点击capture Filter——>new,输入过滤器名字和过滤规则,点击ok。这样以后想用的时候,直接调用就可以了。

这里写图片描述

有的时候,我想看看预定义的规则,那么capture—->capture filters即可。

这里写图片描述

这里写图片描述


常用抓包规则

来源或目的地是指定地址的包

host 192.168.0.123
host www.taobao.com

范围内的包

net 192.168.0.0/24

or

net 192.168.0.0 mask 255.255.255.0

抓取目的地是某范围的包

dst net 192.168.0.0/24

or

dst net 192.168.0.0 mask 255.255.255.0

抓取来源是某范围的包

src net 192.168.0.0/24

or

src net 192.168.0.0 mask 255.255.255.0

仅抓取DNS(端口是53)的包

port 53

更多样例可参考,抓包过滤器样例


显示过滤器

显示设置

在主界面filter输入框内,直接输入,点击apply。比如,只显示本地发出去的包

ip.src==192.168.8.60

过滤前
这里写图片描述

过滤后
这里写图片描述


常用显示规则

过滤从某地址发出的请求

ip.src==192.168.8.60

过滤发送到某地址的请求

ip.dst==192.168.8.60

过滤http协议

http

过滤某地址

http.request.uri=="/projectname/a.html"

过滤全地址(它与uri的区别是,包含host)

http.request.full_uri=="www.mydomain.com/projectname/a.html"

预定义显示规则

这里写图片描述
这里写图片描述

更多过滤规则,点击expression就可以显示
这里写图片描述

### Wireshark 过滤器的使用方法与语法 Wireshark 是一种强大的网络协议分析工具,其过滤功能可以帮助用户快速筛选和定位特定的数据包。Wireshark过滤器主要分为两种类型:捕获过滤器 (Capture Filter) 和显示过滤器 (Display Filter),每种类型的过滤器都有不同的用途和编写规则。 #### 捕获过滤器 (Capture Filter) 捕获过滤器用于在网络接口级别定义哪些数据包会被捕捉到。它基于 Berkeley Packet Filter (BPF) 语法实现。常见的捕获过滤器示例如下: - 捕获所有来自或发往 IP 地址 `192.168.1.1` 的数据包: ```bash host 192.168.1.1 ``` - 捕获目标地址为 `192.168.1.1` 的数据包: ```bash dst host 192.168.1.1 ``` - 捕获源地址为 `192.168.1.1` 的数据包: ```bash src host 192.168.1.1 ``` - 捕获指定端口号上的 TCP 数据流(如 HTTP 流量): ```bash tcp port 80 ``` 这些命令可以直接在启动 Wireshark 或 tshark 命令行工具时通过 `-f` 参数传递[^1]。 --- #### 显示过滤器 (Display Filter) 显示过滤器的作用是在已经捕获的数据包集合中进一步筛选感兴趣的内容。它的语法更加灵活,支持多种字段名称以及逻辑运算符组合。以下是几个典型的显示过滤器示例及其解释: - 只显示涉及 `TCP` 协议的数据包: ```plaintext tcp ``` - 只显示目标端口为 `80` 的数据包: ```plaintext tcp.dstport == 80 ``` - 只显示源 IP 地址为 `192.168.1.1` 的数据包: ```plaintext ip.src == 192.168.1.1 ``` - 同时满足目标端口为 `80` 并且源 IP 地址为 `192.168.1.1` 的数据包: ```plaintext tcp.dstport == 80 && ip.src == 192.168.1.1 ``` - 排除 DNS 查询响应的数据包: ```plaintext !dns.flags.response == 1 ``` 当输入有效的显示过滤器表达式后,如果语法无误,则过滤框会变成绿色;如果有错误,则会变红并提示具体问题所在位置[^2]。 对于更复杂的场景,还可以利用括号来控制优先级顺序,比如下面这个例子展示了如何找到既属于某个子网又运行 HTTPS 的设备发出的所有请求: ```plaintext (ip.net == 192.168.1.0/24) && (tcp.port eq 443) ``` 以上提到的操作符包括但不限于等于 (`==`)、不等于 (`!=`)、大于 (`>`)、小于 (`<`) 等比较运算符,还有布尔逻辑中的 AND (`&&`) OR (`||`) NOT (`!`) 等连接词[^3]。 --- ### 小结 无论是初学者还是高级用户,在日常工作中合理运用这两种不同层次上的过滤机制能够极大提升效率。掌握基本概念之后就可以尝试构建适合自己需求的具体查询语句了。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值