2014-12-08 19 views
0

我只想从我的系统中嗅探传出的'TCP-ACK'数据包。因此,我把我的过滤器表达我的lib-pcap程序为:在输出数据包中纠正libpcap中的过滤器表达式

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翅| TCP-RST | TCP-PSH)== 0:语法错误

谁能告诉这里有什么错的,什么将是这个正确的过滤器体现在哪里?

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

回答

0

语法不正确,因为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";