Howdy! Well, capturing packets going thru the system is called packet/network sniffing. What happens is that you need to directly access the network buffer and read the packets before the network card rejects the packet based on the destination mismatch. This is possible thru C/C++, but I wonder if any *Java* code will do that for you. Try and locate an c/c++ library that does it and write a c wrapper to the library. Then write a JNI wrapper to the *c-wrapper* and use java to do the needful for you. As for searching for the library, my guess it that there must be some available, free for Linux. Cheers Lupo