Welcome to Sly Technologies main repo.
Here you will find the following libraries that you can use to build your specialized networking apps and do it all in your favorite Java environment. Our libraries use either Apache v2 or Sly Techs Free License, meaning there is no cost to you for using our software under the terms of the licenses!
Feature highlights with what you can do.
- Capture and transmit network packets (jNetWorks SDK, jNetPcap Wrapper, jNetPcap SDK)
- Dissect captured packets and use high level API to access headers and data (jNetWorks SDK, jNetPcap SDK)
- IP fragmentation reassembly and tracking (jNetWorks SDK, jNetPcap SDK)
- TCP/UDP/SCTP/QUIC stream reassembly (jNetWorks SDK)
- HTTP dechunking and decompression (jNetWorks SDK)
- TLS decryption (jNetWorks SDK)
- Multi-adapter, multi-port and multi-CPU processing and distribution (jNetWorks SDK
- and much more...
Our libraries support both libpcap and Napatech SmartNIC hardware accelerators for high speed network caputure.
To get started you need to select the main API you wish to use. We offer 2 different APIs depending on your needs. Which ever API you choose the Protocol Packs which offer protocol specific APIs such as protocol headers, packet dissection, data reassembly, tracking and analysis, need to be included in addition to that main API modules (ie. jNetPcap SDK or jNetWorks SDK.)
Both of the APIs listed below use the same Protocol Packs and at least one of the main APIs needs to be chosen. The Protocol Packs do not function on their own. To get protocol level support the protocol-pack-sdk module is required at minimum.
jNetPcap SDK provides a simple, single threaded API very similar to the way that native libpcap API works, with some extensions for enabling IPF reassembly and support for protocol services (MAC OUI table lookups, IP address resolution, hexdumps, etc..)
Here is the shortest, fully functional pcap program you can write to read packets from a capture file:
try (var pcap = NetPcap.openOffline(PCAP_FILE)) {
pcap.loop(3, System.out::println);
}
Produces output:
Packet [#1: caplen=54, timestamp=2023-04-13 14:00:19.646005000]
Packet [#2: caplen=92, timestamp=2023-04-13 14:00:19.718989000]
Packet [#3: caplen=395, timestamp=2023-04-13 14:00:20.562253000]
jNetWorks SDK provides a more sophisticated API and significantly higher performance for multi-CPU packet capture with support for hardware acceleration. You can chosee to use a simple libpcap extension or Napatech SmartNIC drivers to hardware accelerate network capture and IPF processing. Perfomance using jNetWorks SDK is suitable for traffic rates upto 100Gbps (1/10/25/40/100Gbps) with SmartNICs. You can configure capture and spread the load of processing the data onto multiple-CPUs in your system, with zero-copy from the NICs to your application thread.
For latest information about future and current software releases, please see the software release wiki page:
If you have any questions, please contact us.
Email: sales@slytechs.com
Phone: 1-315-930-0939 (US NY)
Contact Form: www.slytechs.com - contact form at the bottom of each page