From: rtrimana Date: Mon, 14 Jan 2019 18:03:15 +0000 (-0800) Subject: Merge branch 'master' of https://github.uci.edu/rtrimana/smart_home_traffic X-Git-Url: http://plrg.eecs.uci.edu/git/?p=pingpong.git;a=commitdiff_plain;h=5f2d56277c6be7130fb2f8faf9b2706d3e861265;hp=9f79237b795c928a55b435e12aa6ab47dda87bce Merge branch 'master' of https://github.uci.edu/rtrimana/smart_home_traffic --- 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 a7e9a6c..81eb3b0 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 @@ -230,10 +230,11 @@ public class Main { // final String outputPcapFile = path + "/2018-10/blossom-sprinkler/blossom-sprinkler-processed.pcap"; // final String triggerTimesFile = path + "/2018-10/blossom-sprinkler/blossom-sprinkler-nov-2-2018.timestamps"; // final String deviceIp = "192.168.1.229"; // .246 == phone; .229 == sprinkler - // January 9 + // January 9, 11 final String inputPcapFile = path + "/experimental_result/standalone/blossom-sprinkler/wlan1/blossom-sprinkler.wlan1.local.pcap"; final String outputPcapFile = path + "/experimental_result/standalone/blossom-sprinkler/wlan1/blossom-sprinkler-processed.pcap"; - final String triggerTimesFile = path + "/experimental_result/standalone/blossom-sprinkler/timestamps/blossom-sprinkler-standalone-jan-9-2018.timestamps"; + final String triggerTimesFile = path + "/experimental_result/standalone/blossom-sprinkler/timestamps/blossom-sprinkler-standalone-jan-9-2019.timestamps"; +// final String triggerTimesFile = path + "/experimental_result/standalone/blossom-sprinkler/timestamps/blossom-sprinkler-standalone-jan-11-2019.timestamps"; final String deviceIp = "192.168.1.246"; // .246 == phone; .229 == sprinkler // // 13) DLink siren August 14 experiment @@ -504,8 +505,8 @@ public class Main { PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOn, 0); PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOn, 1); // TODO: Need to remove sequence numbers 0 for Blossom device side since it is not a good signature! - //PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOn, 0); - //PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOn, 0); +// PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOn, 0); +// PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOn, 0); // TODO: Need to remove sequence number 2 for ST plug since it is not a good signature! //PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOn, 2); // TODO: Need to remove sequence number 0 for Arlo Camera since it is not a good signature! @@ -540,10 +541,10 @@ public class Main { } // TODO: Merging test ppListOfListListOff = PcapPacketUtils.mergeSignatures(ppListOfListListOff, sortedAllConversation); - //ppListOfListListOff = PcapPacketUtils.sortSignatures(ppListOfListListOff); + ppListOfListListOff = PcapPacketUtils.sortSignatures(ppListOfListListOff); // TODO: Need to remove sequence numbers 0,2 for Blossom device side since it is not a good signature! - //PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOff, 0); - //PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOff, 2); +// PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOff, 0); +// PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOff, 0); // TODO: Need to remove sequence number 1 for Nest Thermostat since it is not a good signature! //PcapPacketUtils.removeSequenceFromSignature(ppListOfListListOff, 1); // TODO: Need to remove sequence number 0 for Arlo Camera since it is not a good signature! diff --git a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.java b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.java index b5e3077..f0e3bb6 100644 --- a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.java +++ b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.java @@ -327,7 +327,7 @@ public class Layer3ClusterMatcher extends AbstractClusterMatcher implements Pack } else if (isDstIpLocal(pkt) || getDestinationIp(pkt).equals(routerWanIp)) { directions[i] = Conversation.Direction.SERVER_TO_CLIENT; } else { - throw new IllegalArgumentException("no local IP or router WAN port IP found, can't detect direction"); + //throw new IllegalArgumentException("no local IP or router WAN port IP found, can't detect direction"); } } return directions; diff --git a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/SignatureDetector.java b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/SignatureDetector.java index ad47106..c1a5a9c 100644 --- a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/SignatureDetector.java +++ b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/detection/layer3/SignatureDetector.java @@ -217,14 +217,14 @@ public class SignatureDetector implements PacketListener, Layer3ClusterMatcher.C // TODO: EXPERIMENT - January 9, 2018 // Blossom Sprinkler experiment // final String inputPcapFile = path + "/experimental_result/standalone/blossom-sprinkler/wlan1/blossom-sprinkler.wlan1.local.pcap"; -// final String inputPcapFile = path + "/experimental_result/smarthome/blossom-sprinkler/eth0/blossom-sprinkler.eth0.detection.pcap"; - final String inputPcapFile = path + "/experimental_result/smarthome/blossom-sprinkler/wlan1/blossom-sprinkler.wlan1.detection.pcap"; + final String inputPcapFile = path + "/experimental_result/smarthome/blossom-sprinkler/eth0/blossom-sprinkler.eth0.detection.pcap"; +// final String inputPcapFile = path + "/experimental_result/smarthome/blossom-sprinkler/wlan1/blossom-sprinkler.wlan1.detection.pcap"; // Blossom Sprinkler DEVICE signatures -// final String onSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-onSignature-device-side.sig"; -// final String offSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-offSignature-device-side.sig"; + final String onSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-onSignature-device-side.sig"; + final String offSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-offSignature-device-side.sig"; // Blossom Sprinkler PHONE signatures - final String onSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-onSignature-phone-side.sig"; - final String offSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-offSignature-phone-side.sig"; +// final String onSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-onSignature-phone-side.sig"; +// final String offSignatureFile = path + "/experimental_result/standalone/blossom-sprinkler/signatures/blossom-sprinkler-offSignature-phone-side.sig"; // LiFX Bulb experiment // final String inputPcapFile = path + "/training/lifx-bulb/wlan1/lifx-bulb.wlan1.local.pcap"; @@ -361,11 +361,11 @@ public class SignatureDetector implements PacketListener, Layer3ClusterMatcher.C List>> offSignature = PrintUtils.deserializeSignatureFromFile(offSignatureFile); // LAN - SignatureDetector onDetector = new SignatureDetector(onSignature, null); - SignatureDetector offDetector = new SignatureDetector(offSignature, null); +// SignatureDetector onDetector = new SignatureDetector(onSignature, null); +// SignatureDetector offDetector = new SignatureDetector(offSignature, null); // WAN -// SignatureDetector onDetector = new SignatureDetector(onSignature, "128.195.205.105"); -// SignatureDetector offDetector = new SignatureDetector(offSignature, "128.195.205.105"); + SignatureDetector onDetector = new SignatureDetector(onSignature, "128.195.205.105"); + SignatureDetector offDetector = new SignatureDetector(offSignature, "128.195.205.105"); final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM). withLocale(Locale.US).withZone(ZoneId.of("America/Los_Angeles")); diff --git a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/util/PcapPacketUtils.java b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/util/PcapPacketUtils.java index f07072a..cee09fe 100644 --- a/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/util/PcapPacketUtils.java +++ b/Code/Projects/SmartPlugDetector/src/main/java/edu/uci/iotproject/util/PcapPacketUtils.java @@ -318,9 +318,9 @@ public final class PcapPacketUtils { public static List>> sortSignatures(List>> signatures) { // TODO: This is the simplest solution!!! Might not cover all corner cases. // TODO: Sort the list of lists based on the first packet's timestamps! - //Collections.sort(signatures, (p1, p2) -> { - // return p1.get(0).get(0).getTimestamp().compareTo(p2.get(0).get(0).getTimestamp()); - //}); +// Collections.sort(signatures, (p1, p2) -> { +// return p1.get(0).get(0).getTimestamp().compareTo(p2.get(0).get(0).getTimestamp()); +// }); // TODO: The following is a more complete solution that covers corner cases. // Sort the list of lists based on one-to-one comparison between timestamps of signatures on both lists. // This also takes into account the fact that the number of signatures in the two lists could be different.