aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/maplestory.c
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2022-06-13 23:19:47 +0200
committerLuca Deri <deri@ntop.org>2022-06-13 23:19:47 +0200
commitcf5873ffd72ba8b530429bda3c8931f9ada33747 (patch)
treeb41586b7fcd1f8e7291c0e348f57f2d0b532ef20 /src/lib/protocols/maplestory.c
parent32428026d6dbcf7ee36aa3c882056b869b593d65 (diff)
Improved DNS traffic analysis
Added ability to identify application and network protocols
Diffstat (limited to 'src/lib/protocols/maplestory.c')
1 files changed, 37 insertions, 37 deletions
diff --git a/src/lib/protocols/maplestory.c b/src/lib/protocols/maplestory.c
index 1f119ce5f..2c5adf290 100644
--- a/src/lib/protocols/maplestory.c
+++ b/src/lib/protocols/maplestory.c
@@ -36,47 +36,47 @@ static void ndpi_int_maplestory_add_connection(struct ndpi_detection_module_stru
void ndpi_search_maplestory(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow)
{
- struct ndpi_packet_struct *packet = &ndpi_struct->packet;
+ struct ndpi_packet_struct *packet = &ndpi_struct->packet;
- NDPI_LOG_DBG(ndpi_struct, "search maplestory\n");
+ NDPI_LOG_DBG(ndpi_struct, "search maplestory\n");
- if (packet->payload_packet_len == 16
- && (ntohl(get_u_int32_t(packet->payload, 0)) == 0x0e003a00 || ntohl(get_u_int32_t(packet->payload, 0)) == 0x0e003b00
- || ntohl(get_u_int32_t(packet->payload, 0)) == 0x0e004200)
- && ntohs(get_u_int16_t(packet->payload, 4)) == 0x0100 && (packet->payload[6] == 0x32 || packet->payload[6] == 0x33)) {
- NDPI_LOG_INFO(ndpi_struct, "found maplestory\n");
- ndpi_int_maplestory_add_connection(ndpi_struct, flow);
- return;
- }
+ if (packet->payload_packet_len == 16
+ && (ntohl(get_u_int32_t(packet->payload, 0)) == 0x0e003a00 || ntohl(get_u_int32_t(packet->payload, 0)) == 0x0e003b00
+ || ntohl(get_u_int32_t(packet->payload, 0)) == 0x0e004200)
+ && ntohs(get_u_int16_t(packet->payload, 4)) == 0x0100 && (packet->payload[6] == 0x32 || packet->payload[6] == 0x33)) {
+ NDPI_LOG_INFO(ndpi_struct, "found maplestory\n");
+ ndpi_int_maplestory_add_connection(ndpi_struct, flow);
+ return;
+ }
- if (packet->payload_packet_len > NDPI_STATICSTRING_LEN("GET /maple")
- && memcmp(packet->payload, "GET /maple", NDPI_STATICSTRING_LEN("GET /maple")) == 0) {
- ndpi_parse_packet_line_info(ndpi_struct, flow);
- /* Maplestory update */
- if (packet->payload_packet_len > NDPI_STATICSTRING_LEN("GET /maple/patch")
- && packet->payload[NDPI_STATICSTRING_LEN("GET /maple")] == '/') {
- if (packet->user_agent_line.ptr != NULL && packet->host_line.ptr != NULL
- && packet->user_agent_line.len == NDPI_STATICSTRING_LEN("Patcher")
- && packet->host_line.len > NDPI_STATICSTRING_LEN("patch.")
- && memcmp(&packet->payload[NDPI_STATICSTRING_LEN("GET /maple/")], "patch",
- NDPI_STATICSTRING_LEN("patch")) == 0
- && memcmp(packet->user_agent_line.ptr, "Patcher", NDPI_STATICSTRING_LEN("Patcher")) == 0
- && memcmp(packet->host_line.ptr, "patch.", NDPI_STATICSTRING_LEN("patch.")) == 0) {
- NDPI_LOG_INFO(ndpi_struct, "found maplestory update\n");
- ndpi_int_maplestory_add_connection(ndpi_struct, flow);
- return;
- }
- } else if (packet->user_agent_line.ptr != NULL && packet->user_agent_line.len == NDPI_STATICSTRING_LEN("AspINet")
- && memcmp(&packet->payload[NDPI_STATICSTRING_LEN("GET /maple")], "story/",
- NDPI_STATICSTRING_LEN("story/")) == 0
- && memcmp(packet->user_agent_line.ptr, "AspINet", NDPI_STATICSTRING_LEN("AspINet")) == 0) {
- NDPI_LOG_INFO(ndpi_struct, "found maplestory update\n");
- ndpi_int_maplestory_add_connection(ndpi_struct, flow);
- return;
- }
- }
+ if (packet->payload_packet_len > NDPI_STATICSTRING_LEN("GET /maple")
+ && memcmp(packet->payload, "GET /maple", NDPI_STATICSTRING_LEN("GET /maple")) == 0) {
+ ndpi_parse_packet_line_info(ndpi_struct, flow);
+ /* Maplestory update */
+ if (packet->payload_packet_len > NDPI_STATICSTRING_LEN("GET /maple/patch")
+ && packet->payload[NDPI_STATICSTRING_LEN("GET /maple")] == '/') {
+ if (packet->user_agent_line.ptr != NULL && packet->host_line.ptr != NULL
+ && packet->user_agent_line.len == NDPI_STATICSTRING_LEN("Patcher")
+ && packet->host_line.len > NDPI_STATICSTRING_LEN("patch.")
+ && memcmp(&packet->payload[NDPI_STATICSTRING_LEN("GET /maple/")], "patch",
+ NDPI_STATICSTRING_LEN("patch")) == 0
+ && memcmp(packet->user_agent_line.ptr, "Patcher", NDPI_STATICSTRING_LEN("Patcher")) == 0
+ && memcmp(packet->host_line.ptr, "patch.", NDPI_STATICSTRING_LEN("patch.")) == 0) {
+ NDPI_LOG_INFO(ndpi_struct, "found maplestory update\n");
+ ndpi_int_maplestory_add_connection(ndpi_struct, flow);
+ return;
+ }
+ } else if (packet->user_agent_line.ptr != NULL && packet->user_agent_line.len == NDPI_STATICSTRING_LEN("AspINet")
+ && memcmp(&packet->payload[NDPI_STATICSTRING_LEN("GET /maple")], "story/",
+ NDPI_STATICSTRING_LEN("story/")) == 0
+ && memcmp(packet->user_agent_line.ptr, "AspINet", NDPI_STATICSTRING_LEN("AspINet")) == 0) {
+ NDPI_LOG_INFO(ndpi_struct, "found maplestory update\n");
+ ndpi_int_maplestory_add_connection(ndpi_struct, flow);
+ return;
+ }
+ }
- NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
+ NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
}