jNetPcap 1.X

jNetPcap 1.X module: libpcap and packet decoder

Working on maintenance release

I am working on a maintenance release, one is overdue. I am incorporating all of the reported bugs.

jNetPcap OS 1.4.r1425 released!

Released an update to 1.4 development. The release fixes several new bugs and is a bit more stable.

For more information look at the changelog and is available for download here.

jNetPcap 1.4.r1390 released!

Released an update to 1.4 development. The release fixes several new bugs and is a bit more stable then previous 1.3.r1380.

For more information look at the changelog and is available for download here.

1.4 Javadocs and SCTP protocol

The online javadocs for 1.4 have been updated to 1.4.r1380. Use the pull down from the "Documentation" menu or use the direct link below:

jNetPcap 1.4: javadocs

Sigtran SCTP Protocol: javadocs

jNetPcap 1.4 is a development release, so please use and test out the SIP, SCTP protocol changes. Once the changes and new features are confirmed and tested, I will update 1.3 with bug fixes and put 1.4 and release "beta" version of 1.4 on our way to production status.

5.5.1 - Binding to Sctp header

The Sctp header was introduced in version 1.4 (1.4.r1370 to be specific). The protocol header uses a slightly different method for breaking down Sctp data. Sctp protocol is made up of a fixed-length header followed by 1 or more "Chunks". Most of the chunks are control information carriers about the Sctp connection itself with the esception of "data-chunk".

The jNetPcap breaks down the Scp packets in the following ways. The fixed-length Sctp header followed by one or more Sctp-Chunk headers. The important thing to note is that these are not "sub-headers" but top-level headers.

Here is an example of a Sctp packet. The output is acquired using the following command on a Sctp packet: System.out.println(packet.getState().toDebugString()) which will printout the state information about the packet and all its headers:

JPacket.State#029   : [         Protocol(ID/Flag) | Start | Prefix | Header | Gap | Payload | Postfix ]
JPacket.State#029[0]: [         ETHERNET( 1/0800) |     0 |      0 |     14 |   0 |     356 |       0 ]
JPacket.State#029[1]: [              IP4( 2/0800) |    14 |      0 |     20 |   0 |     336 |       0 ]
JPacket.State#029[2]: [             SCTP(32/0800) |    34 |      0 |     12 |   0 |     324 |       0 ]
JPacket.State#029[3]: [             DATA(33/0800) |    46 |      0 |     16 |   0 |     308 |       0 ]
JPacket.State#029[4]: [             HTTP(13/0800) |    62 |      0 |    305 |   0 |       3 |       0 ]
JPacket.State#029[5]: [        WEB_IMAGE(15/0800) |   367 |      0 |      3 |   0 |       0 |       0 ]

Please notice that SCTP and DATA (Sctp chunk DATA) are separate top-level headers. Http header is bound to the "DATA" Header but in a special way. It had to go back 1 more header in the header-state stack to check the port numbers and verify that Sctp port number 80 was used. If that condition is met then the Binding object or method can return true and it will be placed after the "DATA" header.

Syndicate content