>>Совет только один книжки+поисковики+инфопорталы=RTFM, а потом, глядишь, и баловаться расхочется, а то >>и чем нибудь полезным займешься... > >золотые слова! respect! ну хорошо а если бы я не написал слово "баловатся"?вы бы мне помогли? я уже все сам нашел!а именно похожий исходник,как раз для tcp и udp.правда теперь такой вопрос.эти исходники поставляются вместе с makefil'om т.е: [wraith@localhost rawsock-0.5]$ ls CHANGES ip_gen.c* Makefile.linux* rawsock_utils.h* tcp_gen.c* udp_gen.c* checksum.h* ipicmp.c* Makefile.sco* README trans_check.c* in_cksum.c* Makefile.bsd4* Makefile.sol* tcp.c* udp.c* Ну вот.я в исходниках поковырялся,в принципе понял что к чему.но хотелось бы банально скомпилить.в readme абсолютно ничего нету по поводу компиляции. если я делаю make linux то пишет что не заданы цели.В самом makefil'e ничего путного нету!!! Теперь вопрос по существу.есть обьявление: unsigned char packet[ #if !defined(LINUX) sizeof(struct ip) + #else /* LINUX */ sizeof(struct iphdr) + #endif /* LINUX */ sizeof(struct udphdr) + MESG_LENGTH]; что такое MESG_LENGTH?и ведь struct ip и struct udphdr равны нулю вначале,как же их туда впихивают? Да и еще.что значит struct udphdr *udphdr; udphdr = (struct udphdr *)(packet + sizeof(struct ip)); т.е что именно мы явно приводим к типу struct udphdr*? p.s возможно статью напишу про это дело.инфы мало про это,тем более как строить udp пакеты!
|