Wireshark 是一款功能强大的网络分析工具,适用于网络专业人员。它提供了出色的过滤器,您可以轻松放大到您认为可能存在问题的位置。过滤器的主要好处是消除噪音(您不感兴趣的流量),并帮助您缩小要查找的数据类型。这就是为什么能够正确使用过滤器非常重要的原因。
1、根据源 IP 地址过滤主机
当我们想要查找属于某个发送者的所有数据包时,我们会使用下面的过滤器。
ip.src==23.217.250.58
每当我们在过滤命令框中输入任何命令时,如果命令正确,它就会变成绿色。否则,它会变成红色。
2、根据目标 IP 地址过滤主机
可以使用类似的过滤器来查找目标主机(接收者)。
ip.dst==192.168.1.4
3、过滤发往或来自特定 IP 的数据包
当我们想要查找所有进出某个主机的数据包时,我们会使用下面的过滤器。
ip.addr==192.168.1.4
4、过滤两个主机之间的对话
有时,我们只需要关注两个主机之间的数据包。我们将使用下面的过滤器。
ip.addreq192.168.1.4andip.addreq23.217.250.58
5、过滤子网
Wireshark 允许您指定网络及其子网长度。当我们想要查看进出网络的数据包时,我们需要该过滤器。
6、过滤 IP 地址范围
当我们需要过滤仅属于几个主机的数据包时。我们将使用下面的过滤器。
ip.addr>192.168.1.0andip.addr<192.168.1.10
7、过滤主机或子网
有些主机可能会产生大量的数据包,这会分散我们在故障排除时的注意力。我们使用以下显示过滤器来显示所有在源或目标字段中不包含特定 IP 的数据包。
为了过滤掉host:!(ip.addr==192.168.1.4) 相同的逻辑也可用于过滤子网: !(ip.addr==192.168.1.4/24)
8、过滤大于 1500 字节的数据包(默认 MTU 大小)
网络 MTU 大小经常是问题的根源。因此,我们可能需要检查是否有大于默认 MTU 大小的数据包。
ip.len>1500
9、过滤不应分片的数据包
某些应用程序不希望其数据包在网络中被碎片化。当路径上的设备(路由器、防火墙、交换机等)收到这些数据包时,它们会检查这些数据包是否大于 MTU 大小,如果是,设备会丢弃这些数据包,从而导致故障。可以使用以下过滤器。
ip.flags.df==1
10、过滤损坏的数据包
16 位报头校验和字段用于 IPv4 报头的错误检查。在传输过程中,数据包的 IP 报头可能会损坏,从而导致数据包丢失。校验和用于检测损坏的数据包。下面的过滤器可用于查找这些数据包。
ip.checksum_bad.expert
当 IP 校验和被卸载时,可以在 Wireshark 中看到相同的警告,这意味着数据包没有损坏。
11、过滤广播和多播数据包
广播或多播风暴是指短时间内广播数据包数量异常高,导致网络故障。检查这些数据包的比例可以了解风暴和网络环路。以下过滤器用于查找多播和广播数据包。
(eth.dst.lg==1)或(eth.addr==ff:ff:ff:ff:ff:ff)
12、仅过滤 IPv4 数据包
有时,我们需要过滤掉广播、多播、IPv6 数据包,以便我们专注于相关数据包。下面的过滤器用于仅显示 IPv4 数据包。
ip
13、仅过滤 IPv6 数据包
IPv6 是“Internet 协议版本 6”的缩写。IPv6 是 IETF 设计的“下一代”协议,用于取代当前的 Internet 协议版本、IP 版本 4 或 IPv4。当使用高流量链接时,我们可能需要仅过滤 IPv6 流量。以下过滤器可用于此目的。
最后的想法
Wireshark 拥有强大的过滤引擎,可帮助消除数据包跟踪中的噪音,让您只看到您感兴趣的数据包。正确使用这些过滤器,故障排除所需的时间会大大减少。