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


291

我试过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

Answers:


534

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

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

符合以下任一条件: ip.addr == x.x.x.x


ip.host与具有相同的作用ip.addr
张世和

40

在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)

AND条件:

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


35

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

EG要过滤123.*.*.*,可以使用ip.addr == 123.0.0.0/8。使用/16和可以达到类似的效果/24

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

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


17

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

host 192.168.1.101

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


hrmm地雷已禁用:(
Shanimal

我也在朋友的电脑上看到了。捕获过滤器可能已在Wireshark的较新版本中移至其他位置。
院长

也许是因为我正在运行试用版...> _ <
Shanimal 2013年

2
仅当停止捕获时才能构建捕获过滤器。它们必须预先编译。停止捕获,菜单“捕获...选项...”选项将重新启用。
jdw


10

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

但是,如果您仅对证书流量感兴趣,根本不关心其他流量,则可以使用捕获过滤器。

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

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

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

主机xxxx

wireshark Wiki页面上查看更多示例


这花了我很长时间才能习惯。它也提供了与您无关的建议的一半,这是进入的障碍。:(
Nanban Jim

2
捕获过滤器使用不同语法的原因是,它正在寻找pcap过滤表达式,并将其传递给基础libpcap库。Libpcap源自tcpdump。通过Wireshark对协议的更丰富的了解,它需要一种更丰富的表达语言,因此提出了自己的语言。
Jim Hoagland

1

在我们的使用中,我们必须使用主机xxxx或(vlan和主机xxxx)捕获

什么都不会捕获?我不知道为什么,但是那是它的工作方式!


因为1)libpcap / WinPcap过滤器(Wireshark捕获过滤由libpcap / WinPcap完成)功能有限,并且不检查VLAN封装和非VLAN封装的数据包,并且2)您的网络使用VLAN。不幸的是,事实就是如此。

-2

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

ip.addr < 192.168.0.11

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.