aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampus <campus@ntop.org>2016-10-17 18:43:47 +0200
committerCampus <campus@ntop.org>2016-10-17 18:43:47 +0200
commit94c134318bc2e2b36f44cdb9e20efedf9ad99060 (patch)
tree4cf69cb79716da96b0054cb5fee34341e9ad406d
parent6fd334dcd77f12f22870d81be2c0a14231e6edea (diff)
fix msn dissector - add pcap for test
-rw-r--r--src/lib/protocols/msn.c26
-rw-r--r--tests/pcap/msnms.pcapbin0 -> 62351 bytes
-rw-r--r--tests/result/msnms.pcap.out8
3 files changed, 20 insertions, 14 deletions
diff --git a/src/lib/protocols/msn.c b/src/lib/protocols/msn.c
index 204e2bfe6..2f5b6c468 100644
--- a/src/lib/protocols/msn.c
+++ b/src/lib/protocols/msn.c
@@ -448,22 +448,20 @@ static void ndpi_search_msn_tcp(struct ndpi_detection_module_struct *ndpi_struct
}
NDPI_LOG(NDPI_PROTOCOL_MSN, ndpi_struct, NDPI_LOG_DEBUG, "msn 7.\n");
- if (flow->packet_counter <= MAX_PACKETS_FOR_MSN) {
- if (packet->tcp->source == htons(443) || packet->tcp->dest == htons(443)) {
- if (packet->payload_packet_len > 300) {
-
- if (memcmp(&packet->payload[40], "INVITE MSNMSGR", 14) == 0
- || memcmp(&packet->payload[56], "INVITE MSNMSGR", 14) == 0
- || memcmp(&packet->payload[172], "INVITE MSNMSGR", 14) == 0) {
- ndpi_int_msn_add_connection(ndpi_struct, flow);
-
- NDPI_LOG(NDPI_PROTOCOL_MSN, ndpi_struct, NDPI_LOG_TRACE, "MSN File Transfer detected 3\n");
- return;
- }
- }
+ if (flow->packet_counter <= MAX_PACKETS_FOR_MSN) {
+ if (memcmp(&packet->payload[0], "MSG ", 4) == 0
+ || memcmp(&packet->payload[0], "PNG", 3) == 0
+ || memcmp(&packet->payload[0], "QNG ", 4) == 0
+ || memcmp(&packet->payload[0], "OUT", 3) == 0
+ || memcmp(&packet->payload[0], "RNG ", 4) == 0
+ || memcmp(&packet->payload[0], "NLN ", 4) == 0
+ || memcmp(&packet->payload[0], "UBX ", 4) == 0
+ || memcmp(&packet->payload[0], "XFR ", 4) == 0) {
+ ndpi_int_msn_add_connection(ndpi_struct, flow);
+
+ NDPI_LOG(NDPI_PROTOCOL_MSN, ndpi_struct, NDPI_LOG_TRACE, "MSN detected\n");
return;
}
- /* For non port 443 flows exclude flow bitmask after first packet itself */
}
NDPI_LOG(NDPI_PROTOCOL_MSN, ndpi_struct, NDPI_LOG_TRACE, "MSN tcp excluded.\n");
ndpi_msn_exclude:
diff --git a/tests/pcap/msnms.pcap b/tests/pcap/msnms.pcap
new file mode 100644
index 000000000..ebcc569a7
--- /dev/null
+++ b/tests/pcap/msnms.pcap
Binary files differ
diff --git a/tests/result/msnms.pcap.out b/tests/result/msnms.pcap.out
new file mode 100644
index 000000000..85a95fbf1
--- /dev/null
+++ b/tests/result/msnms.pcap.out
@@ -0,0 +1,8 @@
+MSN 364 56503 6
+
+ 1 TCP 192.168.1.14:1176 <-> 207.46.108.39:1863 [proto: 68/MSN][13 pkts/2202 bytes]
+ 2 TCP 192.168.1.14:1208 <-> 207.46.108.83:1863 [proto: 68/MSN][91 pkts/16723 bytes]
+ 3 TCP 192.168.1.14:1220 <-> 207.46.108.150:1863 [proto: 68/MSN][16 pkts/2900 bytes]
+ 4 TCP 192.168.1.14:1037 <-> 207.46.107.149:1863 [proto: 68/MSN][96 pkts/8851 bytes]
+ 5 TCP 192.168.1.14:1217 <-> 207.46.108.41:1863 [proto: 68/MSN][65 pkts/11416 bytes]
+ 6 TCP 192.168.1.14:1221 <-> 207.46.108.59:1863 [proto: 68/MSN][83 pkts/14411 bytes]