Class TcpPacket.TcpHeader
java.lang.Object
org.pcap4j.packet.AbstractPacket.AbstractHeader
org.pcap4j.packet.TcpPacket.TcpHeader
- All Implemented Interfaces:
Serializable, Packet.Header, TransportPacket.TransportHeader
- Enclosing class:
TcpPacket
public static final class TcpPacket.TcpHeader
extends AbstractPacket.AbstractHeader
implements TransportPacket.TransportHeader
- Since:
- pcap4j 0.9.12
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate static final intprivate static final intprivate final intprivate final shortprivate static final intprivate static final intprivate static final intprivate static final intprivate final byteprivate static final intprivate static final intprivate final TcpPortprivate final booleanprivate static final intprivate static final intprivate static final org.slf4j.Loggerprivate static final intprivate final List<TcpPacket.TcpOption> private static final intprivate final byte[]private final booleanprivate final byteprivate final booleanprivate static final intprivate static final intprivate final intprivate static final longprivate static final intprivate static final intprivate final TcpPortprivate final booleanprivate final booleanprivate static final intprivate static final intprivate final shortprivate final shortprivate static final intprivate static final int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateTcpHeader(byte[] rawData, int offset, int length) privateTcpHeader(TcpPacket.Builder builder, byte[] payload) -
Method Summary
Modifier and TypeMethodDescriptionprivate byte[]buildRawData(boolean zeroInsteadOfChecksum) protected StringThis method builds the valuetoString()will return.private shortcalcChecksum(InetAddress srcAddr, InetAddress dstAddr, byte[] header, byte[] payload) protected intThis method builds the valuehashCode()will return using the byte arraygetRawData()returns.protected intThis method calculates the valuelength()will return by adding up the lengths of byte arrays in the listgetRawFields()returns.booleanIndicates whether some other object is "equal to" this one using return values ofgetRawData().booleangetAck()intlongshortbyteintbooleangetFin()byte[]booleangetPsh()protected List<byte[]> Returns a list of byte arrays which represents this header's fields.private List<byte[]> getRawFields(boolean zeroInsteadOfChecksum) bytebooleangetRst()intlongbooleangetSyn()booleangetUrg()shortintshortintprivate intMethods inherited from class AbstractPacket.AbstractHeader
buildHexString, buildRawData, getRawData, hashCode, length, toHexString, toStringMethods inherited from interface Packet.Header
getRawData, length
-
Field Details
-
logger
private static final org.slf4j.Logger logger -
serialVersionUID
private static final long serialVersionUID- See Also:
-
SRC_PORT_OFFSET
private static final int SRC_PORT_OFFSET- See Also:
-
SRC_PORT_SIZE
private static final int SRC_PORT_SIZE- See Also:
-
DST_PORT_OFFSET
private static final int DST_PORT_OFFSET- See Also:
-
DST_PORT_SIZE
private static final int DST_PORT_SIZE- See Also:
-
SEQUENCE_NUMBER_OFFSET
private static final int SEQUENCE_NUMBER_OFFSET- See Also:
-
SEQUENCE_NUMBER_SIZE
private static final int SEQUENCE_NUMBER_SIZE- See Also:
-
ACKNOWLEDGMENT_NUMBER_OFFSET
private static final int ACKNOWLEDGMENT_NUMBER_OFFSET- See Also:
-
ACKNOWLEDGMENT_NUMBER_SIZE
private static final int ACKNOWLEDGMENT_NUMBER_SIZE- See Also:
-
DATA_OFFSET_AND_RESERVED_AND_CONTROL_BITS_OFFSET
private static final int DATA_OFFSET_AND_RESERVED_AND_CONTROL_BITS_OFFSET- See Also:
-
DATA_OFFSET_AND_RESERVED_AND_CONTROL_BITS_SIZE
private static final int DATA_OFFSET_AND_RESERVED_AND_CONTROL_BITS_SIZE- See Also:
-
WINDOW_OFFSET
private static final int WINDOW_OFFSET- See Also:
-
WINDOW_SIZE
private static final int WINDOW_SIZE- See Also:
-
CHECKSUM_OFFSET
private static final int CHECKSUM_OFFSET- See Also:
-
CHECKSUM_SIZE
private static final int CHECKSUM_SIZE- See Also:
-
URGENT_POINTER_OFFSET
private static final int URGENT_POINTER_OFFSET- See Also:
-
URGENT_POINTER_SIZE
private static final int URGENT_POINTER_SIZE- See Also:
-
OPTIONS_OFFSET
private static final int OPTIONS_OFFSET- See Also:
-
MIN_TCP_HEADER_SIZE
private static final int MIN_TCP_HEADER_SIZE- See Also:
-
IPV4_PSEUDO_HEADER_SIZE
private static final int IPV4_PSEUDO_HEADER_SIZE- See Also:
-
IPV6_PSEUDO_HEADER_SIZE
private static final int IPV6_PSEUDO_HEADER_SIZE- See Also:
-
srcPort
-
dstPort
-
sequenceNumber
private final int sequenceNumber -
acknowledgmentNumber
private final int acknowledgmentNumber -
dataOffset
private final byte dataOffset -
reserved
private final byte reserved -
urg
private final boolean urg -
ack
private final boolean ack -
psh
private final boolean psh -
rst
private final boolean rst -
syn
private final boolean syn -
fin
private final boolean fin -
window
private final short window -
checksum
private final short checksum -
urgentPointer
private final short urgentPointer -
options
-
padding
private final byte[] padding
-
-
Constructor Details
-
TcpHeader
- Throws:
IllegalRawDataException
-
TcpHeader
-
-
Method Details
-
calcChecksum
-
getSrcPort
- Specified by:
getSrcPortin interfaceTransportPacket.TransportHeader- Returns:
- Source port
-
getDstPort
- Specified by:
getDstPortin interfaceTransportPacket.TransportHeader- Returns:
- Destination port
-
getSequenceNumber
public int getSequenceNumber()- Returns:
- sequenceNumber
-
getSequenceNumberAsLong
public long getSequenceNumberAsLong()- Returns:
- sequenceNumber
-
getAcknowledgmentNumber
public int getAcknowledgmentNumber()- Returns:
- acknowledgmentNumber
-
getAcknowledgmentNumberAsLong
public long getAcknowledgmentNumberAsLong()- Returns:
- acknowledgmentNumber
-
getDataOffset
public byte getDataOffset()- Returns:
- dataOffset
-
getDataOffsetAsInt
public int getDataOffsetAsInt()- Returns:
- dataOffset
-
getReserved
public byte getReserved()- Returns:
- reserved
-
getUrg
public boolean getUrg()- Returns:
- urg
-
getAck
public boolean getAck()- Returns:
- ack
-
getPsh
public boolean getPsh()- Returns:
- psh
-
getRst
public boolean getRst()- Returns:
- rst
-
getSyn
public boolean getSyn()- Returns:
- syn
-
getFin
public boolean getFin()- Returns:
- fin
-
getWindow
public short getWindow()- Returns:
- window
-
getWindowAsInt
public int getWindowAsInt()- Returns:
- window
-
getChecksum
public short getChecksum()- Returns:
- checksum
-
getUrgentPointer
public short getUrgentPointer()- Returns:
- urgentPointer
-
getUrgentPointerAsInt
public int getUrgentPointerAsInt()- Returns:
- urgentPointer
-
getOptions
- Returns:
- options
-
getPadding
public byte[] getPadding()- Returns:
- padding
-
getRawFields
Description copied from class:AbstractPacket.AbstractHeaderReturns a list of byte arrays which represents this header's fields. This method is called bycalcLength()andbuildRawData().- Specified by:
getRawFieldsin classAbstractPacket.AbstractHeader- Returns:
- a list of byte arrays which represents this header's fields
-
getRawFields
-
buildRawData
private byte[] buildRawData(boolean zeroInsteadOfChecksum) -
measureLengthWithoutPadding
private int measureLengthWithoutPadding() -
calcLength
protected int calcLength()Description copied from class:AbstractPacket.AbstractHeaderThis method calculates the valuelength()will return by adding up the lengths of byte arrays in the listgetRawFields()returns.- Overrides:
calcLengthin classAbstractPacket.AbstractHeader- Returns:
- a calculated length
-
buildString
Description copied from class:AbstractPacket.AbstractHeaderThis method builds the valuetoString()will return.- Overrides:
buildStringin classAbstractPacket.AbstractHeader- Returns:
- a string representation of this object
-
equals
Description copied from class:AbstractPacket.AbstractHeaderIndicates whether some other object is "equal to" this one using return values ofgetRawData(). This method should be overridden so that it does more strict comparisons more efficiently.- Overrides:
equalsin classAbstractPacket.AbstractHeader
-
calcHashCode
protected int calcHashCode()Description copied from class:AbstractPacket.AbstractHeaderThis method builds the valuehashCode()will return using the byte arraygetRawData()returns. This method may be better to be overridden for performance reason.- Overrides:
calcHashCodein classAbstractPacket.AbstractHeader- Returns:
- a calculated hash code value for the object
-