Virtual Services IPQ

About VServ IPQ

Penguin icon Virtual Services IPQ, or VServ IPQ for short, is a Java library that wraps the Linux netfilter/iptables libipq library ( It allows you to intercept packets that pass through Linux iptables chains from Java code. You can mangle the packets and reinject them into the iptables chains.


VServ IPQ had to be released under the GPL because libipq is a GPL'ed library.


Current Release
VersionSourceBinariesLicenseChangesAPI Documentation
0.6.5vserv-ipq-0.6.5-src.tar.gzvserv-ipq-0.6.5-bin.tar.gzLICENSECHANGESVServ IPQ 0.6.5 API

The Netfilter class was renamed to IPQHandle between releases 0.6.2 and 0.6.3. VServ TCP/IP is required to compile the PacketMonitor example.

Also, on x86_64 and architectures other than 32-bit x86, your libipq.a must be compiled with -fPIC so that can link with it properly. This is not a problem on 32-bit x86 architectures, but on x86_64, linking against a non-PIC libipq.a will fail. Note that libipq.a is not built with -fPIC by default, requiring you to rebuild the library either by patching the source RPM or other package from your Linux distribution or by compiling the iptables source yourself with:

make COPT_FLAGS= "-fPIC -O2"

Previous Releases

Additional Resources

Java Pro November/December 2004Intercepting Packets on Linux with Java
netfilter/iptables projectnetfilter firewalling, NAT and packet mangling for Linux 2.4