Subject: GSoC Idea - Ability to extend a XML output for the conntrack netlink interface

From: Андрей Григорьев<[email-masked]>
Date: Thu, 08 Apr 2010 04:23:21 +0600

Hello!

My name is Andrey Grigorev, or just Andrew, and I am a 5th year
student of Computer Science in Chelyabinsk State University, Russia.

In summary, my idea is to explore and implement a method for adding to
the XML output of netlink interface of conntrack an additional
information about connections. This can be useful, for example, to get
a list of popular web resources (by grabbing the Host header from HTTP
requests), without using a proxy server. Of course, I understand that
for this particular purpose, a usual proxy server is better solution,
than a kernel-based one :-).

But just imagine - the kernel and user services can transparently
receive information from many protocols, without the use of any gears
similar to the proxy server. With that modules it is possible to
maintain statistics on a completely different user accounts. You can
get expected volume of traffic for the connection and take it into
account in the packets queue scheduler or make routing decision based
on it. Keep a record of IP telephony and similar services without the
use of AAA server and without the need for client authentication.

Of course, not every protocol can be parsed in such way, many
protocols using compression and encryption. But in most cases, even
for transferring files and media content we will have its profit.

Perhaps such a mechanism is devised, and even implemented? I am
interested to know what the developers of kernel networking, think
about this project. I would be very glad if someone agreed to be a
mentor. In fact, there are a GSoC ideas more crazy than mine... :-)

So, what exactly I would like to make in the GSoC project:

1. Explore, document and implement a method for adding to the XML
output of netlink interface of conntrack an additional information
about connections.

2. Implement the conntrack module for the HTTP protocol, which yields
Host and Content-Length headers and URI path for HTTP connections
tracked in conntrack.

3. Аdd an ability to output similar information for protocols with
existing NAT helper modules:
- - ftp, user name and size of files transferred accross the connection
- - h323 and sip, user name and information about codecs

Sincerely, Andrew Grigorev.