Package jpcap.packet
Class IPPacket
- java.lang.Object
-
- jpcap.packet.Packet
-
- jpcap.packet.IPPacket
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
ICMPPacket
,TCPPacket
,UDPPacket
public class IPPacket extends Packet
This class represents an IP packet.Both IPv4 and IPv6 are supported.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description boolean
d_flag
IP flag bit: [D]elay (v4)boolean
dont_frag
Don't fragment flag (v4)java.net.InetAddress
dst_ip
Destination IP addressint
flow_label
Flow label (v6)short
hop_limit
Hop Limit, Time To Live (TTL) (v4/v6)int
ident
IDENTIFICATION (v4)static short
IPPROTO_HOPOPT
Protocol number for IPv6 hop-by-hop optionstatic short
IPPROTO_ICMP
Protocol number for ICMPstatic short
IPPROTO_IGMP
Protocol number for IGMPstatic short
IPPROTO_IP
Protocol number for IP in IPstatic short
IPPROTO_IPv6
Protocol number for IPv6static short
IPPROTO_IPv6_Frag
Protocol number for fragment header for IPv6static short
IPPROTO_IPv6_ICMP
Protocol number for IPv6 ICMPstatic short
IPPROTO_IPv6_NoNxt
Protocol number for no next header header for IPv6static short
IPPROTO_IPv6_Opts
Protocol number for destination option for IPv6static short
IPPROTO_IPv6_Route
Protocol number for routing header for IPv6static short
IPPROTO_TCP
Protocol number for TCPstatic short
IPPROTO_UDP
Protocol number for UDPshort
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.List
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)java.net.InetAddress
src_ip
Source IP addressboolean
t_flag
IP flag bit: [T]hrough (v4)byte
version
IP version (v4/v6)
-
Constructor Summary
Constructors Constructor Description IPPacket()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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, java.net.InetAddress src, java.net.InetAddress dst)
Sets the IPv4 parametersvoid
setIPv6Parameter(int cls, int flowlabel, int nxt_hdr, int hop_limit, java.net.InetAddress src, java.net.InetAddress dst)
Sets the IPv6 parametersjava.lang.String
toString()
Returns a string represenation of this packet.
-
-
-
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)
-
IPPROTO_ICMP
public static final short IPPROTO_ICMP
Protocol number for ICMP- See Also:
- Constant Field Values
-
IPPROTO_IGMP
public static final short IPPROTO_IGMP
Protocol number for IGMP- See Also:
- Constant Field Values
-
IPPROTO_IP
public static final short IPPROTO_IP
Protocol number for IP in IP- See Also:
- Constant Field Values
-
IPPROTO_TCP
public static final short IPPROTO_TCP
Protocol number for TCP- See Also:
- Constant Field Values
-
IPPROTO_UDP
public static final short IPPROTO_UDP
Protocol number for UDP- See Also:
- Constant Field Values
-
IPPROTO_IPv6
public static final short IPPROTO_IPv6
Protocol number for IPv6- See Also:
- Constant Field Values
-
IPPROTO_HOPOPT
public static final short IPPROTO_HOPOPT
Protocol number for IPv6 hop-by-hop option- See Also:
- Constant Field Values
-
IPPROTO_IPv6_Route
public static final short IPPROTO_IPv6_Route
Protocol number for routing header for IPv6- See Also:
- Constant Field Values
-
IPPROTO_IPv6_Frag
public static final short IPPROTO_IPv6_Frag
Protocol number for fragment header for IPv6- See Also:
- Constant Field Values
-
IPPROTO_IPv6_ICMP
public static final short IPPROTO_IPv6_ICMP
Protocol number for IPv6 ICMP- See Also:
- Constant Field Values
-
IPPROTO_IPv6_NoNxt
public static final short IPPROTO_IPv6_NoNxt
Protocol number for no next header header for IPv6- See Also:
- Constant Field Values
-
IPPROTO_IPv6_Opts
public static final short IPPROTO_IPv6_Opts
Protocol number for destination option for IPv6- See Also:
- Constant Field Values
-
ident
public int ident
IDENTIFICATION (v4)
-
flow_label
public int flow_label
Flow label (v6)
-
src_ip
public java.net.InetAddress src_ip
Source IP address
-
dst_ip
public java.net.InetAddress dst_ip
Destination IP address
-
option
public byte[] option
Option in IPv4 header (v4)
-
options
public java.util.List options
Option headers in IPv6Option (v6)
-
-
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, java.net.InetAddress src, java.net.InetAddress dst)
Sets the IPv4 parameters- Parameters:
d_flag
- IP flag bit: [D]elayt_flag
- IP flag bit: [T]hroughr_flag
- IP flag bit: [R]eliabilityrsv_tos
- Type of Service (TOS)priority
- Priorityrsv_frag
- Fragmentation Reservation flagdont_frag
- Don't fragment flagmore_frag
- More fragment flagoffset
- Offsetident
- Identifierttl
- Time To Liveprotocol
- Protocol
This value is ignored when this packets inherits a higher layer protocol(e.g. TCPPacket)src
- Source IP addressdst
- Destination IP address
-
setIPv6Parameter
public void setIPv6Parameter(int cls, int flowlabel, int nxt_hdr, int hop_limit, java.net.InetAddress src, java.net.InetAddress dst)
Sets the IPv6 parameters- Parameters:
cls
- classflowlabel
- flow labelnxt_hdr
- next headerhop_limit
- hop limitsrc
- source addressdst
- 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)
-
-