kernel level에서 packet을 잡아 볼려면 어떻게 해야할지요. 조언 부탁드려요.
netfilter라는것이 있구요. ^^ 쉽게 적용이 가능하구요. (문서가 많답니다.)
또. NIC 드라이버를 수정하는것입니다.
에... 또. 커널내 네트워크관련 모듈을 수정하는것도 방법이 되겠습니다..
socket_buff 요넘을 따라다니시면 잡을때를 아시겠지요.
Key word만 몇 개 알려드리죠... 자세한 건 커널 소스를 아래 키워드를 중심으로 보시면 알게되실 듯... 그래도 모르겠으면, 내공을 좀 더 키우심이...^^
1. struct sk_buff 2. struct packet_type 3. struct net_device 4. dev_add_pack() 5. dev_set_promiscuity() 6. dev_get_by_name() 7. dev_remove_pack()
이 정도 함수와 구조체를 가지고 kernel 모듈로 작성하시면 몇 라인 안가지고 작성하실 수 있을 겁니다...^^
스스로 알아가는 재미가 더 좋죠?
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
몇가지 방법이 있습니다.
netfilter라는것이 있구요. ^^
쉽게 적용이 가능하구요. (문서가 많답니다.)
또. NIC 드라이버를 수정하는것입니다.
에... 또. 커널내 네트워크관련 모듈을 수정하는것도 방법이 되겠습니다..
socket_buff 요넘을 따라다니시면 잡을때를 아시겠지요.
Key word만 몇 개 알려드리죠...자세한 건 커널 소스를 아래
Key word만 몇 개 알려드리죠...
자세한 건 커널 소스를 아래 키워드를 중심으로 보시면 알게되실 듯...
그래도 모르겠으면, 내공을 좀 더 키우심이...^^
1. struct sk_buff
2. struct packet_type
3. struct net_device
4. dev_add_pack()
5. dev_set_promiscuity()
6. dev_get_by_name()
7. dev_remove_pack()
이 정도 함수와 구조체를 가지고 kernel 모듈로 작성하시면 몇 라인 안가지고
작성하실 수 있을 겁니다...^^
스스로 알아가는 재미가 더 좋죠?
댓글 달기