Sniffer.cpp 718 B

12345678910111213141516171819202122232425262728
  1. #include "../include/Sniffer.h"
  2. #include <iostream>
  3. Sniffer::Sniffer(std::string interfaceName) : sniffer(interfaceName) {
  4. Tins::SnifferConfiguration config;
  5. config.set_promisc_mode(true);
  6. sniffer = Tins::Sniffer(interfaceName, config);
  7. }
  8. Sniffer::~Sniffer() {}
  9. void Sniffer::startSniffing() {
  10. sniffer.sniff_loop(make_sniffer_handler(this, &Sniffer::handle));
  11. }
  12. void Sniffer::setFilter(std::string filterString) {
  13. sniffer.set_filter(filterString);
  14. }
  15. bool Sniffer::handle(Tins::PDU &pdu) {
  16. // TODO implement handler for sniffed traffic
  17. std::cout << "packet sniffed" << std::endl;
  18. return false; // will stop sniffing after the first packet because this
  19. // handler returns false
  20. }