1
0
Fork 0
mirror of git://git.netfilter.org/libnetfilter_conntrack synced 2025-12-05 23:07:22 +00:00
No description
Find a file
Florian Westphal 7e416f3c62 src: add support for CTA_TIMESTAMP_EVENT
Allow libnetfilter_conntrack to parse CTA_TIMESTAMP_EVENT attribute.
This will be included for all ctnetlink events if the kernel has commit

    netfilter: conntrack: add conntrack event timestamp

and net.netfilter.nf_conntrack_timestamp sysctl is set to 1.

Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Pablo Neira Ayuso <pablo@netfilter.org>
2025-02-07 13:13:30 +01:00
examples examples: check return value of nfct_nlmsg_build() 2021-01-03 20:03:54 +01:00
include src: add support for CTA_TIMESTAMP_EVENT 2025-02-07 13:13:30 +01:00
m4 build: add libtool m4 support 2010-09-04 13:25:32 +02:00
src src: add support for CTA_TIMESTAMP_EVENT 2025-02-07 13:13:30 +01:00
tests tests: Add simple tests to TESTS variable 2022-02-08 11:00:29 +01:00
utils conntrack: support flush filtering 2024-01-24 22:22:10 +01:00
.gitignore Ignore configure~ 2023-09-14 14:31:28 +02:00
autogen.sh build: use sh -e, remove autom4te.cache 2010-10-30 23:31:15 +02:00
configure.ac libnetfilter_conntrack: bump version to 1.1.0 2024-09-25 12:15:49 +02:00
COPYING add gpl 2005-07-30 21:18:53 +00:00
doxygen.cfg.in doc: minor improvements for doxygen config file 2010-09-08 11:49:07 +02:00
libnetfilter_conntrack.pc.in libnetfilter_conntrack.pc.in: add LIBMNL_LIBS to Libs.Private 2020-04-14 23:24:01 +02:00
Make_global.am libnetfilter_conntrack: bump version to 1.0.9 2022-02-14 11:17:18 +01:00
Makefile.am Rename 'qa' directory to 'tests' 2019-03-11 13:34:51 +01:00
README src: clarify licensing terms of library (GPLv2+) 2011-12-30 00:49:35 +01:00

libnetfilter_conntrack - userspace library for the connection tracking system
(C) 2005-2011 Pablo Neira Ayuso <pablo@netfilter.org>
=============================================================================

= Connection Tracking System =

The connection tracking system is a in-kernel subsystem that stores information
about the state of a connection in a memory structure that contains the source
and destination IP addresses, port number pairs, protocol types, state, and 
timeout. With this extra information, we can define more intelligent filtering
policies. 

Moreover, there are some application protocols, such as FTP, TFTP, IRC, PPTP 
that have aspects that are hard to track for a firewall that follows the 
traditional static filtering approach. The connection tracking system defines 
a mechanism to track such aspects.

The connection tracking system does not alter the packets themselves; the 
default behavior always lets the packets continue their travel through the
network stack, although there are a couple of very specific exceptions where 
packets can be dropped (e.g., under memory exhaustion). So keep in mind that 
the connection tracking system just tracks packets; it does not filter.

For further information on the connection tracking system, please see the
reference section at the bottom of this document.

= What is libnetfilter_conntrack? =

libnetfilter_conntrack is an userspace library that provides an interface to 
the in-kernel connection tracking system.

= License =

libnetfilter_conntrack is released under GPLv2 or any later at your option.

= Prerequirements for libnetfilter_conntrack =

Linux kernel version >= 2.6.18 (http://www.kernel.org) and enable support for:

 * connection tracking system (quite obvious ;)
 * nfnetlink
 * ctnetlink (ip_conntrack_netlink)
 * connection tracking event notification API 

= Documentation =

You can generate the doxygen-based documentation by invoking:
	$ doxygen doxygen.cfg

= Examples =

You can find a set of handy examples on the use of libnetfilter_conntrack 
under the directory utils/ distributed with this library. You can compile them
by invoking:
	$ make check

= Heads Up =

libnetfilter_conntrack used to provided two different APIs: The old one had
several limitations, for that reason, it was deprecated time ago. The existing
library only provides the new API that solves former deficiencies. Thus, make
sure you use recent versions of libnetfilter_conntrack and, in case that
you are using the old API, consider porting your application to the new one.

Since libnetfilter_conntrack >= 0.9.1, you can use the same handler obtained
via nfct_open() to register conntrack and expectation callbacks (before this
version, this was not possible).

= References =

[1] Pablo Neira Ayuso. Netfilter's Connection Tracking System:
    http://people.netfilter.org/pablo/docs/login.pdf