|
SourceForge Jpcap | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sourceforge.jpcap.net.Packet
net.sourceforge.jpcap.net.EthernetPacket
net.sourceforge.jpcap.net.IP.Packet
net.sourceforge.jpcap.net.IPv4.Packet
net.sourceforge.jpcap.net.IPPacket
net.sourceforge.jpcap.net.UDPPacket
public class UDPPacket
A UDP packet.
Extends an IP packet, adding a UDP header and UDP data payload. Please use IPv4.UDP.Packet for new code.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class net.sourceforge.jpcap.net.IPPacket |
---|
IPPacket.TestProbe |
Field Summary |
---|
Fields inherited from class net.sourceforge.jpcap.net.IP.Packet |
---|
_ipHeaderLength, _ipOffset |
Fields inherited from class net.sourceforge.jpcap.net.EthernetPacket |
---|
_byteBuffer, _bytes, _ethOffset, _timeval |
Fields inherited from interface net.sourceforge.jpcap.net.UDPFields |
---|
UDP_CSUM_LEN, UDP_CSUM_POS, UDP_DP_POS, UDP_HEADER_LEN, UDP_LEN_LEN, UDP_LEN_POS, UDP_PORT_LEN, UDP_SP_POS |
Fields inherited from interface net.sourceforge.jpcap.net.IPFields |
---|
IP_CODE_LEN, IP_CODE_POS, IP_CSUM_LEN, IP_CSUM_POS, IP_DST_POS, IP_FRAG_LEN, IP_FRAG_POS, IP_HEADER_LEN, IP_ID_LEN, IP_ID_POS, IP_LEN_LEN, IP_LEN_POS, IP_SRC_POS, IP_TOS_LEN, IP_TOS_POS, IP_TTL_LEN, IP_TTL_POS, IP_VER_LEN, IP_VER_POS |
Fields inherited from interface net.sourceforge.jpcap.net.EthernetFields |
---|
ETH_CODE_LEN, ETH_CODE_POS, ETH_DST_POS, ETH_HEADER_LEN, ETH_SRC_POS |
Constructor Summary | |
---|---|
UDPPacket(int lLen,
byte[] bytes)
Create a new UDP packet. |
|
UDPPacket(int lLen,
byte[] bytes,
Timeval tv)
Create a new UDP packet. |
|
UDPPacket(int lLen,
ByteBuffer bb,
Timeval tv)
|
Method Summary | |
---|---|
int |
getChecksum()
Return the actual packet checksum as received. Derived classes override this to return the most specific checksum, e.g.:
Packet.getChecksum() returns zero. |
String |
getColor()
Fetch ASCII escape sequence of the color associated with this packet type. |
byte[] |
getData()
Fetch the data portion of the packet. This is overridden in derived classes to return successively smaller and smaller amounts of data. For example:
|
int |
getDestinationPort()
Fetches the destination port number. |
byte[] |
getHeader()
Fetch header portion of the packet. This is overridden in derived classes to return the header appropriate to the packet class. For example:
|
int |
getLength()
Fetch the IP payload length in bytes. |
int |
getSourcePort()
Fetch the source port number. |
int |
getUDPChecksum()
Fetch the UDP checksum. |
byte[] |
getUDPData()
Fetch the UDP data as a byte array. |
byte[] |
getUDPHeader()
Fetch the UDP header as a byte array. |
boolean |
isValidChecksum()
Return true iff all the checksums in the packet are valid, otherwise false. Derived classes with checksums should override, and should call super.isValidChecksum()
to check the validity of base class checksums.
The Packet.isValidChecksum() implementation just returns true. |
boolean |
isValidUDPChecksum()
Return true iff the UDP checksum is valid. |
void |
setChecksums()
Set all the checksums in this packet prior to sending. Calling this method sets all the IP, ICMP, IGMP, TCP, UDP etc checksums as appropriate. It is called automatically by PacketOutputStream.writePacket(Packet) .
Derived classes must override this abstract method, and must call super.setChecksums() ,
after setting their own checksums
(unless super.setChecksums() is abstract, i.e. this method).
Otherwise the lower-level checksums will not be correct.
After calling this method the |
String |
toColoredString(boolean colored)
Generate string with contents describing this packet. |
Methods inherited from class net.sourceforge.jpcap.net.IPPacket |
---|
getDestinationAddress, getDestinationAddressAsLong, getDestinationAddressBytes, getIpHeaderLength, getSourceAddress, getSourceAddressAsLong, getSourceAddressBytes, onesCompSum |
Methods inherited from class net.sourceforge.jpcap.net.IPv4.Packet |
---|
computeReceiverChecksum, computeReceiverIPChecksum, computeSenderChecksum, computeSenderIPChecksum, getDestinationInetAddress, getFragmentFlags, getFragmentOffset, getId, getIPChecksum, getIPData, getIPHeader, getIPHeaderLength, getIPProtocol, getProtocol, getSourceInetAddress, getTimeToLive, getTypeOfService, getVersion, isValidIPChecksum, setDestinationInetAddress, setSourceInetAddress, toColoredVerboseString |
Methods inherited from class net.sourceforge.jpcap.net.IP.Packet |
---|
getHeaderLength |
Methods inherited from class net.sourceforge.jpcap.net.EthernetPacket |
---|
equals, getDestinationHwAddress, getDestinationMACAddress, getEthernetCRC32, getEthernetData, getEthernetHeader, getEthernetHeaderLength, getEthernetProtocol, getPacketData, getPacketLength, getSourceHwAddress, getSourceMACAddress, getTimeval, hashCode, setDestinationMACAddress, setEthernetProtocol, setSourceMACAddress, toByteArray, toString |
Methods inherited from class net.sourceforge.jpcap.net.Packet |
---|
ipChecksum |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public UDPPacket(int lLen, byte[] bytes)
lLen
- link-layer header lengthbytes
- Packet datapublic UDPPacket(int lLen, byte[] bytes, Timeval tv)
lLen
- link-layer header lengthbytes
- Packet datatv
- Timestamppublic UDPPacket(int lLen, ByteBuffer bb, Timeval tv)
Method Detail |
---|
public int getSourcePort()
IP.UDP
getSourcePort
in interface IP.UDP
public int getDestinationPort()
IP.UDP
getDestinationPort
in interface IP.UDP
public int getLength()
Fetch the total length of the UDP packet, including header and data payload, in bytes.
getLength
in class IPv4.Packet
public int getUDPChecksum()
IP.UDP
getUDPChecksum
in interface IP.UDP
public int getChecksum()
IPv4.Packet.getChecksum()
returns the IP checksum
TCPPacket.getChecksum()
returns the TCP checksum
Packet.getChecksum()
returns zero.
getChecksum
in class IPv4.Packet
public byte[] getUDPHeader()
IP.UDP
getUDPHeader
in interface IP.UDP
public byte[] getHeader()
EthernetPacket.getHeader()
returns the Ethernet header
IP.Packet.getHeader()
returns the IP header, which is in the Ethernet payload
TCPPacket.getHeader()
returns the TCP header, which is in the IP payload
getHeader
in class IP.Packet
public byte[] getUDPData()
IP.UDP
getUDPData
in interface IP.UDP
public byte[] getData()
EthernetPacket.getData()
returns the entire Ethernet payload excluding the Ethernet header
IP.Packet.getData()
only returns the IP payload, i.e. excluding the IP header which is in the Ethernet payload
TCPPacket.getData()
only returns the TCP payload, i.e. excluding the TCP header which is in the IP payload
getData
in class IP.Packet
public boolean isValidChecksum()
super.isValidChecksum()
to check the validity of base class checksums.
The Packet.isValidChecksum()
implementation just returns true.
isValidChecksum
in class IPv4.Packet
public boolean isValidUDPChecksum()
IP.UDP
isValidUDPChecksum
in interface IP.UDP
public void setChecksums()
PacketOutputStream.writePacket(Packet)
.
Derived classes must override this abstract method, and must call super.setChecksums()
,
after setting their own checksums
(unless super.setChecksums() is abstract, i.e. this method).
Otherwise the lower-level checksums will not be correct.
After calling this method the EthernetPacket.hashCode()
of this object will probably change.
setChecksums
in class IPv4.Packet
public String toColoredString(boolean colored)
toColoredString
in class IP.Packet
colored
- whether or not the string should contain ansi
color escape sequences.public String getColor()
getColor
in class IP.Packet
|
Copyright © Patrick Charles & Jonas Lehmann, 2001; Esmond Pitt, 2008. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |