Re: libnet doubt
Frédéric Raynal <[email protected]> Mon, 21 Jun 2004 14:36:30 +0200
| Newsgroups | gmane.comp.security.libnet |
|---|---|
| Message-ID | <[email protected]> |
You dont have to call libnet_clear_packet(). Just re-use the same l (context) and ptags, with different parameters passed to the builder. Fred Raynal On Tue, Jun 15, 2004 at 05:33:34PM +0530, [email protected] wrote: > > > > > Hi, > > I tried doing this : > > after sending every UDP packet, I call, libnet_clear_packet(lh);, then in > build_send_udp I set udp_ptag and ip_ptag to zero before calling > libnet_build_udp or libnet_build_ipv4. But still, I am noe getting an error > with libnet_write(). > > it says : write error : injection type not supported. > > this is really wierd, is sending two consecutive udp packets so difficult, > help section is not helping much since it is not very comlpete .. can > someone point out as to what am I doing wrong, and give me a well defined > wy of sending more than one packet(any protocol) on the same context(i.e > without having to do a libnet_init and libnet_destroy every time I send a > packet). > > thanks > Amit > > > > > Amit Kumar Singh > 06/15/2004 05:08 PM > > To: "Jee J.Z." <[email protected]> > cc: > > Subject: libnet doubt > > > ---------------------- Forwarded by Amit Kumar Singh/HSS on 06/15/2004 > 05:16 PM --------------------------- > > > Amit Kumar Singh > 06/15/2004 04:27 PM > > To: "Mustafa Abu Sedera" <[email protected]> > cc: [email protected] > > Subject: libnet doubt (Document link: Amit Kumar Singh) > > Hi, > > I am trying to do this : > > libnet_t lh; > libnet_ptag_t udp_ptag=0, ip_ptag=0; > u_long dst_ip; > > build_send_udp() > { > udp_ptag=0; > udp_ptag=libnet_build_udp( ...... ); > if(udp_ptag==-1) {printf("we're goig to bad from here udptag");goto bad;} > ip_ptag=libnet_autobuild_ipv4(....); > if(ip_ptag==-1) {printf("\nwe're going to abd from iptag\n");goto bad;} > > bad: > destroy (lh); > exit; > } > > main() > { > char * dst="192.x.x.x"; > lh=libnet_init(libnet_raw4 , NULL, err_buf); > dst_ip=libnet_name2addr(lh, dst, DONT_RESOLVE); > build_send_udp(); > build_send_udp(); > build_send_udp(); > libnet_destroy(lh); > } > > WHAT I AM TRYING TO DO : > basically i am trying to send more than one udp packets from the same > context. What I do is this : > 1. first in main initialize using libnet_init, the handle is a global > variable accessible to build_send_udp() too. > 2. then send a udp packeteverytime build_send_udp is called. > 3 finally after all 3 packets have been sent, destroy the context using > libnet_destroy(lh); > > PROBLEM : On running the .out, the first packet goes out fine, but for the > second, third (all after first ) I get the following error : > > We're going to bad from iptag > cannot build ip header : libnet_get_ipaddr4() : ioctl : no such device .... > what is this can someone tell me how to send more than one packet from the > same context. > > i tried adding libnet_clear_packet(lh); after every call to > build_send_udp(), but the same error persists. > > Any clues ? > > thanks > Amit > > > > >