如何在Wireshark中按IP地址过滤?

Ala*_*lan 280 wireshark

我试过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
Run Code Online (Sandbox Code Playgroud)

The*_*aul 518

比赛目的地: ip.dst == x.x.x.x

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

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


Raj*_*Das 38

在Wireshark中过滤IP地址:

(1)单IP过滤:

ip.addr == XXXX

ip.src == XXXX

ip.dst == XXXX

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

或条件:

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

和条件:

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


Old*_*eon 32

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

EG过滤123 . .*你可以使用123.*.*.*.使用ip.addr == 123.0.0.0/8和可以实现类似的效果/16.

请参阅WireShark手册页(过滤器)并查找无类别域间路由(CIDR)表示法.

...斜杠后面的数字表示用于表示网络的位数.


Dea*_*ean 16

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

host 192.168.1.101
Run Code Online (Sandbox Code Playgroud)

Wireshark将仅捕获发送或接收的数据包192.168.1.101.这具有需要较少处理的益处,这降低了重要分组被丢弃(丢失)的机会.

  • 捕获过滤器只能在捕获停止时生成.它们必须预先编译.停止捕获,将重新启用菜单"捕获...选项..."选项. (2认同)

Kev*_*ghe 11

尝试

ip.dst == 172.16.3.255
Run Code Online (Sandbox Code Playgroud)


Mub*_*har 10

实际上由于某种原因,wireshark在显示过滤器和捕获过滤器上使用两种不同类型的过滤器语法.显示过滤器仅用于查找某些流量,仅用于显示目的.它就像你对所有交通一样感兴趣但是现在你只想看到具体的.

但如果您只对certian流量感兴趣并且根本不关心其他流量,那么您可以使用捕获过滤器.

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

ip.addr = x.x.x.xip.src = x.x.x.xip.dst = x.x.x.x

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

主持人xxxx

wireshark wiki页面上查看更多示例

  • 捕获过滤器使用不同语法的原因是它正在寻找一个pcap过滤表达式,它将传递给底层libpcap库.Libpcap起源于tcpdump.随着Wireshark对协议的更深入理解,它需要更丰富的表达式语言,因此它提出了自己的语言. (2认同)