0

我只想从我的系统中嗅探传出的“TCP-ACK”数据包。因此,我在lib-pcap程序中将过滤器表达式设置为:

char filter_exp[] = "src host 172.16.0.1 and tcp[tcpflags] & (tcp-syn | tcp-fin | tcp-rst | tcp-psh) == 0";

但它在运行时显示 lib-pcap 语法错误:

无法解析过滤器 src 主机 172.16.0.1 和 tcp[tcpflags] 和 (tcp-syn | tcp-fin | tcp-rst | tcp-psh) == 0:语法错误

谁能告诉这里出了什么问题以及正确的过滤器表达式是什么?

我从这里得到了语法(在示例部分)。

4

1 回答 1

1

语法不正确,因为tcp-psh它不是有效的语法。正确的是tcp-push. 所以正确的过滤器表达式将是:

char filter_exp[] = "src host 172.16.0.1 and tcp[tcpflags] & (tcp-syn | tcp-fin | tcp-rst | tcp-push) == 0";
于 2014-12-08T07:49:52.463 回答