As far as I know l7-filter provides also an userspace solution for this.
Marek Mahut
https://fedoraproject.org/wiki/SIGs/Astronomy/
from
http://l7-filter.sourceforge.net/HOWTO-userspace
For Linux 2.6.20 and newer, Netfilter has new "Layer 3 Independent
Connection tracking" which l7-filter is not yet compatible with (mostly due
to lack of library support from libnetfilter_conntrack). While the old
layer 3 dependent connection tracking is still available, it is not
selected by default, so you **will probably need to recompile your kernel**
with it.
EOQ
why it can't be made as a kmod ?