Linux의 기본 pcap library를 사용할 경우에는 100% packet capture를 할 수 없다. 해당 정보는 http://luca.ntop.org/Ring.pdf 로부터 확인할 수 있다. 따라서 capture rate를 높여주기 위한 방안 한가지인, PF-RING을 사용하는 방식을 알아보자.
일단, svn을 사용해서 PF-Ring을 받아와야만 한다. 다음 명령으로 받아오도록 하자.
#svn co https://svn.ntop.org/svn/ntop/trunk/PF-RING 로 받아올 수 있다.
PF-RING을 받아오게 되면, pf-ring을 사용하도록 수정된 pcap, libpfring, example code인 pcount 디렉토리가 생성되는데, 일단 libpfring 디렉토리로 이동을 해당 libpfring library를 생성해야만 한다.
#cd libpfring && make
이 때 만약 "struct pfring_pkthdr" 와 관련된 error가 발생한다면, "struct pfring_pkthdr"이 정의되어 있지 않아서 생기는 문제인데, libpfring Makefile에서 kernel source의 include 디렉토리를 include 시키면서 이전 버전의 ring.h를 참조함으로써 생기는 문제이다.
일단, svn을 사용해서 PF-Ring을 받아와야만 한다. 다음 명령으로 받아오도록 하자.
#svn co https://svn.ntop.org/svn/ntop/trunk/PF-RING 로 받아올 수 있다.
PF-RING을 받아오게 되면, pf-ring을 사용하도록 수정된 pcap, libpfring, example code인 pcount 디렉토리가 생성되는데, 일단 libpfring 디렉토리로 이동을 해당 libpfring library를 생성해야만 한다.
#cd libpfring && make
이 때 만약 "struct pfring_pkthdr" 와 관련된 error가 발생한다면, "struct pfring_pkthdr"이 정의되어 있지 않아서 생기는 문제인데, libpfring Makefile에서 kernel source의 include 디렉토리를 include 시키면서 이전 버전의 ring.h를 참조함으로써 생기는 문제이다.
출처 : http://powerson.egloos.com/viewer/1869333
'Fundamental > Algorithm' 카테고리의 다른 글
PF_RING 을 이용한 pcap 성능 향상 (0) | 2014.03.19 |
---|
댓글