Files
121Nat/src/PduSniffer.h
2015-09-29 23:20:00 +02:00

41 lines
907 B
C++

/*
* File: PduSniffer.h
* Author: dev
*
* Created on 29. September 2015, 21:29
*/
#ifndef PDUSNIFFER_H
#define PDUSNIFFER_H
#include "map/natmap.h"
#include <tins/tins.h>
#include <thread>
namespace otonat {
class PduSniffer {
public:
typedef std::vector<Tins::Sniffer *> SnifferList;
PduSniffer(NatMap * map);
PduSniffer(const PduSniffer& orig);
PduSniffer& operator=(const PduSniffer& rhs);
virtual ~PduSniffer();
void SniffInterface(const Tins::NetworkInterface & interface);
std::thread * SniffInterfaceInNewThread(const Tins::NetworkInterface & interface);
void Start();
void Stop();
private:
SnifferList snifferList;
NatMap * map;
Tins::SnifferConfiguration config;
bool isRunnig;
bool sniffPdu(const Tins::PDU &pdu);
};
}
#endif /* PDUSNIFFER_H */