Re: [Programming] kernel level grab packet

From: Shin (gelidmite_at_yahoo.com)
Date: 01/29/04


Date: 29 Jan 2004 15:02:33 GMT

Well, I might misuse the word 'guard' before.
I am trying to make it clear here.
 
What I want is to implement a program underlying the existing
internet services/applications such as ftp, www, or even higher
level software. Before going to the higher level, packets will
be caught by the program, named P here, and then go where they
should go. Likewise, before going to the physical level, packets
will be caught by P. Then go to the internet.
 
P may do some things on packets, like hashing the contents,
delaying (not dropping) for a while, and etc. Besides, the
one funtionality I need in P is that P can change packet's
destination without higher level application's notice.
 
For example, suppose there are two (or more) any kind of servers,
and one client application C. C only knows one of them, but P
knows all. Under some circumstances, I may hope C's packets go to
the server which C doesn't know. Now, it's time P to work.
I may even add some condtions in P so that P can pick up a server to
connect to automatically.
Combining all the functionalities I mentioned above, I guess kernel
level can meet my need without losing flexibility, since I may
add more functions on P in future.
 
However, I need your help to start in kernel programming for this
program..
Any good online example/tutorial/document?
 
Thanks
Shin

In article <slrnc1ge9l.1aq.gelidmite@localhost.localdomain>, Shin wrote:
> Hi,
> I don't know if I used a good subject because I am not
> familiar with linux kernel programming. I heard it may
> meet my need from someone.
>
> I want to write a program which can filter (or just check)
> internet packets before other applications. It is like
> a guard which collects all internet traffic, even belonging
> to other application, and then pass the packet to where it is
> supposed to go (might be other high level application).
>
> The main point is that these high level applications won't
> notice the guard's existence. I heard programming in kernel
> level can achieve this. After searching the internet, I found
> some materials, but they are not specific enough for my requirement.
>
> I have "Linux Device Drivers, 2nd Edition By Alessandro Rubini &
> Jonathan Corbet". Still reading it. So far, didn't find things
> about what I mentioned above.
>
> Anyone knows good documents/toturial/material for me?
>
> Thanks
>



Relevant Pages

  • Re: [Programming] kernel level grab packet
    ... I might misuse the word 'guard' before. ... Likewise, before going to the physical level, packets ... Then go to the internet. ... I need your help to start in kernel programming. ...
    (comp.os.linux.misc)
  • Re: Linux als Router
    ... # Enter all trusted network interfaces here. ... # which should be available to the internet and set FW_ROUTE to yes. ... space separated list of ports, ... # Packets to silently reject without log message. ...
    (de.comp.os.unix.linux.misc)
  • Re: Routing and Remote Access NAT - I need to modify TTL
    ... with two interfaces: PUBLIC (internet) and PRIVATE ... use it as a gateway, they can access hosts on the PUBLIC interface, TTL is ... but the replay that comes back to the NAT ... They relay on the fact that client computers accept packets with TTL=0, ...
    (microsoft.public.windows.server.networking)
  • Re: Routing and Remote Access NAT - I need to modify TTL
    ... with two interfaces: PUBLIC (internet) and PRIVATE ... use it as a gateway, they can access hosts on the PUBLIC interface, TTL is ... but the replay that comes back to the NAT ... They relay on the fact that client computers accept packets with TTL=0, ...
    (microsoft.public.windows.server.networking)
  • Re: Ethernet issue: works one way but not another
    ... packets transmitted, 5 packets received, 0% packet loss ... (This is when connected directly to internet through ... FBSD, I have been working with BSDI at the isp I work for for the last ... As for my network topology, I have an internal network that goes ...
    (freebsd-questions)