diff options
author | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2022-06-04 14:30:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-04 14:30:52 +0200 |
commit | 338427d71290a3df44c9f43b49a8609964ec63a6 (patch) | |
tree | 78a0529ac3511930e0b20da7adb2e454c7d24178 /src/lib | |
parent | ff8e1e197e900e0d716bca1bb92c44164e66b9ba (diff) |
Add support for GoTo products (mainly GoToMeeting) (#1580)
There is some overlap with Citrix protocol.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/inc_generated/ndpi_asn_goto.c.inc | 91 | ||||
-rw-r--r-- | src/lib/ndpi_content_match.c.inc | 36 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 2 |
3 files changed, 129 insertions, 0 deletions
diff --git a/src/lib/inc_generated/ndpi_asn_goto.c.inc b/src/lib/inc_generated/ndpi_asn_goto.c.inc new file mode 100644 index 000000000..17935b031 --- /dev/null +++ b/src/lib/inc_generated/ndpi_asn_goto.c.inc @@ -0,0 +1,91 @@ +/* + * + * This file is generated automatically and part of nDPI + * + * nDPI is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * nDPI is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/* ****************************************************** */ + + +static ndpi_network ndpi_protocol_goto_protocol_list[] = { + { 0x17EFE300 /* 23.239.227.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x404A1100 /* 64.74.17.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x404A1200 /* 64.74.18.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x405F8000 /* 64.95.128.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x43D94400 /* 67.217.68.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D94600 /* 67.217.70.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x43D94800 /* 67.217.72.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D94B00 /* 67.217.75.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D94C00 /* 67.217.76.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x43D94E00 /* 67.217.78.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D95000 /* 67.217.80.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x43D95200 /* 67.217.82.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D95400 /* 67.217.84.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D95600 /* 67.217.86.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D95800 /* 67.217.88.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D95A00 /* 67.217.90.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x43D95C00 /* 67.217.92.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x43D95E00 /* 67.217.94.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x44400000 /* 68.64.0.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x44400800 /* 68.64.8.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x44400A00 /* 68.64.10.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x44400C00 /* 68.64.12.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x44400E00 /* 68.64.14.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x44401100 /* 68.64.17.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x44401200 /* 68.64.18.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x44401400 /* 68.64.20.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x44401600 /* 68.64.22.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x44401800 /* 68.64.24.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x44401B00 /* 68.64.27.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x44401C00 /* 68.64.28.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x44401E00 /* 68.64.30.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0x4E6C7400 /* 78.108.116.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0x4E6C7800 /* 78.108.120.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x4E6C7E00 /* 78.108.126.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0x5FAC4600 /* 95.172.70.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xADC70000 /* 173.199.0.0/21 */, 21, NDPI_PROTOCOL_GOTO }, + { 0xADC70C00 /* 173.199.12.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xADC70F00 /* 173.199.15.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xADC71100 /* 173.199.17.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xADC71200 /* 173.199.18.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xADC71400 /* 173.199.20.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xADC71700 /* 173.199.23.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xADC71A00 /* 173.199.26.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xADC71E00 /* 173.199.30.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xADC72000 /* 173.199.32.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xADC72B00 /* 173.199.43.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xADC72C00 /* 173.199.44.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0xADC73200 /* 173.199.50.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xADC73400 /* 173.199.52.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0xADC73C00 /* 173.199.60.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0xBC422B00 /* 188.66.43.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xCAAD1900 /* 202.173.25.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xCEB76400 /* 206.183.100.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD873D000 /* 216.115.208.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD873D200 /* 216.115.210.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xD873D500 /* 216.115.213.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD873D600 /* 216.115.214.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xD873D900 /* 216.115.217.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD873DA00 /* 216.115.218.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD873DD00 /* 216.115.221.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD873DE00 /* 216.115.222.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xD8DB7200 /* 216.219.114.0/23 */, 23, NDPI_PROTOCOL_GOTO }, + { 0xD8DB7400 /* 216.219.116.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD8DB7700 /* 216.219.119.0/24 */, 24, NDPI_PROTOCOL_GOTO }, + { 0xD8DB7800 /* 216.219.120.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + /* End */ + { 0x0, 0, 0 } +}; diff --git a/src/lib/ndpi_content_match.c.inc b/src/lib/ndpi_content_match.c.inc index 16e0c0af0..2fe501ab8 100644 --- a/src/lib/ndpi_content_match.c.inc +++ b/src/lib/ndpi_content_match.c.inc @@ -749,6 +749,22 @@ static ndpi_network host_protocol_list[] = { https://help.salesforce.com/s/articleView?id=000321501&type=1 */ + /* + GoTo products (mainly GoToMeeting) + Some of the IPs reported at + https://support.goto.com/connect/help/what-are-gotoconnects-ip-blocks-gotoconnect-gotoconnects-ip-blocks + are not present in the GoTo/LogMeIn/Citrix ASn + To be extra safe, add here the entire list. + TODO: are we able to autogenerate this list? + */ + { 0xC724F800 /* 199.36.248.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0xC7577800 /* 199.87.120.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0xA2FA3C00 /* 162.250.60.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0x2D0CC400 /* 45.12.196.0/22 */, 22, NDPI_PROTOCOL_GOTO }, + { 0xCAAD1800 /* 202.173.24.0/21 */, 21, NDPI_PROTOCOL_GOTO }, + { 0xADC70000 /* 173.199.0.0/18 */, 18, NDPI_PROTOCOL_GOTO }, + { 0x17EFE000 /* 23.239.224.0/19 */, 19, NDPI_PROTOCOL_GOTO }, + #ifdef CUSTOM_NDPI_PROTOCOLS #include "../../../nDPI-custom/custom_ndpi_content_match_host_protocol_list.c.inc" #endif @@ -1648,6 +1664,26 @@ static ndpi_protocol_match host_match[] = { "daznedge.net", "Dazn", NDPI_PROTOCOL_DAZN, NDPI_PROTOCOL_CATEGORY_STREAMING, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DEFAULT_LEVEL }, { "dcavoddazn.akamaized.net", "Dazn", NDPI_PROTOCOL_DAZN, NDPI_PROTOCOL_CATEGORY_STREAMING, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "goto.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "getgo.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "gotomeeting.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "expertcity.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "goto-rtc.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "logmeininc.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "gotowebinar.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "gototraining.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "launchdarkly.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "api-pub.mltree.net", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "getgocdn.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "cdngetgo.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "gotomeet.at", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "gotomeet.me", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "getgoservices.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "getgoservices.net", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "gotoconference.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "gotoroom.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + { "joinwebinar.com", "GoTo", NDPI_PROTOCOL_GOTO, NDPI_PROTOCOL_CATEGORY_VOIP, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DEFAULT_LEVEL }, + #ifdef CUSTOM_NDPI_PROTOCOLS #include "../../../nDPI-custom/custom_ndpi_content_match_host_match.c.inc" #endif diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index 2abec633b..1e90d4bf1 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -83,6 +83,7 @@ #include "inc_generated/ndpi_asn_bloomberg.c.inc" #include "inc_generated/ndpi_asn_citrix.c.inc" #include "inc_generated/ndpi_asn_edgecast.c.inc" +#include "inc_generated/ndpi_asn_goto.c.inc" /* Third party libraries */ #include "third_party/include/ndpi_patricia.h" @@ -2538,6 +2539,7 @@ struct ndpi_detection_module_struct *ndpi_init_detection_module(ndpi_init_prefs ndpi_init_ptree_ipv4(ndpi_str, ndpi_str->protocols_ptree, ndpi_protocol_bloomberg_protocol_list); ndpi_init_ptree_ipv4(ndpi_str, ndpi_str->protocols_ptree, ndpi_protocol_citrix_protocol_list); ndpi_init_ptree_ipv4(ndpi_str, ndpi_str->protocols_ptree, ndpi_protocol_edgecast_protocol_list); + ndpi_init_ptree_ipv4(ndpi_str, ndpi_str->protocols_ptree, ndpi_protocol_goto_protocol_list); } } |