Пример #1
0
bool OfflinePacketFilter::matches_filter(const uint8_t* buffer, uint32_t total_sz) const {
    pcap_pkthdr header;
    memset(&header, 0, sizeof(header));
    header.len = total_sz;
    header.caplen = total_sz;
    return pcap_offline_filter(&filter_, &header, buffer) != 0;
}
Пример #2
0
void processpacket(struct metric *metrics, struct pcap_pkthdr *header, const u_char *pkt_data) {
	struct metric *m;

	for(m=metrics; m->name; m++) {
		if (pcap_offline_filter(&m->compiledfilter, header, pkt_data)) {
			m->bytes += header->caplen;
		}
	}
}