Package nl.sidnlabs.pcap
Class PcapReader
java.lang.Object
nl.sidnlabs.pcap.PcapReader
Read all data from a pcap file and decode all the packets
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final longstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final int -
Constructor Summary
ConstructorsConstructorDescriptionPcapReader(DataInputStream is, IPDecoder ipDecoder, boolean tcpEnabled, String filename, boolean partial) -
Method Summary
Modifier and TypeMethodDescriptionvoidclearCache(int tcpCacheTTL, int ipCacheTTL) Clear expired cache entries in order to avoid memory problemsvoidclose()protected intfindIPStart(byte[] packet) com.google.common.collect.Multimap<Datagram,DatagramPayload> protected PcapReader.LinkTypegetLinkType(long linkTypeVal) iter()protected booleanreadBytes(byte[] buf) voidsetDatagrams(com.google.common.collect.Multimap<Datagram, DatagramPayload> map) voidsetTcpFlows(Map<TCPFlow, FlowData> flows) stream()protected booleanvalidateMagicNumber(byte[] pcapHeader)
-
Field Details
-
DNS_PORT
public static final int DNS_PORT- See Also:
-
MAGIC_NUMBER
public static final long MAGIC_NUMBER- See Also:
-
HEADER_SIZE
public static final int HEADER_SIZE- See Also:
-
PCAP_HEADER_LINKTYPE_OFFSET
public static final int PCAP_HEADER_LINKTYPE_OFFSET- See Also:
-
PACKET_HEADER_SIZE
public static final int PACKET_HEADER_SIZE- See Also:
-
TIMESTAMP_OFFSET
public static final int TIMESTAMP_OFFSET- See Also:
-
TIMESTAMP_MICROS_OFFSET
public static final int TIMESTAMP_MICROS_OFFSET- See Also:
-
CAP_LEN_OFFSET
public static final int CAP_LEN_OFFSET- See Also:
-
ETHERNET_HEADER_SIZE
public static final int ETHERNET_HEADER_SIZE- See Also:
-
ETHERNET_TYPE_OFFSET
public static final int ETHERNET_TYPE_OFFSET- See Also:
-
ETHERNET_TYPE_IP
public static final int ETHERNET_TYPE_IP- See Also:
-
ETHERNET_TYPE_IPV6
public static final int ETHERNET_TYPE_IPV6- See Also:
-
ETHERNET_TYPE_8021Q
public static final int ETHERNET_TYPE_8021Q- See Also:
-
SLL_HEADER_SIZE
public static final int SLL_HEADER_SIZE- See Also:
-
SLL_V2_HEADER_SIZE
public static final int SLL_V2_HEADER_SIZE- See Also:
-
PROTOCOL_FRAGMENTED
public static final int PROTOCOL_FRAGMENTED- See Also:
-
-
Constructor Details
-
PcapReader
public PcapReader(DataInputStream is, IPDecoder ipDecoder, boolean tcpEnabled, String filename, boolean partial) throws IOException - Throws:
IOException
-
-
Method Details
-
stream
-
iter
-
clearCache
public void clearCache(int tcpCacheTTL, int ipCacheTTL) Clear expired cache entries in order to avoid memory problems- Parameters:
tcpCacheTTL- timeout for tcp flowsipCacheTTL- timeout for IP fragments
-
close
public void close() -
validateMagicNumber
protected boolean validateMagicNumber(byte[] pcapHeader) -
getLinkType
-
findIPStart
protected int findIPStart(byte[] packet) -
readBytes
protected boolean readBytes(byte[] buf) -
setTcpFlows
-
getDatagrams
-
setDatagrams
-