diff options
Diffstat (limited to 'example')
-rw-r--r-- | example/ndpiReader.c | 24 | ||||
-rw-r--r-- | example/reader_util.c | 12 | ||||
-rw-r--r-- | example/reader_util.h | 7 |
3 files changed, 43 insertions, 0 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c index b197ec8e6..0ef7cd9eb 100644 --- a/example/ndpiReader.c +++ b/example/ndpiReader.c @@ -523,6 +523,11 @@ static void help(u_int long_help) { #endif if(long_help) { + printf("\n\nSize of nDPI Flow structure: %u\n" + "Sizeof of nDPI Flow protocol union: %zu\n", + ndpi_detection_get_sizeof_ndpi_flow_struct(), + sizeof(((struct ndpi_flow_struct *)0)->protos)); + NDPI_PROTOCOL_BITMASK all; ndpi_info_mod = ndpi_init_detection_module(ndpi_no_prefs); @@ -1484,6 +1489,25 @@ static void printFlow(u_int32_t id, struct ndpi_flow_info *flow, u_int16_t threa } break; + case INFO_TIVOCONNECT: + if (flow->tivoconnect.identity_uuid[0] != '\0') + { + fprintf(out, "[UUID: %s]", flow->tivoconnect.identity_uuid); + } + if (flow->tivoconnect.machine[0] != '\0') + { + fprintf(out, "[Machine: %s]", flow->tivoconnect.machine); + } + if (flow->tivoconnect.platform[0] != '\0') + { + fprintf(out, "[Platform: %s]", flow->tivoconnect.platform); + } + if (flow->tivoconnect.services[0] != '\0') + { + fprintf(out, "[Services: %s]", flow->tivoconnect.services); + } + break; + case INFO_FTP_IMAP_POP_SMTP: if (flow->ftp_imap_pop_smtp.username[0] != '\0') { diff --git a/example/reader_util.c b/example/reader_util.c index a7c970de7..9c2b1cb02 100644 --- a/example/reader_util.c +++ b/example/reader_util.c @@ -1073,6 +1073,18 @@ void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_fl flow->bittorent_hash[j] = '\0'; } } + /* TIVOCONNECT */ + else if(is_ndpi_proto(flow, NDPI_PROTOCOL_TIVOCONNECT)) { + flow->info_type = INFO_TIVOCONNECT; + ndpi_snprintf(flow->tivoconnect.identity_uuid, sizeof(flow->tivoconnect.identity_uuid), + "%s", flow->ndpi_flow->protos.tivoconnect.identity_uuid); + ndpi_snprintf(flow->tivoconnect.machine, sizeof(flow->tivoconnect.machine), + "%s", flow->ndpi_flow->protos.tivoconnect.machine); + ndpi_snprintf(flow->tivoconnect.platform, sizeof(flow->tivoconnect.platform), + "%s", flow->ndpi_flow->protos.tivoconnect.platform); + ndpi_snprintf(flow->tivoconnect.services, sizeof(flow->tivoconnect.services), + "%s", flow->ndpi_flow->protos.tivoconnect.services); + } /* SOFTETHER */ else if(is_ndpi_proto(flow, NDPI_PROTOCOL_SOFTETHER) && !is_ndpi_proto(flow, NDPI_PROTOCOL_HTTP)) { flow->info_type = INFO_SOFTETHER; diff --git a/example/reader_util.h b/example/reader_util.h index dab9ae57d..26510f700 100644 --- a/example/reader_util.h +++ b/example/reader_util.h @@ -163,6 +163,7 @@ enum info_type { INFO_GENERIC, INFO_KERBEROS, INFO_SOFTETHER, + INFO_TIVOCONNECT, INFO_FTP_IMAP_POP_SMTP, INFO_TLS_QUIC_ALPN_VERSION, INFO_TLS_QUIC_ALPN_ONLY, @@ -234,6 +235,12 @@ typedef struct ndpi_flow_info { char hostname[48]; char fqdn[48]; } softether; + struct { + char identity_uuid[36]; + char machine[48]; + char platform[32]; + char services[48]; + } tivoconnect; }; ndpi_serializer ndpi_flow_serializer; |