aboutsummaryrefslogtreecommitdiff
path: root/example/ndpiReader.c
diff options
context:
space:
mode:
authorLuca Deri <lucaderi@users.noreply.github.com>2015-05-21 19:09:29 +0200
committerLuca Deri <lucaderi@users.noreply.github.com>2015-05-21 19:09:29 +0200
commit9542227f2e7b7ef54b7209c762dcf39ef58faf8d (patch)
treea86e3dee33a01fa7992731d05c4fddd5c3b710ba /example/ndpiReader.c
parente4923a589c04584a2faa7d9ce35e9875f41b1153 (diff)
parentb3b0ce7237fed3d236d2113933a3041264a52828 (diff)
Merge pull request #9 from lucagiove/dev
Introduced incremental versioning from git tag and -r option to ndpiReader to print revision
Diffstat (limited to 'example/ndpiReader.c')
-rw-r--r--example/ndpiReader.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 84bece123..50ace72b1 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -160,7 +160,7 @@ static u_int32_t size_id_struct = 0; //< ID tracking structure size
#endif
// flow tracking
-typedef struct ndpi_flow {
+typedef struct ndpi_flow {
u_int32_t lower_ip;
u_int32_t upper_ip;
u_int16_t lower_port;
@@ -208,6 +208,7 @@ static void help(u_int long_help) {
" -d | Disable protocol guess and use only DPI\n"
" -q | Quiet mode\n"
" -t | Dissect GTP tunnels\n"
+ " -r | Print nDPI version and git revision\n"
" -w <path> | Write test output on the specified file. This is useful for\n"
" | testing purposes in order to compare results across runs\n"
" -h | This help\n"
@@ -232,7 +233,7 @@ static void parseOptions(int argc, char **argv) {
u_int num_cores = sysconf(_SC_NPROCESSORS_ONLN);
#endif
- while ((opt = getopt(argc, argv, "df:g:i:hp:l:s:tv:V:n:j:w:q")) != EOF) {
+ while ((opt = getopt(argc, argv, "df:g:i:hp:l:s:tv:V:n:j:rp:w:q")) != EOF) {
switch (opt) {
case 'd':
enable_protocol_guess = 0;
@@ -271,6 +272,10 @@ static void parseOptions(int argc, char **argv) {
decode_tunnels = 1;
break;
+ case 'r':
+ printf("ndpiReader, nDPI (%s)\n\n", ndpi_revision());
+ exit(0);
+
case 'v':
verbose = atoi(optarg);
break;
@@ -304,7 +309,7 @@ static void parseOptions(int argc, char **argv) {
case 'q':
quiet_mode = 1;
break;
-
+
default:
help(0);
break;
@@ -637,7 +642,7 @@ static void node_idle_scan_walker(const void *node, ndpi_VISIT which, int depth,
if (flow->detected_protocol == 0 /* UNKNOWN */ && !undetected_flows_deleted)
undetected_flows_deleted = 1;
-
+
free_ndpi_flow(flow);
ndpi_thread_info[thread_id].stats.ndpi_flow_count--;
@@ -866,7 +871,7 @@ static struct ndpi_flow *get_ndpi_flow6(u_int16_t thread_id,
if(iph.protocol == 0x3C /* IPv6 destination option */) {
u_int8_t *options = (u_int8_t*)iph6 + sizeof(const struct ndpi_ip6_hdr);
-
+
iph.protocol = options[0];
}
@@ -884,7 +889,7 @@ static void setupDetection(u_int16_t thread_id) {
memset(&ndpi_thread_info[thread_id], 0, sizeof(ndpi_thread_info[thread_id]));
// init global detection structure
- ndpi_thread_info[thread_id].ndpi_struct = ndpi_init_detection_module(detection_tick_resolution,
+ ndpi_thread_info[thread_id].ndpi_struct = ndpi_init_detection_module(detection_tick_resolution,
malloc_wrapper, free_wrapper, debug_printf);
if(ndpi_thread_info[thread_id].ndpi_struct == NULL) {
printf("ERROR: global structure initialization failed\n");
@@ -978,14 +983,14 @@ static unsigned int packet_processing(u_int16_t thread_id,
}
if((
- (flow->detected_protocol == NDPI_PROTOCOL_HTTP)
+ (flow->detected_protocol == NDPI_PROTOCOL_HTTP)
|| (flow->detected_protocol == NDPI_SERVICE_FACEBOOK)
)
&& full_http_dissection) {
char *method;
printf("[URL] %s\n", ndpi_get_http_url(ndpi_thread_info[thread_id].ndpi_struct, ndpi_flow));
- printf("[Content-Type] %s\n", ndpi_get_http_content_type(ndpi_thread_info[thread_id].ndpi_struct, ndpi_flow));
+ printf("[Content-Type] %s\n", ndpi_get_http_content_type(ndpi_thread_info[thread_id].ndpi_struct, ndpi_flow));
switch(ndpi_get_http_method(ndpi_thread_info[thread_id].ndpi_struct, ndpi_flow)) {
case HTTP_METHOD_OPTIONS: method = "HTTP_METHOD_OPTIONS"; break;
@@ -1271,7 +1276,7 @@ static void printResults(u_int64_t tot_usec) {
ndpi_get_proto_name(ndpi_thread_info[0].ndpi_struct, i),
(long long unsigned int)cumulative_stats.protocol_counter[i],
(long long unsigned int)cumulative_stats.protocol_counter_bytes[i],
- cumulative_stats.protocol_flows[i]);
+ cumulative_stats.protocol_flows[i]);
if((!json_flag) && (!quiet_mode)) {
printf("\t%-20s packets: %-13llu bytes: %-13llu "
@@ -1594,7 +1599,7 @@ static void pcap_packet_callback(u_char *args, const struct pcap_pkthdr *header,
if(proto == 0x3C /* IPv6 destination option */) {
u_int8_t *options = (u_int8_t*)&packet[ip_offset+ip_len];
-
+
proto = options[0];
ip_len += 8 * (options[1] + 1);
}