From 2376c7bb9d8f9edf532786bfe5d56063334a3234 Mon Sep 17 00:00:00 2001 From: Janus Varmarken Date: Thu, 26 Jul 2018 14:47:05 -0700 Subject: [PATCH] Main.java: delete code that would compute statistics of conversations (now in separate class) --- .../main/java/edu/uci/iotproject/Main.java | 88 ------------------- 1 file changed, 88 deletions(-) diff --git a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/Main.java b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/Main.java index 4a05501..9dade93 100644 --- a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/Main.java +++ b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/Main.java @@ -134,94 +134,6 @@ public class Main { }, dnsMap, tcpReassembler); outputter.flush(); outputter.close(); - - /* - int packets = 0; - for (Conversation c : tcpReassembler.getTcpConversations()) { - packets += c.getPackets().size(); - packets += c.getSynPackets().size(); - // only count the FIN packets, not the ACKs; every FinAckPair holds a FIN packet - packets += c.getFinAckPairs().size(); - } - // Produces 271 packets for the Feb 13 experiment - // Applying filter: "(tcp and not tcp.len == 0 and not tcp.analysis.retransmission and not tcp.analysis.fast_retransmission) or (tcp.flags.syn == 1) or (tcp.flags.fin == 1)" - // to the file gives 295 packets, but there are 24 TCP-Out-Of-Order SYN/SYNACKs which are filtered as retransmissions in Conversation, so the numbers seem to match. - System.out.println("number of packets: " + packets); - */ - - List> pairs = new ArrayList<>(); - for (Conversation c : tcpReassembler.getTcpConversations()) { - pairs.add(TcpConversationUtils.extractPacketPairs(c)); - } - /* - // Sort pairs according to timestamp of first packet of conversation for (debugging) convenience. - Collections.sort(pairs, (l1, l2) -> { - if (l1.get(0).getFirst().getTimestamp().isBefore(l2.get(0).getFirst().getTimestamp())) return -1; - else if (l2.get(0).getFirst().getTimestamp().isBefore(l1.get(0).getFirst().getTimestamp())) return 1; - else return 0; - }); - */ - System.out.println("list of pairs produced"); - List eventstplinkraPairs = new ArrayList<>(); - List> otherPairs = new ArrayList<>(); - String hostname = "events.tplinkra.com"; - int emptyLists = 0; - for (List lppp : pairs) { - if (lppp.size() < 1) { - emptyLists++; - continue; - } - IpV4Packet ipPacket = lppp.get(0).getFirst().get(IpV4Packet.class); - // If packets are associated with the hostname - if (dnsMap.isRelatedToCloudServer(ipPacket.getHeader().getSrcAddr().getHostAddress(), hostname) || - dnsMap.isRelatedToCloudServer(ipPacket.getHeader().getDstAddr().getHostAddress(), hostname)) { - eventstplinkraPairs.addAll(lppp); - } else { - // Pairs associated with different server - otherPairs.add(lppp); - } - } - System.out.println("number of empty list of packet pairs: " + emptyLists); - HashMap pairCount = new HashMap<>(); - for (PcapPacketPair ppp : eventstplinkraPairs) { - if (pairCount.containsKey(ppp.toString())) { - pairCount.put(ppp.toString(), pairCount.get(ppp.toString()) + 1); - } else { - pairCount.put(ppp.toString(), 1); - } - } - System.out.println("pairCount map built"); - - // Build map containing frequencies of packet lengths exchanged with events.tplinkra.com as well as a map with - // the frequencies of specific sequences of packet lengths for the same hostname - HashMap eventstplinkraPacketLengthFreqMap = new HashMap<>(); - HashMap eventstplinkraPacketSequenceFreqMap = new HashMap<>(); - for (Conversation c : tcpReassembler.getTcpConversations()) { - if (c.getPackets().size() == 0) { - continue; - } - PcapPacket firstPacket = c.getPackets().get(0); - IpV4Packet firstPacketIp = firstPacket.get(IpV4Packet.class); - if (!dnsMap.isRelatedToCloudServer(firstPacketIp.getHeader().getSrcAddr().getHostAddress(), hostname) && - !dnsMap.isRelatedToCloudServer(firstPacketIp.getHeader().getDstAddr().getHostAddress(), hostname)) { - continue; - } - // Update the packet length freq map - for (PcapPacket pp : c.getPackets()) { - eventstplinkraPacketLengthFreqMap.merge(pp.length(), 1, (i1, i2) -> i1 + i2); - } - // Update the packet sequence freq map - StringBuilder sb = new StringBuilder(); - for (PcapPacket pp : c.getPackets()) { - sb.append(pp.length() + " "); - } - eventstplinkraPacketSequenceFreqMap.merge(sb.toString(), 1, (i1, i2) -> i1+i2); - } - System.out.println("packet length frequency map created"); - - Map> hostnameConversationMap = - TcpConversationUtils.groupConversationsByHostname(tcpReassembler.getTcpConversations(), dnsMap); - System.out.println("hostnameConversationMap created"); // ---------------------------- } -- 2.34.1