2014-12-08 3 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-첫 번째 | 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"; 
관련 문제