Implement custom network protocol for local processes

Vasiliy Kulikov segooon at
Tue Jan 18 04:30:40 EST 2011


On Mon, Jan 17, 2011 at 23:24 +0200, Kfir Lavi wrote:
> Hi,
> How can one implement custom header network protocol.
> I mean header that wraps regular network packets like ethernet, udp, tcp,
> etc...
> The sending of this custom packets is done between processes running
> locally.
> ie. I get a Ethernet packet, inspect it, then add my custom header and
> forward
> it to another process that listens to a socket, and expect to get data
> wrapped with
> this custom header.

You might want to use datagram-oriented UNIX socket to communicate with
client processes.

Also you have to understand what do you want - getting UDP packets on
specific port doesn't require anything special, just bind()'ing to this
port.  But you can get TCP segments only with SOCK_RAW socket.



More information about the Kernelnewbies mailing list