Hello, I have been learning java over the past few months, and do not know much about network programming; however I want to build a packet sniffer. I understand that the only way java can function as a packet sniffer is as a proxy because java cannot use raw sockets. I want it to be able to read raw packets, and filter them before sending them to the client, or even send them back to the server based on my defined rule set. The protocol is not HTTP. I want to build something similar in functionality to Winsock Packet Editor, although obviously not by the same method as WPE is not a proxy server. My question is if this project would be doable in java, and what librarys would be useful for this project. I have glanced over jpcap.
posted 8 years ago
Welcome to JavaRanch.
It's not possible without using some native code through JNI (like jpcap does), because the Java API does not have access to low-level TCP/IP functionality.