java.lang.Object
org.apache.drill.exec.store.pcap.decoder.Packet
All Implemented Interfaces:
Comparable<Packet>
Direct Known Subclasses:
PacketDecoder

public class Packet extends Object implements Comparable<Packet>
  • Field Details Link icon

    • raw Link icon

      protected byte[] raw
    • ipOffset Link icon

      protected int ipOffset
    • etherProtocol Link icon

      protected int etherProtocol
    • protocol Link icon

      protected int protocol
    • isRoutingV6 Link icon

      protected boolean isRoutingV6
    • isCorrupt Link icon

      protected boolean isCorrupt
  • Constructor Details Link icon

    • Packet Link icon

      public Packet()
  • Method Details Link icon

    • readPcap Link icon

      public boolean readPcap(InputStream in, boolean byteOrder, int maxLength) throws IOException
      Throws:
      IOException
    • decodePcap Link icon

      public int decodePcap(byte[] buffer, int offset, boolean byteOrder, int maxLength)
    • getPacketType Link icon

      public String getPacketType()
    • isIpV4Packet Link icon

      public boolean isIpV4Packet()
    • isIpV6Packet Link icon

      public boolean isIpV6Packet()
    • isPPPoV6Packet Link icon

      public boolean isPPPoV6Packet()
    • isTcpPacket Link icon

      public boolean isTcpPacket()
    • isUdpPacket Link icon

      public boolean isUdpPacket()
    • isArpPacket Link icon

      public boolean isArpPacket()
    • isIcmpPacket Link icon

      public boolean isIcmpPacket()
    • getSessionHash Link icon

      public long getSessionHash()
    • getTimestamp Link icon

      public long getTimestamp()
    • getTimestampMicro Link icon

      public long getTimestampMicro()
    • getPacketLength Link icon

      public int getPacketLength()
    • getSrc_ip Link icon

      public InetAddress getSrc_ip()
    • getDst_ip Link icon

      public InetAddress getDst_ip()
    • getSourceIpAddressString Link icon

      public String getSourceIpAddressString()
    • getDestinationIpAddressString Link icon

      public String getDestinationIpAddressString()
    • getEthernetSource Link icon

      public String getEthernetSource()
    • getEthernetDestination Link icon

      public String getEthernetDestination()
    • getSequenceNumber Link icon

      public int getSequenceNumber()
    • getAckNumber Link icon

      public int getAckNumber()
    • getFlags Link icon

      public int getFlags()
    • getParsedFlags Link icon

      public String getParsedFlags()
    • setIsCorrupt Link icon

      public void setIsCorrupt(boolean value)
    • getUrgFlag Link icon

      public boolean getUrgFlag()
    • getPshFlag Link icon

      public boolean getPshFlag()
    • getEceFlag Link icon

      public boolean getEceFlag()
    • getSynFlag Link icon

      public boolean getSynFlag()
    • getAckFlag Link icon

      public boolean getAckFlag()
    • getRstFlag Link icon

      public boolean getRstFlag()
    • getFinFlag Link icon

      public boolean getFinFlag()
    • getNSFlag Link icon

      public boolean getNSFlag()
    • getCwrFlag Link icon

      public boolean getCwrFlag()
    • formatFlags Link icon

      public static String formatFlags(int flags)
    • getSrc_port Link icon

      public int getSrc_port()
    • getDst_port Link icon

      public int getDst_port()
    • isCorrupt Link icon

      public boolean isCorrupt()
    • getData Link icon

      public byte[] getData()
    • ipVersion Link icon

      protected int ipVersion()
    • processIpV4Packet Link icon

      protected int processIpV4Packet()
    • processIpV6Packet Link icon

      protected int processIpV6Packet()
    • compareTo Link icon

      public int compareTo(Packet o)
      This function is here so that packets can be sorted for re-sessionization. Packets in TCP streams are ordered by the sequence number, so being able to order the packets is necessary to reassemble the TCP session.
      Specified by:
      compareTo in interface Comparable<Packet>
      Parameters:
      o - The packet to which the current packet is compared to.
      Returns:
      Returns the difference in sequence number.