diff options
author | Luca Deri <deri@ntop.org> | 2018-04-24 15:48:46 +0200 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2018-04-24 15:48:46 +0200 |
commit | 7798b964fe9d8f42a19b4fb03ec8ad6e3ad76e9c (patch) | |
tree | 7ce04342cf2917aa17da1e13a1226d022ad9686f | |
parent | 44e2e0beea52394337232796fa18f290adedc4d6 (diff) |
Replaces outdates socrates protocol with ntop
-rw-r--r-- | src/include/ndpi_protocol_ids.h | 2 | ||||
-rw-r--r-- | src/lib/Makefile.am | 1 | ||||
-rw-r--r-- | src/lib/ndpi_content_match.c.inc | 2 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 7 | ||||
-rw-r--r-- | src/lib/protocols/socrates.c | 89 | ||||
-rw-r--r-- | tests/result/http_ipv6.pcap.out | 10 | ||||
-rw-r--r-- | tests/result/mpeg.pcap.out | 2 |
7 files changed, 11 insertions, 102 deletions
diff --git a/src/include/ndpi_protocol_ids.h b/src/include/ndpi_protocol_ids.h index 16d537624..670b57468 100644 --- a/src/include/ndpi_protocol_ids.h +++ b/src/include/ndpi_protocol_ids.h @@ -63,7 +63,7 @@ #define NDPI_PROTOCOL_MAIL_POPS 23 #define NDPI_PROTOCOL_APPLEJUICE 24 #define NDPI_PROTOCOL_DIRECTCONNECT 25 -#define NDPI_PROTOCOL_SOCRATES 26 +#define NDPI_PROTOCOL_NTOP 26 #define NDPI_PROTOCOL_COAP 27 #define NDPI_PROTOCOL_VMWARE 28 #define NDPI_PROTOCOL_MAIL_SMTPS 29 diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 28b425022..ea29f89f7 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -127,7 +127,6 @@ libndpi_la_SOURCES = ndpi_content_match.c.inc \ protocols/smb.c \ protocols/snmp.c \ protocols/socks45.c \ - protocols/socrates.c \ protocols/sopcast.c \ protocols/soulseek.c \ protocols/spotify.c \ diff --git a/src/lib/ndpi_content_match.c.inc b/src/lib/ndpi_content_match.c.inc index 1b8200a4a..888b0e560 100644 --- a/src/lib/ndpi_content_match.c.inc +++ b/src/lib/ndpi_content_match.c.inc @@ -8040,6 +8040,8 @@ ndpi_protocol_match host_match[] = { { "android.clients.google.com", NULL, NULL, "PlayStore", NDPI_PROTOCOL_PLAYSTORE, NDPI_PROTOCOL_CATEGORY_SW_UPDATE, NDPI_PROTOCOL_SAFE }, { "ggpht.com", NULL, NULL, "PlayStore", NDPI_PROTOCOL_PLAYSTORE, NDPI_PROTOCOL_CATEGORY_SW_UPDATE, NDPI_PROTOCOL_SAFE }, + { "ntop.org", NULL, NULL, "ntop", NDPI_PROTOCOL_NTOP, NDPI_PROTOCOL_CATEGORY_NETWORK, NDPI_PROTOCOL_SAFE }, + /* See https://better.fyi/trackers/ diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index afabf820e..e798dffba 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -1006,9 +1006,9 @@ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp no_master, "DirectConnect", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT, ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_SOCRATES, + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_NTOP, no_master, - no_master, "Socrates", NDPI_PROTOCOL_CATEGORY_NETWORK, + no_master, "ntop", NDPI_PROTOCOL_CATEGORY_NETWORK, ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VMWARE, @@ -2647,9 +2647,6 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n /* DHCP */ init_dhcp_dissector(ndpi_struct, &a, detection_bitmask); - /* SOCRATES */ - init_socrates_dissector(ndpi_struct, &a, detection_bitmask); - /* STEAM */ init_steam_dissector(ndpi_struct, &a, detection_bitmask); diff --git a/src/lib/protocols/socrates.c b/src/lib/protocols/socrates.c deleted file mode 100644 index 2dfad068d..000000000 --- a/src/lib/protocols/socrates.c +++ /dev/null @@ -1,89 +0,0 @@ -/* - * socrates.c - * - * Copyright (C) 2009-2011 by ipoque GmbH - * Copyright (C) 2011-15 - ntop.org - * - * This file is part of nDPI, an open source deep packet inspection - * library based on the OpenDPI and PACE technology by ipoque GmbH - * - * 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/>. - * - */ - - -#include "ndpi_protocol_ids.h" - -#ifdef NDPI_PROTOCOL_SOCRATES - -#define NDPI_CURRENT_PROTO NDPI_PROTOCOL_SOCRATES - -#include "ndpi_api.h" - -static void ndpi_socrates_add_connection(struct ndpi_detection_module_struct - *ndpi_struct, struct ndpi_flow_struct *flow) -{ - ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SOCRATES, NDPI_PROTOCOL_UNKNOWN); -} - -void ndpi_search_socrates(struct ndpi_detection_module_struct - *ndpi_struct, struct ndpi_flow_struct *flow) -{ - struct ndpi_packet_struct *packet = &flow->packet; - - NDPI_LOG_DBG(ndpi_struct, "search socrates\n"); - - if (packet->udp != NULL) { - if (packet->payload_packet_len > 9 && packet->payload[0] == 0xfe - && packet->payload[packet->payload_packet_len - 1] == 0x05) { - NDPI_LOG_DBG2(ndpi_struct, "found fe\n"); - - NDPI_LOG_DBG2(ndpi_struct, "len match\n"); - if (memcmp(&packet->payload[2], "socrates", 8) == 0) { - NDPI_LOG_INFO(ndpi_struct, "found socrates udp\n"); - ndpi_socrates_add_connection(ndpi_struct, flow); - } - - } - } else if (packet->tcp != NULL) { - if (packet->payload_packet_len > 13 && packet->payload[0] == 0xfe - && packet->payload[packet->payload_packet_len - 1] == 0x05) { - NDPI_LOG_DBG2(ndpi_struct, "found fe\n"); - if (packet->payload_packet_len == ntohl(get_u_int32_t(packet->payload, 2))) { - NDPI_LOG_DBG2(ndpi_struct, "len match\n"); - if (memcmp(&packet->payload[6], "socrates", 8) == 0) { - NDPI_LOG_INFO(ndpi_struct, "found socrates tcp\n"); - ndpi_socrates_add_connection(ndpi_struct, flow); - } - } - } - } - - NDPI_EXCLUDE_PROTO(ndpi_struct, flow); -} - - -void init_socrates_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask) -{ - ndpi_set_bitmask_protocol_detection("Socrates", ndpi_struct, detection_bitmask, *id, - NDPI_PROTOCOL_SOCRATES, - ndpi_search_socrates, - NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP_WITH_PAYLOAD, - SAVE_DETECTION_BITMASK_AS_UNKNOWN, - ADD_TO_DETECTION_BITMASK); - - *id += 1; -} - -#endif diff --git a/tests/result/http_ipv6.pcap.out b/tests/result/http_ipv6.pcap.out index 5877c5745..9d95aa27a 100644 --- a/tests/result/http_ipv6.pcap.out +++ b/tests/result/http_ipv6.pcap.out @@ -1,14 +1,14 @@ +ntop 80 36401 4 SSL 26 3245 7 Facebook 22 10202 2 Google 62 15977 1 QUIC 3 502 1 -ntop 80 36401 4 1 UDP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:45931 <-> [2a00:1450:4001:803::1017]:443 [proto: 188.126/QUIC.Google][33 pkts/7741 bytes <-> 29 pkts/8236 bytes][Host: www.google.it] - 2 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37506 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.244/SSL.ntop][14 pkts/3969 bytes <-> 12 pkts/11648 bytes][client: www.ntop.org] - 3 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37486 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.244/SSL.ntop][11 pkts/1292 bytes <-> 8 pkts/5722 bytes][client: www.ntop.org] - 4 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37494 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.244/SSL.ntop][10 pkts/1206 bytes <-> 8 pkts/5722 bytes][client: www.ntop.org] - 5 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37488 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.244/SSL.ntop][10 pkts/1206 bytes <-> 7 pkts/5636 bytes][client: www.ntop.org] + 2 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37506 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.26/SSL.ntop][14 pkts/3969 bytes <-> 12 pkts/11648 bytes][client: www.ntop.org] + 3 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37486 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.26/SSL.ntop][11 pkts/1292 bytes <-> 8 pkts/5722 bytes][client: www.ntop.org] + 4 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37494 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.26/SSL.ntop][10 pkts/1206 bytes <-> 8 pkts/5722 bytes][client: www.ntop.org] + 5 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:37488 <-> [2a03:b0c0:3:d0::70:1001]:443 [proto: 91.26/SSL.ntop][10 pkts/1206 bytes <-> 7 pkts/5636 bytes][client: www.ntop.org] 6 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:53132 <-> [2a02:26f0:ad:197::236]:443 [proto: 91.119/SSL.Facebook][7 pkts/960 bytes <-> 5 pkts/4227 bytes][client: s-static.ak.facebook.com][server: *.ak.fbcdn.net] 7 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:53134 <-> [2a02:26f0:ad:197::236]:443 [proto: 91.119/SSL.Facebook][6 pkts/874 bytes <-> 4 pkts/4141 bytes][client: s-static.ak.facebook.com][server: *.ak.fbcdn.net] 8 TCP [2a00:d40:1:3:7aac:c0ff:fea7:d4c]:41776 <-> [2a00:1450:4001:803::1017]:443 [proto: 91/SSL][7 pkts/860 bytes <-> 7 pkts/1353 bytes] diff --git a/tests/result/mpeg.pcap.out b/tests/result/mpeg.pcap.out index 45dc7b365..033c451f8 100644 --- a/tests/result/mpeg.pcap.out +++ b/tests/result/mpeg.pcap.out @@ -1,3 +1,3 @@ ntop 19 10643 1 - 1 TCP 192.168.80.160:55804 <-> 46.101.157.119:80 [proto: 7.244/HTTP.ntop][9 pkts/754 bytes <-> 10 pkts/9889 bytes][Host: luca.ntop.org] + 1 TCP 192.168.80.160:55804 <-> 46.101.157.119:80 [proto: 7.26/HTTP.ntop][9 pkts/754 bytes <-> 10 pkts/9889 bytes][Host: luca.ntop.org] |