In the first blog of this series, we will focus on the concept of packet interception in user space and later on we will also look into use cases pertaining to this concept.
Such a user space agent can be developed using C (Python also has a similar set of libraries.) on a linux based OS.
Following external libraries would be required:
* libnfnetlink: A low level library for kernel/userspace communication
* libnetfilter_queue: A userspace library providing an API for packets queued by kernel
* libmnl: Internally used by libnetfilter_queue
Additionally, a command line utility called IPTABLES is also needed in order to install rules. Continue reading