Re: FW: injecting new packets into the netfilter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






hi,

  pls see inline




"Mayank Kumar"
<mayank_kumar@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>@lists.netfilter.org on
06/30/2004 10:16:59 AM

Sent by:    netfilter-admin@xxxxxxxxxxxxxxxxxxx


To:    Amit Kumar Singh/HSS@HSS
cc:    <netfilter@xxxxxxxxxxxxxxxxxxx>,
       <netfilter-devel@xxxxxxxxxxxxxxxxxxx>

Subject:    FW: injecting new packets into the netfilter


Hi Amit
i think u missed out my mail so i resending it to you
regds
Mayank

-----Original Message-----
From: Mayank Kumar [mailto:mayank_kumar@xxxxxxxxxxxxxxxxxxxxxxxxxxxx]
Sent: Tuesday, June 29, 2004 11:49 AM
To: aksingh@xxxxxxxxxxx
Cc: netfilter@xxxxxxxxxxxxxxxxxxx
Subject: RE: injecting new packets into the netfilter


Hi Amit
thanks for ur prompt replies.
firstly from ur replies it seems
that
1: Whatever packets that i will construct using libnet or
   for that matter using ordinary bsd sockets would pass the
   relevant hooks in the netfilter based on the dest ip address
   i set. Is this true?? In this case i am constructing the packet
   completely on my own.
   >>> yes that is true, see netfilter hooks if you have read about them,
   catch ANY packet that passes thru the machines IP, be it raw packets
   that you inject using libnet(they are caught first by IP_LOCAL_OUT ..
   then they might hit other hooks), oor if they are coming from ethernet
   or any sort of mac layer(in this case caught first by PRE_ROUTING hook
   and then by others ) ...

Now what i want to do is steal(NF_STOLEN) packets at specific hooks
(generally pre routing)
within the netfilter and queue them to a user mode process.
The User mode process does some processing and either sends
the same packet or completely new and umpteen in number packets
at the post routing hook in netfilter(from ur answer using libnet).
>From ur answer it seems quite possible very easily. Correct
me if i am wrong here. Also is there any advantage of using
libnet over bsd sockets in terms of performance. Is there any
other performance optmized way of sending and receiving packets from
user to kernel mode?? Does netlink sockets way offer a more
optimized way of doing it?? (Sorry for a flurry of questions!!)


Now the second part is what if i want to move it all to kernel mode for
performance reasons.
This means steal packet at pre_routing and then queue them all to
a kernel thread which was created using a kernel module. The kernel
thread then does some processing on the packets and then sends either
the captured packet or completely new packets out through the post routing
hook.
How can this be achieved??

regds
Mayank




-----Original Message-----
From: aksingh@xxxxxxxxxxx [mailto:aksingh@xxxxxxxxxxx]
Sent: Tuesday, June 29, 2004 11:21 AM
To: Mayank Kumar
Cc: netfilter@xxxxxxxxxxxxxxxxxxx
Subject: RE: injecting new packets into the netfilter






Hi,

 You want to insert packets within the kernel module thta has netfilter
hooks ?, I dont thinkthat is a very good idea, as the packets u send using
a libnet application wld be caught at the netfilter hooks, if the
application resides on the same pc on which yr kernel module that has hook
funcstions resides, then those packets will traverse, local_out, post
routing, pre_routing, local_in etc based on their dest ip addresses, any
packet coming from ethernet wld traverse pre_routing, then local_in or
ip_forward and post_routing .....

Amit




"Mayank Kumar"
<mayank_kumar@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>@lists.netfilter.org on
06/29/2004 11:15:52 AM

Sent by:    netfilter-admin@xxxxxxxxxxxxxxxxxxx


To:    Amit Kumar Singh/HSS@HSS
cc:    <netfilter@xxxxxxxxxxxxxxxxxxx>

Subject:    RE: injecting new packets into the netfilter


Hi Akash
i know of this library.
But i want to inject packets at precise hooks
in the netfilter. for e.g. i want to inject packets whenever
the need arises ,at the fwding hook or the post routing hook. Will the
raw packets i send using the libnet get caught at hooks inserted using
netfilter at various points.

regds
Mayank

-----Original Message-----
From: aksingh@xxxxxxxxxxx [mailto:aksingh@xxxxxxxxxxx]
Sent: Tuesday, June 29, 2004 10:49 AM
To: Mayank Kumar
Cc: netfilter@xxxxxxxxxxxxxxxxxxx
Subject: Re: injecting new packets into the netfilter






Hi,

  Try libnet for injecting new packets, you can use raw packets(u inject
from userland), libnet provides you with a better interface, but you wld
need root permission to use raw sockets. you can get libnet library from
packetfactory.net

HTH
Amit




"Mayank Kumar"
<mayank_kumar@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>@lists.netfilter.org on
06/29/2004 10:17:16 AM

Sent by:    netfilter-admin@xxxxxxxxxxxxxxxxxxx


To:    <netfilter@xxxxxxxxxxxxxxxxxxx>
cc:

Subject:    injecting new packets into the netfilter


Hi all,
I want to know how can we inject absolutely new packets at
various hook points in netfilter. I have already seen
some questions posted on this earlier too but no replies
as such. I am very eager to know about this because using
this we can construct some really cool stuff. Currently we
are undergoing a project on this and it would be of greate
help if somebody can find a solution to this.

Thanks in advance for any help on this.
regds
Mayank











[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux