aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2022-06-04 14:30:52 +0200
committerGitHub <noreply@github.com>2022-06-04 14:30:52 +0200
commit338427d71290a3df44c9f43b49a8609964ec63a6 (patch)
tree78a0529ac3511930e0b20da7adb2e454c7d24178 /src/lib
parentff8e1e197e900e0d716bca1bb92c44164e66b9ba (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.inc91
-rw-r--r--src/lib/ndpi_content_match.c.inc36
-rw-r--r--src/lib/ndpi_main.c2
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);
}
}