我试图过滤掉我的本地机器的IP地址192.168.5.22 。
我用ip.src != 192.168.5.22|| ip.dst !=192.168.5.22 ip.src != 192.168.5.22|| ip.dst !=192.168.5.22 ,我一直看到我的地址popup。
你or应该是一个and
ip.src != 1.2.3.4 && ip.dst != 1.2.3.4
米奇是对的。 像你这样的消极的比赛,你需要两个条件是真实的过滤掉你的IP, 而不是或 。 你也可以这样写:
not (ip.addr == 192.168.5.22)
把它写成ip.addr != 192.168.5.22似乎更合乎逻辑,但是虽然这是一个有效的expression式,但它将与连接的另一端匹配,因为它不是特定的ip,并且仍然是真的。 例如,当从192.168.5.22连接到192.168.5.254时, ip.addr != 192.168.5.22与* .22 IP不匹配,它匹配* .254,因此数据包与filterexpression式匹配。 下面是一个完整的例子来过滤http:
not ip.addr == 192.168.5.22 and not tcp.dstport == 80
tcp.dstport!= 80遭受类似的问题; 有tcp.dstport!= 80结果意味着“匹配只有tcpstream量,但只有tcp不是dstport == 80”
虽然不是严格的问题,但我更喜欢在捕获筛选器中进行筛选(双击捕获选项对话框中的接口名称),其语法与tcpdump完全相同。 它通过避免捕获您要求忽略的数据包,使捕获占用更less的内存和磁盘空间。 缺点是如果您稍后要检查这些数据包,则不会捕获数据包,并且在捕获会话期间无法更改以此方式select的filter。 例如,为了防止从/从任何主机和任何来自192.168.5.22的数据包捕获http和sshstream量,
not host 192.168.5.22 and not port 80 and not port 22
如果您只想过滤来自主机的HTTPstream量,您可以这样做:
not (host 192.168.5.22 and port 80)