Wireshark 五大核心过滤技巧:从宏观到微观,先筛选再聚焦,让排查难题迎刃而解!
今天我们一起来深入了解这些网络分析的基础操作。
一、IP地址基础过滤技巧(3种)
源IP过滤:使用 `ip.src == 目标IP` 来定位特定主机发送的网络流量,比如用于排查恶意程序的网络通信。目标IP过滤:使用 `ip.dst == 目标IP` 来查看发往特定主机的入站流量,比如确认服务器是否收到了客户端的请求。双向流量过滤:使用 `ip.addr == 目标IP`,可以同时显示指定IP地址的所有进、出站数据包,这对于排查网络连通性问题特别有用。
二、进阶IP过滤技巧(4种)
子网过滤:使用 `ip.addr == 网段/子网掩码` 或 `ip.addr in {网段1, 网段2}`,可以一次性捕获某个部门或特定网段的所有流量,常用于定位部门级别的网络异常。IP范围过滤:使用 `ip.addr >= 起始IP && ip.addr <= 结束IP`,可以精准锁定一个非标准子网内的IP地址区间。排除特定IP:通过 `!ip.addr == 排除IP` 或 `not ip.addr == 排除IP`,可以过滤掉已知的正常流量(比如网关的通信),让异常流量更突出。主机间会话过滤:使用 `ip.src == 主机A && ip.dst == 主机B`(表示从A到B的单向流量),或 `(ip.addr == 主机A) && (ip.addr == 主机B)`(表示A与B之间的双向交互),可以帮助你快速定位点对点的通信问题。
三、协议过滤技巧(4种)
单一协议过滤:直接在过滤栏输入协议名(例如 `tcp`、`udp`、`icmp`、`dns`),可以让你专注于分析特定协议的流量,比如用 `icmp` 来排查 ping 不通的问题。排除协议:使用 `!协议名` 或 `not 协议名` 可以剔除无关的流量,比如输入 `!arp` 能让视图更简洁,专注于上层协议分析。多协议组合:使用 `协议1 || 协议2`,可以同时观察多种协议的流量,例如结合 `dns || http` 来排查网页无法打开的问题。协议与IP组合:使用 `协议名 && ip.addr == 目标IP`,可以精确查看某台主机上特定协议的流量情况,实现更精细的分析。
四、端口过滤技巧(4种)
单端口过滤:使用 `tcp.port == 端口号` 或 `udp.port == 端口号`(例如 `tcp.port == 80` 用于查看HTTP服务流量)。源端口过滤:使用 `tcp.srcport == 端口号` 或 `udp.srcport == 端口号`,有助于排查由客户端发起的请求问题。目标端口过滤:使用 `tcp.dstport == 端口号` 或 `udp.dstport == 端口号`,方便查看发往服务器特定服务的入站请求。多端口组合过滤:使用 `tcp.port in {端口1, 端口2}` 或 `udp.port in {端口1, 端口2}`,可以一次性覆盖多个服务的流量,例如同时监控 80(HTTP)、443(HTTPS)、21(FTP)等常用端口。
五、数据特征与特殊场景过滤技巧(5种)
数据包大小:使用 `ip.len >= 字节数`(IP层)或 `frame.len >= 字节数`(整帧),可用于排查MTU不匹配或识别小包攻击等异常。错误数据包:使用 `ip.checksum_bad`(IP校验错误)或 `tcp.checksum_bad`(TCP校验错误),可以快速定位因损坏或伪造产生的异常数据包。广播/组播:使用 `eth.dst == ff:ff:ff:ff:ff:ff`(广播)或 `eth.dst[0] & 1`(组播),有助于排查由广播风暴引起的网络问题。字符串匹配:使用 `协议名 contains "字符串"`(例如 `http contains "404"`),可以直接在应用层协议中搜索特定的错误码或关键字。时间范围:使用 `frame.time >= "YYYY-MM-DD HH:MM:SS" && frame.time <= "YYYY-MM-DD HH:MM:SS"`,可以精确锁定在特定时间段内发生的网络流量。
