diff options
author | Ravi Kerur <ravi.kerur@viasat.com> | 2019-10-02 20:03:18 -0700 |
---|---|---|
committer | Ravi Kerur <ravi.kerur@viasat.com> | 2019-10-02 20:03:18 -0700 |
commit | 8897aa6acbac707b3b08cd523a497f85e5c29238 (patch) | |
tree | c7410b1749fea8bb0a745f1b2887067dba57bb17 /src | |
parent | c247a9d1919d84ba6f781e656e837baaa9cfc386 (diff) |
Move Hulu and Disney+ to category match.
Signed-off-by: Ravi Kerur <ravi.kerur@viasat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/ndpi_content_match.c.inc | 41 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 18 |
2 files changed, 44 insertions, 15 deletions
diff --git a/src/lib/ndpi_content_match.c.inc b/src/lib/ndpi_content_match.c.inc index 85cc60b58..0eed29d26 100644 --- a/src/lib/ndpi_content_match.c.inc +++ b/src/lib/ndpi_content_match.c.inc @@ -8307,15 +8307,6 @@ static ndpi_network host_protocol_list[] = { { 0xA7CEDA82 /* 167.206.218.130/32*/, 32, NDPI_PROTOCOL_PS_VUE }, { 0xA7CEDA8A /* 167.206.218.138/32*/, 32, NDPI_PROTOCOL_PS_VUE }, - /* AS23286 Hulu, LLC. */ - { 0x081C7C00 /* 8.28.124.0/24 */, 24, NDPI_PROTOCOL_HULU }, - { 0x081C7D00 /* 8.28.125.0/24 */, 24, NDPI_PROTOCOL_HULU }, - { 0xC7C83200 /* 199.200.50.0/23 */, 23, NDPI_PROTOCOL_HULU }, - { 0xC7C83300 /* 199.200.51.0/24 */, 24, NDPI_PROTOCOL_HULU }, - { 0xC73C7400 /* 199.60.116.0/24 */, 24, NDPI_PROTOCOL_HULU }, - { 0xD05B9E00 /* 208.91.158.0/23 */, 23, NDPI_PROTOCOL_HULU }, - { 0xD1F9BA00 /* 209.249.186.0/24 */, 24, NDPI_PROTOCOL_HULU }, - { 0x0, 0, 0 } }; @@ -8822,6 +8813,38 @@ static ndpi_category_match category_match[] = { { ".playercdn.net", "\\.playercdn" TLD, NDPI_PROTOCOL_CATEGORY_STREAMING }, { "showmax.com", "showmax" TLD, NDPI_PROTOCOL_CATEGORY_STREAMING }, { "showmax.akamaized.net", "showmax\\.akamaized" TLD, NDPI_PROTOCOL_CATEGORY_STREAMING }, + + /* Hulu Streaming services AS23286 */ + { "8.28.124.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "8.28.125.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "199.200.50.0/23", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "199.200.51.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "199.60.116.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "208.91.158.0/23", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "209.249.186.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + + /* Disney Streaming services AS11251 */ + { "8.4.4.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "8.5.5.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "8.33.30.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "63.116.222.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "63.116.223.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.192.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.193.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.200.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.201.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.202.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.203.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.204.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.205.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.206.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.207.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.208.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.209.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.212.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.216.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { "139.104.217.0/24", NULL, NDPI_PROTOCOL_CATEGORY_STREAMING }, + { NULL, NULL, 0 } }; diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index fa2192472..d346ce549 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -4234,7 +4234,6 @@ void ndpi_load_ip_category(struct ndpi_detection_module_struct *ndpi_str, char *ptr = strrchr(ip_address_and_mask, '/'); if(ptr) { - ptr[0] = '\0'; ptr++; if(atoi(ptr)>=0 && atoi(ptr)<=32) bits = atoi(ptr); @@ -4304,13 +4303,20 @@ int ndpi_load_hostname_category(struct ndpi_detection_module_struct *ndpi_str, /* ********************************************************************************* */ int ndpi_enable_loaded_categories(struct ndpi_detection_module_struct *ndpi_str) { - int i; + int i, ip_addr[4]; /* First add the nDPI known categories matches */ - for(i=0; category_match[i].string_to_match != NULL; i++) - ndpi_load_hostname_category(ndpi_str, - category_match[i].string_to_match, - category_match[i].protocol_category); + for(i=0; category_match[i].string_to_match != NULL; i++) { + if(sscanf(category_match[i].string_to_match, "%d.%d.%d.%d", &ip_addr[0], &ip_addr[1], &ip_addr[2], &ip_addr[3]) == 4){ + ndpi_load_ip_category(ndpi_str, + category_match[i].string_to_match, + category_match[i].protocol_category); + } else{ + ndpi_load_hostname_category(ndpi_str, + category_match[i].string_to_match, + category_match[i].protocol_category); + } + } #ifdef HAVE_HYPERSCAN if(ndpi_str->custom_categories.num_to_load > 0) { |