커널단에서 패킷을 생성하여 보내고 싶습니다.
글쓴이: monovision / 작성시간: 목, 2007/11/29 - 2:31오후
안녕하세요.
현재, 커널단(2.6.18, 2.6.18)에서 프로젝트를 진행중인데 잘 안되는 것이 하나 있어 질문드립니다.
일단 하고 있는 것은 iptables 를 후킹하여 제어를 하고 있는 중이구요.
플젝 진행 중에 패킷을 생성하여 보내야 하는 일이 생겼습니다.
커널단에서 패킷 생성 및 보내기 위해 참고할 문서나 소스가 있을까요 ?
그리고...
커널 모듈로 올렸을 경우 user level 에서 만든 라이브러리나 실행 파일을 호출하는 방법은 없을까요 ?
Forums:
http://lxr.linux.no/source/Do
http://lxr.linux.no/source/Documentation/networking/pktgen.txt
----
Do not feed troll!
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
먼저
먼저 감사합니다.
링크 걸어주신 pktgen 모듈에 대해서는 저도 봤었는데...
config 를 수정하여 패킷을 날려보면 ifconfig 로 찍었을때 device 상에는 패킷 카운팅이 올라가지만,
실제로 tcpdump 를 뜨거나 해당 IP 에서 모니터링을 해 보면 패킷 자체는 날라오질 않더라구요.
패킷 카운팅만 올라갈뿐이고....
실제적으로 패킷 자체가 날라가질 않아 제껴준 소스입니다.
해당 소스는 지속적으로 보고 있는데.. 커널단의 네트워크 구조를 정확하게 이해를 못해서 그런지 이해하기가 조금 힘드네요 ^^;;;;
커널단중에서도 여기서라면..
dev_hard_start_xmit()함수에서 tcp probing 패킷을 생성하여 보내보았습니다. wireshark로 패킷이 송/수신 되는 것도 관찰하였습니다.
방법은 소켓 포인터를 이용하면 됩니다. 지역변수 하나 생성해서 소켓 포인터를 이용해 패킷을 복사하고 그 패킷의 내용을 임의의 정보로 채우면 됩니다.
도움이 되길 바랍니다.
댓글 달기