Socket filter

  • 작성자
    조재혁(Mminzkn@minzkn.com)

  • 고친과정
    2011년 4월 07일 : 처음씀

  • 문서의 작성기준 개발환경
    GNU/Linux

개요

RAW socket을 이용하여 패킷을 수신하고자 할때 내가 원하는 패킷을 걸러내기 위해서는 많은 작업과 더불어 많은 성능손실을 감수해야 합니다. 그러나 Socket filter를 이용하여 수신하게 되면 커널레벨에서 내가 원하는 패킷만 응용프로그램으로 전달하므로써 이러한 성능손실을 개선할수 있습니다.

중요한것은 BPF(Berkeley Packet Filter) code의 이해가 필요하며 다행히도 잘 몰라도 "tcpdump -dd '<BPF표현문법>'" 명령을 통해서 얻을수 있습니다.

예제소스

  • @socket_filter.tar.gz (1.79 KB) : Linux에서 Application이 Kernel의 Socket filter를 이용하는 방법 (정상적인 동작을 위해서는 root권한이 필요함)




/*

[ FrontPage | PrintView | RawView | RSS ]

Copyright ⓒ MINZKN.COM
All Rights Reserved.

MINZKN

----

*/