【问题标题】:How to filter by IP address in Wireshark?如何在 Wireshark 中按 IP 地址过滤?
【发布时间】:2011-05-01 21:36:18
【问题描述】:

我试过dst==192.168.1.101,但只得到:

Neither "dst" nor "192.168.1.101" are field or protocol names.

The following display filter isn't a valid display filter:
dst==192.168.1.101

【问题讨论】:

    标签: wireshark


    【解决方案1】:

    实际上,由于某种原因,wireshark 使用两种不同的过滤器语法,一种用于显示过滤器,另一种用于捕获过滤器。显示过滤器仅用于查找某些流量,仅用于显示目的。就像您对所有流量都感兴趣,但现在您只想查看具体的。

    但如果您只对某些流量感兴趣而根本不关心其他流量,那么您可以使用捕获过滤器。

    显示过滤器的语法是(如前所述)

    ip.addr = x.x.x.x 要么 ip.src = x.x.x.x 要么 ip.dst = x.x.x.x

    但以上语法在捕获过滤器中不起作用,以下是过滤器

    主机 x.x.x.x

    wireshark wiki page上查看更多示例

    【讨论】:

    • 这让我花了很长时间才习惯。它还使您发现的一半建议变得无关紧要,这是进入的障碍。 :(
    • 捕获过滤器使用不同语法的原因是它正在寻找一个 pcap 过滤表达式,并将其传递给底层 libpcap 库。 Libpcap 起源于 tcpdump。随着 Wireshark 对协议更丰富的理解,它需要更丰富的表达语言,因此它提出了自己的语言。
    【解决方案2】:

    您还可以将过滤器限制为仅部分 IP 地址。

    例如要过滤123.*.*.*,您可以使用ip.addr == 123.0.0.0/8。使用/16/24 可以实现类似的效果。

    查看WireShark man pages (filters) 并查找无类域间路由 (CIDR) 表示法

    ...斜线后面的数字代表用来表示网络的位数。

    【讨论】:

      【解决方案3】:

      其他答案已经涵盖如何按地址过滤,但如果您想排除地址使用

      ip.addr < 192.168.0.11

      【讨论】:

      • ip.addr != 192.168.0.11 是正确的方式。
      【解决方案4】:

      匹配目的地:ip.dst == x.x.x.x

      匹配来源:ip.src == x.x.x.x

      匹配任一:ip.addr == x.x.x.x

      【讨论】:

      • ip.hostip.addr 效果相同。
      【解决方案5】:

      在我们的使用中,我们必须使用主机 x.x.x.x 进行捕获。或(vlan 和主机 x.x.x.x)

      任何东西都不会捕获?我不知道为什么,但这就是它的工作方式!

      【讨论】:

      • 因为 1) libpcap/WinPcap 过滤器(Wireshark 捕获过滤由 libpcap/WinPcap 完成)功能有限,并且不检查 VLAN 封装和非 VLAN 封装的数据包,以及 2) 您的网络使用 VLAN。很不幸,但就是这样。
      【解决方案6】:

      在 Wireshark 中过滤 IP 地址:

      (1)单IP过滤:

      ip.addr==X.X.X.X

      ip.src==X.X.X.X

      ip.dst==X.X.X.X

      (2)基于逻辑条件的多重IP过滤:

      或条件:

      (ip.src==192.168.2.25)||(ip.dst==192.168.2.25)

      AND条件:

      (ip.src==192.168.2.25) && (ip.dst==74.125.236.16)

      【讨论】:

        【解决方案7】:

        如果您只关心特定机器的流量,请改用捕获过滤器,您可以在Capture -> Options 下设置它。

        host 192.168.1.101
        

        Wireshark 只会捕获发送至192.168.1.101 或由192.168.1.101 接收的数据包。这样做的好处是需要较少的处理,从而降低了重要数据包被丢弃(丢失)的机会。

        【讨论】:

        • 我在朋友的电脑上也看到了。在较新版本的 Wireshark 中,捕获过滤器可能已移至其他位置。
        • 可能是因为我运行的是试用版...>_
        • 捕获过滤器只能在捕获停止时构建。它们必须经过预编译。停止捕获,菜单“捕获...选项...”选项将重新启用。
        • 我试过了,但无法从连接到同一路由器的不同设备捕获数据包。有没有其他方法可以使用我自己的笔记本电脑捕获连接到同一路由器的另一台设备的数据包?
        【解决方案8】:

        试试

        ip.dst == 172.16.3.255
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-04-04
          • 2014-02-11
          • 1970-01-01
          • 2023-03-27
          • 1970-01-01
          • 1970-01-01
          • 2013-09-07
          • 2016-12-04
          相关资源
          最近更新 更多