diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/ndpi_protocol_ids.h | 5 | ||||
-rw-r--r-- | src/include/ndpi_protocols.h | 2 | ||||
-rw-r--r-- | src/include/ndpi_typedefs.h | 3 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 8 | ||||
-rw-r--r-- | src/lib/protocols/winmx.c | 117 |
5 files changed, 2 insertions, 133 deletions
diff --git a/src/include/ndpi_protocol_ids.h b/src/include/ndpi_protocol_ids.h index 5bd5434a9..a60cd5603 100644 --- a/src/include/ndpi_protocol_ids.h +++ b/src/include/ndpi_protocol_ids.h @@ -83,7 +83,7 @@ #define NDPI_PROTOCOL_APPLEJUICE 24 #define NDPI_PROTOCOL_DIRECTCONNECT 25 #define NDPI_PROTOCOL_SOCRATES 26 -#define NDPI_PROTOCOL_WINMX 27 +#define NDPI_PROTOCOL_COAP 27 #define NDPI_PROTOCOL_VMWARE 28 #define NDPI_PROTOCOL_MAIL_SMTPS 29 #define NDPI_PROTOCOL_FILETOPIA 30 @@ -270,10 +270,9 @@ #define NDPI_SERVICE_OFFICE_365 219 #define NDPI_SERVICE_CLOUDFLARE 220 #define NDPI_SERVICE_MS_ONE_DRIVE 221 -#define NDPI_PROTOCOL_COAP 222 /* UPDATE UPDATE UPDATE UPDATE UPDATE UPDATE UPDATE UPDATE UPDATE */ -#define NDPI_LAST_IMPLEMENTED_PROTOCOL NDPI_PROTOCOL_COAP +#define NDPI_LAST_IMPLEMENTED_PROTOCOL NDPI_SERVICE_MS_ONE_DRIVE #define NDPI_MAX_SUPPORTED_PROTOCOLS (NDPI_LAST_IMPLEMENTED_PROTOCOL + 1) #define NDPI_MAX_NUM_CUSTOM_PROTOCOLS (NDPI_NUM_BITS-NDPI_LAST_IMPLEMENTED_PROTOCOL) diff --git a/src/include/ndpi_protocols.h b/src/include/ndpi_protocols.h index 673725678..cb83633bd 100644 --- a/src/include/ndpi_protocols.h +++ b/src/include/ndpi_protocols.h @@ -60,7 +60,6 @@ int ndpi_bittorrent_gc(struct hash_ip4p_table *ht,int key,time_t now); void ndpi_search_edonkey(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); void ndpi_search_fasttrack_tcp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); void ndpi_search_gnutella(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); -void ndpi_search_winmx_tcp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); void ndpi_search_directconnect(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); void ndpi_search_applejuice_tcp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); void ndpi_search_i23v5(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); @@ -327,7 +326,6 @@ void init_vmware_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_i void init_vnc_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); void init_warcraft3_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); void init_whois_das_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); -void init_winmx_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); void init_world_of_warcraft_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); void init_world_of_kung_fu_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); void init_xbox_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask); diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h index 620c9685d..ed74b9a07 100644 --- a/src/include/ndpi_typedefs.h +++ b/src/include/ndpi_typedefs.h @@ -474,9 +474,6 @@ struct ndpi_flow_tcp_struct { u_int32_t irc_direction:2; u_int32_t irc_0x1000_full:1; #endif -#ifdef NDPI_PROTOCOL_WINMX - u_int32_t winmx_stage:1; // 0 - 1 -#endif #ifdef NDPI_PROTOCOL_SOULSEEK u_int32_t soulseek_stage:2; #endif diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index dc4ff74a5..591472e58 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -819,11 +819,6 @@ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp no_master, "Socrates", 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_WINMX, - no_master, - no_master, "WinMX", - 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, no_master, no_master, "VMware", @@ -2132,9 +2127,6 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n /* GNUTELLA */ init_gnutella_dissector(ndpi_struct, &a, detection_bitmask); - /* WINMX */ - init_winmx_dissector(ndpi_struct, &a, detection_bitmask); - /* DIRECTCONNECT */ init_directconnect_dissector(ndpi_struct, &a, detection_bitmask); diff --git a/src/lib/protocols/winmx.c b/src/lib/protocols/winmx.c deleted file mode 100644 index 31d4b1ed6..000000000 --- a/src/lib/protocols/winmx.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * winmx.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_protocols.h" - -#ifdef NDPI_PROTOCOL_WINMX - - -static void ndpi_int_winmx_add_connection(struct ndpi_detection_module_struct - *ndpi_struct, struct ndpi_flow_struct *flow); - -static void ndpi_int_winmx_add_connection(struct ndpi_detection_module_struct - *ndpi_struct, struct ndpi_flow_struct *flow) -{ - ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_WINMX, NDPI_PROTOCOL_UNKNOWN); -} - - -void ndpi_search_winmx_tcp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow) -{ - struct ndpi_packet_struct *packet = &flow->packet; - - // struct ndpi_id_struct *src=ndpi_struct->src; - // struct ndpi_id_struct *dst=ndpi_struct->dst; - - - if (flow->l4.tcp.winmx_stage == 0) { - if (packet->payload_packet_len == 1 || (packet->payload_packet_len > 1 && packet->payload[0] == 0x31)) { - return; - } - /* did not see this pattern in any trace that we have */ - if (((packet->payload_packet_len) == 4) - && (memcmp(packet->payload, "SEND", 4) == 0)) { - - NDPI_LOG(NDPI_PROTOCOL_WINMX, ndpi_struct, NDPI_LOG_DEBUG, "maybe WinMX Send\n"); - flow->l4.tcp.winmx_stage = 1; - return; - } - - if (((packet->payload_packet_len) == 3) - && (memcmp(packet->payload, "GET", 3) == 0)) { - NDPI_LOG(NDPI_PROTOCOL_WINMX, ndpi_struct, NDPI_LOG_DEBUG, "found winmx by GET\n"); - ndpi_int_winmx_add_connection(ndpi_struct, flow); - return; - } - - - if (packet->payload_packet_len == 149 && packet->payload[0] == '8') { - NDPI_LOG(NDPI_PROTOCOL_WINMX, ndpi_struct, NDPI_LOG_DEBUG, "maybe WinMX\n"); - if (get_u_int32_t(packet->payload, 17) == 0 - && get_u_int32_t(packet->payload, 21) == 0 - && get_u_int32_t(packet->payload, 25) == 0 - && get_u_int16_t(packet->payload, 39) == 0 && get_u_int16_t(packet->payload, 135) == htons(0x7edf) - && get_u_int16_t(packet->payload, 147) == htons(0xf792)) { - - NDPI_LOG(NDPI_PROTOCOL_WINMX, ndpi_struct, NDPI_LOG_DEBUG, - "found winmx by pattern in first packet\n"); - ndpi_int_winmx_add_connection(ndpi_struct, flow); - return; - } - } - /* did not see this pattern in any trace that we have */ - } else if (flow->l4.tcp.winmx_stage == 1) { - if (packet->payload_packet_len > 10 && packet->payload_packet_len < 1000) { - u_int16_t left = packet->payload_packet_len - 1; - while (left > 0) { - if (packet->payload[left] == ' ') { - NDPI_LOG(NDPI_PROTOCOL_WINMX, ndpi_struct, NDPI_LOG_DEBUG, "found winmx in second packet\n"); - ndpi_int_winmx_add_connection(ndpi_struct, flow); - return; - } else if (packet->payload[left] < '0' || packet->payload[left] > '9') { - break; - } - left--; - } - } - } - - NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_WINMX); -} - - -void init_winmx_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask) -{ - ndpi_set_bitmask_protocol_detection("WinMX", ndpi_struct, detection_bitmask, *id, - NDPI_PROTOCOL_WINMX, - ndpi_search_winmx_tcp, - NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, - SAVE_DETECTION_BITMASK_AS_UNKNOWN, - ADD_TO_DETECTION_BITMASK); - - *id += 1; -} - -#endif |