2014-12-08 38 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";