[libpcap][func] pcap_compile

int pcap_compile(pcap_t *p, struct bpf_program *fp, const char
                             *str,
int optimize, bpf_u_int32 netmask)


pcap_compile은 문자열로 이루어진 필터 표현식을 프로그램으로 컴파일하기 위한 함수이다.
자세한 표현식은 pcap_filter문서를 참고하도록 하자.

 

Description[document]

pcap_t *p: paket을 다루기위한 handler
struct bpf_program *fp: 표현식을 프로그램으로 만들어 포인터로 반환함 (기회가 되면 정리)
char *str: 표현식 포인터
int optimize: 코드 최적화 여부를 선택
bpf_u_int32: 네트워크 넷마스크


Return

컴파일에 성공하면 0을 반환하고 실패하면 -1을 반환한다.
또한 에러 내용은 pcap_geterr() or pcap_perror()로 볼 수 있다. 


부록

  • bpf_program에서 bpf는 Berkeley Packet Filter의 약자로 데이터 링크에 raw 인터페이스 패킷을 제어 할 수 있다.
  • optimize는 gcc에서의 -O옵션과 유사한 의미라고 한다.
    실제 사용함에 있어서 큰 차이는 없겠지만 코딩한 대로 이루어져야하는 네트워크 특성상 0으로 설정하고 사용하는 경우가 잦다.

글의 문제가 있다면 댓글을 달아 주세요.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.