我正在尝试从配置UI生成WinPcap过滤器。现在我有一个看起来像这个ip && (((ip.src == 10.10.10.10 && (tcp.port == 10 || udp.port == 10)) && (ip.dst == 20.20.20.20 && (tcp.port == 20 || udp.port == 20))))
的过滤字符串。当我将它输入Wireshark时,此过滤器有效,但当我尝试通过WinPcap编译它时,我得到syntax error
。我编译了一个简单的过滤器(ip and tcp
),没有问题,所以我知道它与这个过滤器字符串有关。有什么想法吗?
答案 0 :(得分:5)
您可能需要指定协议,而不是仅仅放置 ip
。
例如
(ip.proto == TCP) && ...
击> <击> 撞击>
因此,您使用的过滤器选项符合wireshark语法。您需要使用BPF format来捕获数据,以便能够在wireshark和WinPcap之间来回切换。您可以使用您希望收集的特定界面上的“捕获选项”来测试您的过滤器。
您的wireshark过滤器将转换为以下BPF代码:
ip && (((ip src 10.10.10.10 && (port 10)) && (ip dst 20.20.20.20 && (port 20))))
有关详细信息,请参阅Wireshark中的FilterCaptures部分和WinPcaps页面上的Filter expression syntax。