mirror of
https://github.com/pavel-odintsov/fastnetmon
synced 2024-11-24 02:46:36 +01:00
Fix raw pcap reader code
This commit is contained in:
parent
df91a4fae2
commit
0cb0180fde
@ -125,24 +125,24 @@ void pcap_parse_packet(char* buffer, uint32_t len, uint32_t snap_len) {
|
|||||||
read_sflow_datagram(&sample);
|
read_sflow_datagram(&sample);
|
||||||
} else if (strcmp(flow_type, "raw") == 0) {
|
} else if (strcmp(flow_type, "raw") == 0) {
|
||||||
// We do not need parsed data here
|
// We do not need parsed data here
|
||||||
struct pfring_pkthdr packet_header;
|
struct pfring_pkthdr raw_packet_header;
|
||||||
memset(&packet_header, 0, sizeof(packet_header));
|
memset(&raw_packet_header, 0, sizeof(raw_packet_header));
|
||||||
|
|
||||||
packet_header.len = payload_length;
|
raw_packet_header.len = len;
|
||||||
packet_header.caplen = payload_length;
|
raw_packet_header.caplen = snap_len;
|
||||||
|
|
||||||
int parser_return_code = fastnetmon_parse_pkt((u_char*)buffer, &packet_header, 4, 1, 0);
|
int parser_return_code = fastnetmon_parse_pkt((u_char*)buffer, &raw_packet_header, 4, 1, 0);
|
||||||
|
|
||||||
// We are not interested so much in l2 data and we interested only in l3 data here and more
|
// We are not interested so much in l2 data and we interested only in l3 data here and more
|
||||||
if (parser_return_code < 3) {
|
if (parser_return_code < 3) {
|
||||||
printf("Parser failed for following packet\n");
|
printf("Parser failed for with code %d following packet with number %llu\n", parser_return_code, raw_unparsed_packets + raw_parsed_packets);
|
||||||
raw_unparsed_packets++;
|
raw_unparsed_packets++;
|
||||||
} else {
|
} else {
|
||||||
raw_parsed_packets++;
|
raw_parsed_packets++;
|
||||||
}
|
}
|
||||||
|
|
||||||
char print_buffer[512];
|
char print_buffer[512];
|
||||||
fastnetmon_print_parsed_pkt(print_buffer, 512, (u_char*)buffer, &packet_header);
|
fastnetmon_print_parsed_pkt(print_buffer, 512, (u_char*)buffer, &raw_packet_header);
|
||||||
printf("%s", print_buffer);
|
printf("%s", print_buffer);
|
||||||
} else if (strcmp(flow_type, "dpi") == 0) {
|
} else if (strcmp(flow_type, "dpi") == 0) {
|
||||||
#ifdef ENABLE_DPI
|
#ifdef ENABLE_DPI
|
||||||
@ -248,9 +248,10 @@ int main(int argc, char** argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_DPI
|
#ifdef ENABLE_DPI
|
||||||
|
if (strcmp(flow_type, "dpi") == 0) {
|
||||||
printf("DNS amplification packets: %lld\n", dns_amplification_packets);
|
printf("DNS amplification packets: %lld\n", dns_amplification_packets);
|
||||||
printf("NTP amplification packets: %lld\n", ntp_amplification_packets);
|
printf("NTP amplification packets: %lld\n", ntp_amplification_packets);
|
||||||
printf("SSDP amplification packets: %lld\n", ssdp_amplification_packets);
|
printf("SSDP amplification packets: %lld\n", ssdp_amplification_packets);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user