PcapPlusPlus  Next
pcpp::MacAddressFilter Class Reference

#include <PcapFilter.h>

Inheritance diagram for pcpp::MacAddressFilter:
pcpp::IFilterWithDirection pcpp::GeneralFilter

Public Member Functions

 MacAddressFilter (MacAddress address, Direction dir)
 
void parseToString (std::string &result) const override
 
void setMacAddress (MacAddress address)
 
- 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 Ethernet traffic by MAC addresses, for example: "ether src 12:34:56:78:90:12" or "ether dst 10:29:38:47:56:10:29"

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

Constructor & Destructor Documentation

◆ MacAddressFilter()

pcpp::MacAddressFilter::MacAddressFilter ( MacAddress  address,
Direction  dir 
)
inline

A constructor that gets the MAC address and the direction and creates the filter with them

Parameters
[in]addressThe MAC address to use for filtering
[in]dirThe MAC address direction to filter (source or destination)

Member Function Documentation

◆ parseToString()

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

◆ setMacAddress()

void pcpp::MacAddressFilter::setMacAddress ( MacAddress  address)
inline

Set the MAC address

Parameters
[in]addressThe MAC address to use for filtering