About jNetStream
jNetStream is a java development library, commonly referred to as SDK (Standard Development Kit), for building applications that need access to network packets. It provides a solid foundation for applications to be build upon when it comes to networking. Most of the services provided by jNetStream are in the area of "decoding" packet structure from its binary representation. Another major part is management of "capture files".
Easily build protocol sniffers, analyzers, snoopers and network expert systems. jNetStream can take care of all the low level details such as capturing packets from live network, storing those packets in files in any number of supported file formats. Reading packets from files containing captured packets, modify those files in almost any way imaginable. jNetStream provides many protocols as part f the distribution package and is easily extensible. A protocol is made up of java classes that break down the protocol's header structure, offer analyzers which maintain protocol wide state. You can add a new protocol with just a few lines of code in most cases.
And when it comes to speed, jNetStream is not far behind any native C based SDKs. Even though jNetStream is written mostly in Java, it uses technologies that bridge the java/C gap. Most critical areas, especially when dealing with files and packet captures are done in native platform space, that is all machine code. For example, if you don't require full decoding services for packets captured or read out of a file, jNetStream can deliver the raw content to you at about 6,000,000 packets per second on any average machine, for small packets.
Ease of use. For most users if you know how to work with an iterator, then you are all set to go. You don't like iterators? How about working with lists. That's all there is to it.