X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=Code%2FProjects%2FPacketLevelSignatureExtractor%2Fsrc%2Fmain%2Fjava%2Fedu%2Fuci%2Fiotproject%2Fdetection%2Flayer2%2FLayer2SequenceMatcher.java;h=b5c3f663fc865bdce7c560be3b5ca575d72b9015;hb=7e6a00a5a2e03a0a7c2714bb3d4f2bf98976a9e7;hp=2db22287210d412f97b0ccf6783e7b79401c4a25;hpb=92a31b0967b3acff9e473ce62c136e84298b3aab;p=pingpong.git diff --git a/Code/Projects/PacketLevelSignatureExtractor/src/main/java/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.java b/Code/Projects/PacketLevelSignatureExtractor/src/main/java/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.java index 2db2228..b5c3f66 100644 --- a/Code/Projects/PacketLevelSignatureExtractor/src/main/java/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.java +++ b/Code/Projects/PacketLevelSignatureExtractor/src/main/java/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.java @@ -22,12 +22,18 @@ public class Layer2SequenceMatcher extends Layer2AbstractMatcher { */ private final List mSequence; + private int mInclusionTimeMillis; + + /** * Create a {@code Layer2SequenceMatcher}. * @param sequence The sequence to match against (search for). + * @param trainingRouterWlanMac The training router's WLAN MAC (used for determining the direction of packets). + * @param routerWlanMac The target trace router's WLAN MAC (used for determining the direction of packets). */ - public Layer2SequenceMatcher(List sequence) { - super(sequence); + public Layer2SequenceMatcher(List sequence, int inclusionTimeMillis, String trainingRouterWlanMac, + String routerWlanMac) { + super(sequence, trainingRouterWlanMac, routerWlanMac); mSequence = sequence; // Compute packet directions for sequence. for (int i = 0; i < sequence.size(); i++) { @@ -41,6 +47,8 @@ public class Layer2SequenceMatcher extends Layer2AbstractMatcher { mPacketDirections[i] = getPacketDirection(prevPkt, prevPktDirection, sequence.get(i)); } } + mInclusionTimeMillis = + inclusionTimeMillis == 0 ? TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS : inclusionTimeMillis; } /** @@ -94,8 +102,10 @@ public class Layer2SequenceMatcher extends Layer2AbstractMatcher { if (!packet.getTimestamp().isAfter(mMatchedPackets.get(getMatchedPacketsCount()-1).getTimestamp())) { return false; } +// if (packet.getTimestamp().isAfter(mMatchedPackets.get(0).getTimestamp(). +// plusMillis(TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS))) { if (packet.getTimestamp().isAfter(mMatchedPackets.get(0).getTimestamp(). - plusMillis(TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS))) { + plusMillis(mInclusionTimeMillis))) { return false; } // If we made it here, it means that this packet has the expected length, direction, and obeys the timing