パッケージ org.pcap4j.packet
クラス AbstractPacket
- java.lang.Object
-
- org.pcap4j.packet.AbstractPacket
-
- すべての実装されたインタフェース:
Serializable
,Iterable<Packet>
,Packet
- 直系の既知のサブクラス:
ArpPacket
,BsdLoopbackPacket
,CompressedPacket
,DnsPacket
,Dot11ManagementPacket
,Dot11Selector
,Dot1qVlanTagPacket
,EncryptedPacket
,EthernetPacket
,FragmentedPacket
,GtpSelector
,GtpV1Packet
,HdlcPppPacket
,IcmpV4CommonPacket
,IcmpV4DestinationUnreachablePacket
,IcmpV4EchoPacket
,IcmpV4EchoReplyPacket
,IcmpV4InformationReplyPacket
,IcmpV4InformationRequestPacket
,IcmpV4ParameterProblemPacket
,IcmpV4RedirectPacket
,IcmpV4SourceQuenchPacket
,IcmpV4TimeExceededPacket
,IcmpV4TimestampPacket
,IcmpV4TimestampReplyPacket
,IcmpV6CommonPacket
,IcmpV6DestinationUnreachablePacket
,IcmpV6EchoReplyPacket
,IcmpV6EchoRequestPacket
,IcmpV6HomeAgentAddressDiscoveryReplyPacket
,IcmpV6HomeAgentAddressDiscoveryRequestPacket
,IcmpV6MobilePrefixAdvertisementPacket
,IcmpV6MobilePrefixSolicitationPacket
,IcmpV6NeighborAdvertisementPacket
,IcmpV6NeighborSolicitationPacket
,IcmpV6PacketTooBigPacket
,IcmpV6ParameterProblemPacket
,IcmpV6RedirectPacket
,IcmpV6RouterAdvertisementPacket
,IcmpV6RouterSolicitationPacket
,IcmpV6TimeExceededPacket
,IllegalPacket
,IpSelector
,IpV4Packet
,IpV6ExtFragmentPacket
,IpV6ExtOptionsPacket
,IpV6ExtRoutingPacket
,IpV6ExtUnknownPacket
,IpV6Packet
,LinuxSllPacket
,LlcPacket
,PppPacket
,PppSelector
,RadiotapPacket
,SctpPacket
,SnapPacket
,Ssh2BinaryPacket
,Ssh2DebugPacket
,Ssh2DisconnectPacket
,Ssh2IgnorePacket
,Ssh2KexDhInitPacket
,Ssh2KexDhReplyPacket
,Ssh2KexInitPacket
,Ssh2NewKeysPacket
,Ssh2ServiceAcceptPacket
,Ssh2ServiceRequestPacket
,Ssh2UnimplementedPacket
,Ssh2VersionExchangePacket
,SshPacket
,TcpPacket
,UdpPacket
,UnknownPacket
public abstract class AbstractPacket extends Object implements Packet
Abstract immutable packet class. If you usePropertiesBasedPacketFactory
, this subclass must implement the following method:public static Packet newPacket(byte[] rawData, int offset, int length) throws IllegalRawDataException
- 導入されたバージョン:
- pcap4j 0.9.1
- 作成者:
- Kaito Yamada
- 関連項目:
- 直列化された形式
-
-
ネストされたクラスの概要
ネストされたクラス 修飾子とタイプ クラス 説明 static class
AbstractPacket.AbstractBuilder
Abstract packet builder class.static class
AbstractPacket.AbstractHeader
Abstract immutable header class.-
インタフェースから継承されたネストされたクラス/インタフェース org.pcap4j.packet.Packet
Packet.Builder, Packet.Header
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 AbstractPacket()
-
メソッドの概要
すべてのメソッド インスタンス・メソッド abstractメソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected String
buildHexString()
This method builds the valuetoHexString()
will return using the return value ofgetRawData()
.protected byte[]
buildRawData()
This method builds the valuegetRawData()
will return by concatenating the header's raw data and the payload's raw data.protected 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.<T extends Packet>
booleancontains(Class<T> clazz)
Returns true if this packet is or its payload includes an object of specified packet class; false otherwise.boolean
equals(Object obj)
Indicates whether some other object is "equal to" this one.<T extends Packet>
Tget(Class<T> clazz)
Traverses this packet and its payload to find an object of the specified packet class and returns the object.abstract Packet.Builder
getBuilder()
Returns a new Builder object populated with this object's fields' values.Packet.Header
getHeader()
Returns the Header object representing this packet's header.Packet
getOuterOf(Class<? extends Packet> clazz)
Returns the outer packet object of a packet objectget(clazz)
returns.Packet
getPayload()
Returns the Packet object representing this packet's payload.byte[]
getRawData()
Returns this packet's raw data.int
hashCode()
Returns a hash code value for the object.Iterator<Packet>
iterator()
int
length()
Returns the packet length in bytes.String
toHexString()
Returns the hex string representation of this object.String
toString()
Returns a string representation of the object.-
インタフェースから継承されたメソッド java.lang.Iterable
forEach, spliterator
-
-
-
-
メソッドの詳細
-
getHeader
public Packet.Header getHeader()
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.
-
getPayload
public Packet getPayload()
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.- 定義:
getPayload
インタフェース内Packet
- 戻り値:
- the Packet object representing this packet's payload. May be null if the payload doesn't exist
-
calcLength
protected int calcLength()
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.- 戻り値:
- a calculated length
-
length
public int length()
Returns the packet length in bytes. This method callscalcLength()
and caches the return value when it is called for the first time, and then, this method returns the cached value from the second time.
-
buildRawData
protected byte[] buildRawData()
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.- 戻り値:
- a raw data built
-
getRawData
public byte[] getRawData()
Returns this packet's raw data. This method callsbuildRawData()
and caches the return value when it is called for the first time, and then, this method returns the cached value from the second time. More correctly, this method returns a copy of the cached value, so that the cache can't be changed.- 定義:
getRawData
インタフェース内Packet
- 戻り値:
- this packet's raw data, namely the byte stream which is actually sent through real network
-
get
public <T extends Packet> T get(Class<T> clazz)
インタフェースからコピーされた説明:Packet
Traverses this packet and its payload to find an object of the specified packet class and returns the object. If there are more than one objects of the specified class in this object, this method returns the most outer one of them.
-
getOuterOf
public Packet getOuterOf(Class<? extends Packet> clazz)
インタフェースからコピーされた説明:Packet
Returns the outer packet object of a packet objectget(clazz)
returns.- 定義:
getOuterOf
インタフェース内Packet
- パラメータ:
clazz
- the packet class of the object whose outer packet object is what you want to get- 戻り値:
- a packet object if found; otherwise null
-
contains
public <T extends Packet> boolean contains(Class<T> clazz)
インタフェースからコピーされた説明:Packet
Returns true if this packet is or its payload includes an object of specified packet class; false otherwise.
-
getBuilder
public abstract Packet.Builder getBuilder()
インタフェースからコピーされた説明:Packet
Returns a new Builder object populated with this object's fields' values.- 定義:
getBuilder
インタフェース内Packet
- 戻り値:
- a new Builder object populated with this object's fields values
-
buildHexString
protected String buildHexString()
This method builds the valuetoHexString()
will return using the return value ofgetRawData()
. Each octet in this return value is separated by a white space. (e.g. 00 01 02 03 aa bb cc)- 戻り値:
- a hex string representation of this object
-
toHexString
public String toHexString()
Returns the hex string representation of this object. This method callsbuildHexString()
and caches the return value when it is called for the first time, and then, this method returns the cached value from the second time.- 戻り値:
- a hex string representation of this object
-
buildString
protected String buildString()
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.- 戻り値:
- a string representation of this object
-
toString
public String toString()
Returns a string representation of the object. This method callsbuildString()
and caches the return value when it is called for the first time, and then, this method returns the cached value from the second time.
-
equals
public boolean equals(Object obj)
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.
-
calcHashCode
protected int calcHashCode()
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.- 戻り値:
- a calculated hash code value for the object
-
hashCode
public int hashCode()
Returns a hash code value for the object. This method callscalcHashCode()
and caches the return value when it is called for the first time, and then, this method returns the cached value from the second time.
-
-