ether packet 을 만들어서 보낼려고 합니다.
글쓴이: merely_c / 작성시간: 수, 2003/09/24 - 11:01오전
ethernet packet 을 만들어서 보낼려고 합니다.
완전한 하나의 frame 을 유저영역에서 만들어 보낼려고합니다. SOCK_RAW 는 ip 까지여서 ethnet 헤더를 는 못만드닌깐 SOCK_PACKET 을 쓰면 된다고 man page 에는 나와 있드라구요....
그런데 SOCK_PACKET 으로 플그램 하면 socket open 에서는 에러가 안나는데. sendto 할때 No such device 라는 에러가 나옵니다.
유저영역에서 커널 TCP/IP 스택을 타지 않고 완전한 frame 을 보낼수 있는 방법을 좀 알려 주세요....
그럼 감사합니다. 계속 서베이해볼께요...
Forums:
커널영역에서 dev_queue_xmit() 함수를 이용하셔야 할 것 같은
커널영역에서 dev_queue_xmit() 함수를 이용하셔야 할 것 같은데요...
libpcap
libpcap 을 써보세요.
http://www.libpcap.net/
사용하시는 운영체제가 Linux가 맞다면 PF_PACKET을 이용하여
사용하시는 운영체제가 Linux가 맞다면 PF_PACKET을 이용하여
가능합니다. man packet(7)을 참조하시구요. 더 간편한 방법을
원하시면 libnet 을 사용하시면 됩니다.
http://www.packetfactory.net/libnet
ps. 솔라리스에서는 libdnet을 쓰셔야 합니다.
댓글 달기