jpcap
Class IPPacket

java.lang.Object
  |
  +--jpcap.Packet
        |
        +--jpcap.IPPacket
Direct Known Subclasses:
ICMPPacket, TCPPacket, UDPPacket

public class IPPacket
extends Packet

This class represents an IP packet.

Both IPv4 or v6 packet can be handled by this class.


Field Summary
 boolean d_flag
          IP flag bit [D]elay (v4)
 boolean dont_frag
          Don't fragment flag (v4)
 IPAddress dst_ip
          Destionation IP address
 int flow_label
          Flow label (v6)
 short hop_limit
          Hop limit (Time To Live) (v4/v6)
 short ident
          IDENTIFICATION (v4)
 short length
          Length of this packet (v4/v6)
 boolean more_frag
          More fragment flag (v4)
 short offset
          Fragment offset (v4)
 java.util.Vector options
          Option headers (v6)
 byte priority
          Priority (or class) of this packet (v4/v6)
 short protocol
          Protocol of higher layer (v4/v6)
 boolean r_flag
          IP flag bit [R]eliability (v4)
 boolean rsv_frag
          Reserved fragmentation flag (v4)
 IPAddress src_ip
          Source IP address
 boolean t_flag
          IP flag bit [T]hrough (v4)
 byte version
          IP version (v4/v6)
 
Fields inherited from class jpcap.Packet
caplen, data, datalink, sec, usec
 
Constructor Summary
IPPacket()
           
 
Method Summary
 void setIPv4Parameter(int priority, boolean d_flag, boolean t_flag, boolean r_flag, boolean rsv_frag, boolean dont_frag, boolean more_frag, int offset, int ident, int ttl, int protocol, IPAddress src, IPAddress dst)
          Sets up the parameters of IPv4
 void setIPv6Parameter(int cls, int flowlabel, int nxt_hdr, int hop_limit, IPAddress src, IPAddress dst)
          Sets up the parameters of IPv6
 java.lang.String toString()
          Converts this object to String

IPv4: src_ip->dst_ip protocol(protocol) priority(priority) [D][T][R] hop(hop_limit) [RF/][DF/][MF] offset(offset) ident(ident)

IPv6: src_ip->dst_ip protocol(protocol) priority(priority) flowlabel(flow_label) hop(hop_limit)
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

version

public byte version
IP version (v4/v6)

priority

public byte priority
Priority (or class) of this packet (v4/v6)

d_flag

public boolean d_flag
IP flag bit [D]elay (v4)

t_flag

public boolean t_flag
IP flag bit [T]hrough (v4)

r_flag

public boolean r_flag
IP flag bit [R]eliability (v4)

length

public short length
Length of this packet (v4/v6)

rsv_frag

public boolean rsv_frag
Reserved fragmentation flag (v4)

dont_frag

public boolean dont_frag
Don't fragment flag (v4)

more_frag

public boolean more_frag
More fragment flag (v4)

offset

public short offset
Fragment offset (v4)

hop_limit

public short hop_limit
Hop limit (Time To Live) (v4/v6)

protocol

public short protocol
Protocol of higher layer (v4/v6)

ident

public short ident
IDENTIFICATION (v4)

flow_label

public int flow_label
Flow label (v6)

src_ip

public IPAddress src_ip
Source IP address

dst_ip

public IPAddress dst_ip
Destionation IP address

options

public java.util.Vector options
Option headers (v6)
Constructor Detail

IPPacket

public IPPacket()
Method Detail

setIPv4Parameter

public void setIPv4Parameter(int priority,
                             boolean d_flag,
                             boolean t_flag,
                             boolean r_flag,
                             boolean rsv_frag,
                             boolean dont_frag,
                             boolean more_frag,
                             int offset,
                             int ident,
                             int ttl,
                             int protocol,
                             IPAddress src,
                             IPAddress dst)
Sets up the parameters of IPv4
Parameters:
priority - Priority
d_flag,t_flag,r_flag - Delay, Through, Realiability flags
rsv_frag - Reserved fragment flag
dont_frag - Don't fragment flag
more_frag - More fragment flag
offset - Fragment offset
ident - Identification
ttl - Time To Live
protocol - Protocol number
src - Source IP address
dst - Destionation IP address

setIPv6Parameter

public void setIPv6Parameter(int cls,
                             int flowlabel,
                             int nxt_hdr,
                             int hop_limit,
                             IPAddress src,
                             IPAddress dst)
Sets up the parameters of IPv6
Parameters:
class - Class
flow_label - Flow label
nxt_hdr - Next header
hop_limit - Hop limit
src - Source IP address
dst - Destionation IP address

toString

public java.lang.String toString()
Converts this object to String

IPv4: src_ip->dst_ip protocol(protocol) priority(priority) [D][T][R] hop(hop_limit) [RF/][DF/][MF] offset(offset) ident(ident)

IPv6: src_ip->dst_ip protocol(protocol) priority(priority) flowlabel(flow_label) hop(hop_limit)
Overrides:
toString in class Packet