Package org.pcap4j.packet
Class EthernetPacket
- java.lang.Object
-
- org.pcap4j.packet.AbstractPacket
-
- org.pcap4j.packet.EthernetPacket
-
public final class EthernetPacket extends AbstractPacket
This Class handles from DA to data. Both preamble, SFD, and FCS are not contained.- Since:
- pcap4j 0.9.1
- Author:
- Kaito Yamada
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EthernetPacket.Builder
static class
EthernetPacket.EthernetHeader
-
Nested classes/interfaces inherited from class org.pcap4j.packet.AbstractPacket
AbstractPacket.AbstractBuilder, AbstractPacket.AbstractHeader
-
Nested classes/interfaces inherited from interface org.pcap4j.packet.Packet
Packet.Header
-
-
Method Summary
Modifier and Type Method Description protected byte[]
buildRawData()
This method builds the valuegetRawData()
will return by concatenating the header's raw data and the payload's raw data.protected java.lang.String
buildString()
This method builds the valuetoString()
will return by concatenating the header's string representation and the payload's string representation.protected int
calcHashCode()
This method calculates the valuehashCode()
will return using the header's hash code and the payload's hash code.protected int
calcLength()
This method calculates the valuelength()
will return by adding up the header length and the payload length.boolean
equals(java.lang.Object obj)
Indicates whether some other object is "equal to" this one.EthernetPacket.Builder
getBuilder()
Returns a new Builder object populated with this object's fields' values.EthernetPacket.EthernetHeader
getHeader()
Returns the Header object representing this packet's header.byte[]
getPad()
Packet
getPayload()
Returns the Packet object representing this packet's payload.static EthernetPacket
newPacket(byte[] rawData, int offset, int length)
A static factory method.-
Methods inherited from class org.pcap4j.packet.AbstractPacket
buildHexString, getRawData, hashCode, length, toHexString, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.pcap4j.packet.Packet
contains, get, getOuterOf, iterator
-
-
-
-
Method Detail
-
newPacket
public static EthernetPacket newPacket(byte[] rawData, int offset, int length) throws IllegalRawDataException
A static factory method. This method validates the arguments byByteArrays.validateBounds(byte[], int, int)
, which may throw exceptions undocumented here.- Parameters:
rawData
- rawDataoffset
- offsetlength
- length- Returns:
- a new EthernetPacket object.
- Throws:
IllegalRawDataException
- if parsing the raw data fails.
-
getHeader
public EthernetPacket.EthernetHeader getHeader()
Description copied from class:AbstractPacket
Returns the Header object representing this packet's header. This subclass have to override this method if the packet represented by the subclass has a header.- Specified by:
getHeader
in interfacePacket
- Overrides:
getHeader
in classAbstractPacket
- Returns:
- the Header object representing this packet's header. May be null if the header doesn't exist
-
getPayload
public Packet getPayload()
Description copied from class:AbstractPacket
Returns the Packet object representing this packet's payload. This subclass have to override this method if the packet represented by the subclass has a payload.- Specified by:
getPayload
in interfacePacket
- Overrides:
getPayload
in classAbstractPacket
- Returns:
- the Packet object representing this packet's payload. May be null if the payload doesn't exist
-
getPad
public byte[] getPad()
- Returns:
- pad
-
calcLength
protected int calcLength()
Description copied from class:AbstractPacket
This method calculates the valuelength()
will return by adding up the header length and the payload length. If you write this subclass which represents a packet with extra parts (e.g. a trailer), you need to override this method.- Overrides:
calcLength
in classAbstractPacket
- Returns:
- a calculated length
-
buildRawData
protected byte[] buildRawData()
Description copied from class:AbstractPacket
This method builds the valuegetRawData()
will return by concatenating the header's raw data and the payload's raw data. If you write this subclass which represents a packet with extra parts (e.g. a trailer), you need to override this method.- Overrides:
buildRawData
in classAbstractPacket
- Returns:
- a raw data built
-
buildString
protected java.lang.String buildString()
Description copied from class:AbstractPacket
This method builds the valuetoString()
will return by concatenating the header's string representation and the payload's string representation. If you write this subclass which represents a packet with extra parts (e.g. a trailer), you need to override this method.- Overrides:
buildString
in classAbstractPacket
- Returns:
- a string representation of this object
-
getBuilder
public EthernetPacket.Builder getBuilder()
Description copied from interface:Packet
Returns a new Builder object populated with this object's fields' values.- Specified by:
getBuilder
in interfacePacket
- Specified by:
getBuilder
in classAbstractPacket
- Returns:
- a new Builder object populated with this object's fields values
-
equals
public boolean equals(java.lang.Object obj)
Description copied from class:AbstractPacket
Indicates whether some other object is "equal to" this one. This method firstly compares this packet's header using the header's equals(Object) method, then compares this packet's payload using the payload's equals(Object) method. If you write this subclass with fields which represent somethings other than header or payload, you need to override this method.- Overrides:
equals
in classAbstractPacket
-
calcHashCode
protected int calcHashCode()
Description copied from class:AbstractPacket
This method calculates the valuehashCode()
will return using the header's hash code and the payload's hash code. If you write this subclass which represents a packet with extra parts (e.g. a trailer), you need to override this method.- Overrides:
calcHashCode
in classAbstractPacket
- Returns:
- a calculated hash code value for the object
-
-