kernel에서 in out되는 packet을 잡아 볼려 하는데.. 도움 부탁

raison799의 이미지

packet의 내용을 함 보고 싶어서..
지금 공부중인데.. 좀처럼 방향을 못 잡고 있네요..

구체적으로 제가 구현하고자 하는 것은, 커널 레벨에서 packet의
내용들을 읽어오는 system call을 작성하고, user level에서
system call을 이용하여.. packet 정보를 display하는 것입니다.

중요한 자료구조인 sk_buff와 관련된 연산들(skb_copy(),
skb_clone() 등...)이 있다는 것까지 알게 되었습니다..

application level에서 데이터가 만들어 져서, device까지 전달되는 과정을 소스로 차례로 따라가봐야 할듯한데..
어떤 부분 부터 봐야 할지, 그리고 어떻게 봐야 할지 정말 감을 못 잡겠습니다.
좀 구체적으로 어떤 파일부터 봐야 할지 그리고 무엇을 중점으로 봐야 할지 좀 알려 주세요.. 좀좀좀 구체적으로..

그리고.. 기타 관련된 조언이 있으시면.. 부탁드립니다..

읽어주셔서 감사.. 합니다..

aqwerf의 이미지

Packet을 보는 것이 목적이라면 libpcap 등을 사용한다면 kernel은 굳이 건드릴 필요가 없습니다.

KLDP wiki에도 libpcap에 대한 문서가 있습니다.

http://wiki.kldp.org/wiki.php/DocbookSgml/Libpcap-KLDP