PcapPlusPlus  Next
pcpp::PortFilter Class Reference

#include <PcapFilter.h>

Inheritance diagram for pcpp::PortFilter:
pcpp::IFilterWithDirection pcpp::GeneralFilter

Public Member Functions

 PortFilter (uint16_t port, Direction dir)
 
void parseToString (std::string &result) const override
 
void setPort (uint16_t port)
 
- Public Member Functions inherited from pcpp::IFilterWithDirection
void setDirection (Direction dir)
 
- 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 TCP or UDP traffic by port, for example: "dst port 80" or "src port 12345".

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

Constructor & Destructor Documentation

◆ PortFilter()

pcpp::PortFilter::PortFilter ( uint16_t  port,
Direction  dir 
)

A constructor that gets the port and the direction and creates the filter

Parameters
[in]portThe port to create the filter with
[in]dirThe port direction to filter (source or destination)

Member Function Documentation

◆ parseToString()

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

◆ setPort()

void pcpp::PortFilter::setPort ( uint16_t  port)
inline

Set the port

Parameters
[in]portThe port to create the filter with