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 and IPv6 are supported.


Field Summary
 boolean d_flag
          IP flag bit: [D]elay (v4)
 boolean dont_frag
          Don't fragment flag (v4)
 IPAddress dst_ip
          Destination IP address
 int flow_label
          Flow label (v6)
 short hop_limit
          Hop Limit, Time To Live (TTL) (v4/v6)
 int ident
          IDENTIFICATION (v4)
 short length
          Packet length (v4/v6)
 boolean more_frag
          More fragment flag (v4)
 short offset
          Fragment offset (v4)
 byte[] option
          Option in IPv4 header (v4)
 java.util.Vector options
          Option headers in IPv6Option (v6)
 byte priority
          Priority (class) (v4/v6)
 short protocol
          Protocol (v4/v6)
 boolean r_flag
          IP flag bit: [R]eliability (v4)
 boolean rsv_frag
          Fragmentation reservation flag (v4)
 byte rsv_tos
          Type of Service (TOS) (v4/v6)
 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, header, len, sec, usec
 
Constructor Summary
IPPacket()
           
 
Method Summary
 void setIPv4Parameter(int priority, boolean d_flag, boolean t_flag, boolean r_flag, int rsv_tos, boolean rsv_frag, boolean dont_frag, boolean more_frag, int offset, int ident, int ttl, int protocol, IPAddress src, IPAddress dst)
          Sets the IPv4 parameters
 void setIPv6Parameter(int cls, int flowlabel, int nxt_hdr, int hop_limit, IPAddress src, IPAddress dst)
          Sets the IPv6 parameters
 java.lang.String toString()
          Returns a string represenation of this packet.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

version

public byte version
IP version (v4/v6)


priority

public byte priority
Priority (class) (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)


rsv_tos

public byte rsv_tos
Type of Service (TOS) (v4/v6)


length

public short length
Packet length (v4/v6)


rsv_frag

public boolean rsv_frag
Fragmentation reservation 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 (TTL) (v4/v6)


protocol

public short protocol
Protocol (v4/v6)


ident

public int 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
Destination IP address


option

public byte[] option
Option in IPv4 header (v4)


options

public java.util.Vector options
Option headers in IPv6Option (v6)

Constructor Detail

IPPacket

public IPPacket()
Method Detail

setIPv4Parameter

public void setIPv4Parameter(int priority,
                             boolean d_flag,
                             boolean t_flag,
                             boolean r_flag,
                             int rsv_tos,
                             boolean rsv_frag,
                             boolean dont_frag,
                             boolean more_frag,
                             int offset,
                             int ident,
                             int ttl,
                             int protocol,
                             IPAddress src,
                             IPAddress dst)
Sets the IPv4 parameters

Parameters:
d_flag - IP flag bit: [D]elay
t_flag - IP flag bit: [T]hrough
r_flag - IP flag bit: [R]eliability
rsv_tos - Type of Service (TOS)
priority - Priority
rsv_frag - Fragmentation Reservation flag
dont_frag - Don't fragment flag
more_frag - More fragment flag
offset - Offset
ident - Identifier
ttl - Time To Live
protocol - Protocol
This value is ignored when this packets inherits a higher layer protocol(e.g. TCPPacket)
src - Source IP address
dst - Destination IP address

setIPv6Parameter

public void setIPv6Parameter(int cls,
                             int flowlabel,
                             int nxt_hdr,
                             int hop_limit,
                             IPAddress src,
                             IPAddress dst)
Sets the IPv6 parameters

Parameters:
cls - class
flowlabel - flow label
nxt_hdr - next header
hop_limit - hop limit
src - source address
dst - destination address

toString

public java.lang.String toString()
Returns a string represenation of this packet.

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

Format(IPv6): src_ip->dst_ip protocol(protocol) priority(priority) flowlabel(flow_label) hop(hop_limit)

Overrides:
toString in class Packet
Returns:
a string represenation of this packet