The pcaplib API reference¶
-
class
pcaplib.Reader(filename)[source]¶ Construct a Reader which reads the content of a PCAP file and can be consumed as an Iterable. An
FileFormatErroris raised if the file is not a valid PCAP file.Example:
import pcaplib pcap_reader = pcaplib.Reader('capture.pcap') for ts in pcap_reader: print(packet) (1494608771, 459378, 6, 6, b'\\x00\\x0c)\\xaa4\\xc9') (1494608771, 459556, 6, 6, b'\\x00\\x0c)\\xaa4\\xc9')
-
filename¶ a filename.
-
version_major¶ Major version, currently
2.
-
version_minor¶ Minor version, currently
4.
-
thiszone¶ the correction time in seconds between GMT (UTC) and the local timezone of the following packet header timestamps. In practice, time stamps are always in GMT, so thiszone is always
0.
-
sigfigs¶ in theory, the accuracy of time stamps in the capture; in practice, all tools set it to
0.
-
snaplen¶ the snapshot length for the capture (typically
65535or even more, but might be limited by the user).
-
network¶ link-layer header type.
-
ts_sec¶ the date and time when this packet was captured. This value is in seconds since January 1, 1970 00:00:00 GMT.
-
-
class
pcaplib.Writer(filename, packets_iterable, network=<Network.EN10MB: 1>, big_endian=True)[source]¶ Construct a Writer which will write in filename packets using the PCAP format.
Example:
import pcaplib pkt_list = [ (1494608771, 459378, 6, 6, b'\\x00\\x0c)\\xaa4\\xc9'), (1494608771, 459556, 6, 6, b'\\x00\\x0c)\\xaa4\\xc9'), ] pcap_writer = pcaplib.Writer('capture.pcap', pkt_list) pcap_writer.writer()
Parameters: - filename (str) – a filename
- packets_iterable (iterable) – An iterable of 5-tuples,
each tuple should have the following format
(
ts_sec,ts_usec,incl_len,orig_len,pkt_data) - network – the network type, defaults to Ethernet
Network.EN10Bor1.
-
packets_iterable. An iterable of 5-tuples,