PcapPlusPlus
22.11
|
#include <PcapFileDevice.h>
Public Member Functions | |
PcapFileWriterDevice (const std::string &fileName, LinkLayerType linkLayerType=LINKTYPE_ETHERNET) | |
~PcapFileWriterDevice () | |
bool | writePacket (RawPacket const &packet) |
bool | writePackets (const RawPacketVector &packets) |
virtual bool | open () |
bool | open (bool appendMode) |
virtual void | close () |
void | flush () |
virtual void | getStatistics (PcapStats &stats) const |
Public Member Functions inherited from pcpp::IFileWriterDevice | |
virtual | ~IFileWriterDevice () |
Public Member Functions inherited from pcpp::IFileDevice | |
std::string | getFileName () const |
Public Member Functions inherited from pcpp::IPcapDevice | |
virtual bool | setFilter (std::string filterAsString) |
bool | clearFilter () |
Public Member Functions inherited from pcpp::IDevice | |
bool | isOpened () |
Public Member Functions inherited from pcpp::IFilterableDevice | |
virtual bool | setFilter (GeneralFilter &filter) |
Additional Inherited Members | |
Static Public Member Functions inherited from pcpp::IPcapDevice | |
static std::string | getPcapLibVersionInfo () |
static bool | matchPacketWithFilter (GeneralFilter &filter, RawPacket *rawPacket) |
A class for opening a pcap file for writing or create a new pcap file and write packets to it. This class adds a unique capability that isn't supported in WinPcap and in older libpcap versions which is to open a pcap file in append mode where packets are written at the end of the pcap file instead of running it over
pcpp::PcapFileWriterDevice::PcapFileWriterDevice | ( | const std::string & | fileName, |
LinkLayerType | linkLayerType = LINKTYPE_ETHERNET |
||
) |
A constructor for this class that gets the pcap full path file name to open for writing or create. Notice that after calling this constructor the file isn't opened yet, so writing packets will fail. For opening the file call open()
[in] | fileName | The full path of the file |
[in] | linkLayerType | The link layer type all packet in this file will be based on. The default is Ethernet |
|
inline |
A destructor for this class
|
virtual |
Flush and close the pacp file
Reimplemented from pcpp::IFileDevice.
void pcpp::PcapFileWriterDevice::flush | ( | ) |
Flush packets to disk.
|
virtual |
Get statistics of packets written so far.
[out] | stats | The stats struct where stats are returned |
Implements pcpp::IPcapDevice.
|
virtual |
Open the file in a write mode. If file doesn't exist, it will be created. If it does exist it will be overwritten, meaning all its current content will be deleted
Implements pcpp::IDevice.
|
virtual |
Same as open(), but enables to open the file in append mode in which packets will be appended to the file instead of overwrite its current content. In append mode file must exist, otherwise opening will fail
[in] | appendMode | A boolean indicating whether to open the file in append mode or not. If set to false this method will act exactly like open(). If set to true, file will be opened in append mode |
Implements pcpp::IFileWriterDevice.
|
virtual |
Write a RawPacket to the file. Before using this method please verify the file is opened using open(). This method won't change the written packet
[in] | packet | A reference for an existing RawPcket to write to the file |
Implements pcpp::IFileWriterDevice.
|
virtual |
Write multiple RawPacket to the file. Before using this method please verify the file is opened using open(). This method won't change the written packets or the RawPacketVector instance
[in] | packets | A reference for an existing RawPcketVector, all of its packets will be written to the file |
Implements pcpp::IFileWriterDevice.