Para esto he encontrado varias librerías interesantes, una de ellas es JPCap y no es la única, pero tampoco estoy seguro si puede hacer todas las cosas que pides, un inicio sería un sniffer, y por esta web hay un sourcecode muy weno, todo java. Si buscas encuentras!
https://www.youtube.com/watch?v=fAiEvPYUNZ4
Un saludooooo!
https://www.youtube.com/watch?v=fAiEvPYUNZ4
Un saludooooo!