
In this article, we use Wireshark, a free open source packet analyzer used for troubleshooting network issues. You'll have to monitor the veth-a interface.While we may often tune every component in the JasperReports software stack (database connectivity all the way through application server tuning), we may also need to see whether or not the network can handle the uses that we plan on putting it through. (You can also use the MASQUERADE rule if you prefer)įinally, you can run the process you want to analyze in the new namespace, and wireshark too: ip netns exec test thebinarytotest Ifconfig veth-b up 192.168.163.254 netmask 255.255.255.0Ĭonfigure the routing in the test namespace: ip netns exec test route add default gw 192.168.163.254 dev veth-aĪctivate ip_forward and establish a NAT rule to forward the traffic coming in from the namespace you created (you have to adjust the network interface and SNAT ip address): echo 1 > /proc/sys/net/ipv4/ip_forward

The setup might seem a bit complex, but once you understand it and become familiar with it, it will ease your work so much.Ĭreate a test network namespace: ip netns add testĬreate a pair of virtual network interfaces (veth-a and veth-b): ip link add veth-a type veth peer name veth-bĬhange the active namespace of the veth-a interface: ip link set veth-a netns testĬonfigure the IP addresses of the virtual interfaces: ip netns exec test ifconfig veth-a up 192.168.163.1 netmask 255.255.255.0

If your kernel allows it, capturing the network traffic of a single process is very easily done by running the said process in an isolated network namespace and using wireshark (or other standard networking tools) in the said namespace as well. I know this thread is a bit old but I think this might help some of you:
