PcapPlusPlus  Next
pcpp::IPv4IDFilter Class Reference

#include <PcapFilter.h>

Inheritance diagram for pcpp::IPv4IDFilter:
pcpp::IFilterWithOperator pcpp::GeneralFilter

Public Member Functions

 IPv4IDFilter (uint16_t ipID, FilterOperator op)
 
void parseToString (std::string &result) const override
 
void setIpID (uint16_t ipID)
 
- 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 IP ID field of the IPv4 protocol, for example: "filter only IPv4 traffic which IP ID is greater than 1234"

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

Constructor & Destructor Documentation

◆ IPv4IDFilter()

pcpp::IPv4IDFilter::IPv4IDFilter ( uint16_t  ipID,
FilterOperator  op 
)
inline

A constructor that gets the IP ID to filter and the operator and creates the filter out of them

Parameters
[in]ipIDThe IP ID to filter
[in]opThe operator to use (e.g "equal", "greater than", etc.)

Member Function Documentation

◆ parseToString()

void pcpp::IPv4IDFilter::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.

◆ setIpID()

void pcpp::IPv4IDFilter::setIpID ( uint16_t  ipID)
inline

Set the IP ID to filter

Parameters
[in]ipIDThe IP ID to filter