PcapPlusPlus  Next
pcpp::IPv4TotalLengthFilter Class Reference

#include <PcapFilter.h>

Inheritance diagram for pcpp::IPv4TotalLengthFilter:
pcpp::IFilterWithOperator pcpp::GeneralFilter

Public Member Functions

 IPv4TotalLengthFilter (uint16_t totalLength, FilterOperator op)
 
void parseToString (std::string &result) const override
 
void setTotalLength (uint16_t totalLength)
 
- Public Member Functions inherited from pcpp::IFilterWithOperator
void setOperator (FilterOperator op)
 
- Public Member Functions inherited from pcpp::GeneralFilter
virtual ~GeneralFilter ()=default
 Virtual destructor, frees the bpf program.
 
bool matchPacketWithFilter (RawPacket *rawPacket) const
 
bool matches (RawPacket const &rawPacket) const
 Match a raw packet against the filter. More...
 

Additional Inherited Members

- Protected Member Functions inherited from pcpp::GeneralFilter
bool cacheFilter () const
 Parse the filter and cache the compiled BPF program. More...
 
void invalidateCache () const
 Invalidate the cached BPF program. This method should be called whenever the filter changes.
 

Detailed Description

A class for filtering IPv4 traffic by "total length" field of the IPv4 protocol, for example: "filter only IPv4 traffic which "total length" value is less than 60B"

For deeper understanding of the filter concept please refer to PcapFilter.h

Constructor & Destructor Documentation

◆ IPv4TotalLengthFilter()

pcpp::IPv4TotalLengthFilter::IPv4TotalLengthFilter ( uint16_t  totalLength,
FilterOperator  op 
)
inline

A constructor that gets the total length to filter and the operator and creates the filter out of them

Parameters
[in]totalLengthThe total length value to filter
[in]opThe operator to use (e.g "equal", "greater than", etc.)

Member Function Documentation

◆ parseToString()

void pcpp::IPv4TotalLengthFilter::parseToString ( std::string &  result) const
overridevirtual

A method that parses the class instance into BPF string format

Parameters
[out]resultAn empty string that the parsing will be written into. If the string isn't empty, its content will be overridden

Implements pcpp::GeneralFilter.

◆ setTotalLength()

void pcpp::IPv4TotalLengthFilter::setTotalLength ( uint16_t  totalLength)
inline

Set the total length value

Parameters
[in]totalLengthThe total length value to filter