void *thread_proc(void *param) { // IP address is our parameter. sniffer_data *data = (sniffer_data*)param; Sniffer *sniffer = data->first; sniffer->set_filter("tcp and ip src " + data->second + " and tcp[tcpflags] & (tcp-rst|tcp-syn) != 0"); // Sniff loop. Only sniff TCP PDUs comming from the given IP and have either RST or SYN flag on. sniffer->sniff_loop(handler); return 0; }
void arp_monitor::run(Sniffer& sniffer) { sniffer.sniff_loop( bind( &arp_monitor::callback, this, std::placeholders::_1 ) ); }