From ac37a9266c438a5506478abbd30af34c7265b564 Mon Sep 17 00:00:00 2001 From: rtrimana Date: Thu, 28 Mar 2019 11:29:05 -0700 Subject: [PATCH] Adding Javadoc documentation. --- .../javadoc/allclasses-frame.html | 64 ++ .../javadoc/allclasses-noframe.html | 64 ++ .../javadoc/constant-values.html | 151 ++++ .../javadoc/deprecated-list.html | 122 +++ .../javadoc/edu/uci/iotproject/DnsMap.html | 344 ++++++++ .../edu/uci/iotproject/FlowPattern.html | 410 +++++++++ .../uci/iotproject/SignatureGenerator.html | 288 ++++++ .../iotproject/analysis/PcapPacketFilter.html | 224 +++++ .../iotproject/analysis/PcapPacketPair.html | 411 +++++++++ ...cpConversationUtils.SignaturePosition.html | 356 ++++++++ .../analysis/TcpConversationUtils.html | 662 ++++++++++++++ .../iotproject/analysis/TrafficLabeler.html | 404 +++++++++ .../analysis/TriggerTrafficExtractor.html | 375 ++++++++ .../iotproject/analysis/UserAction.Type.html | 344 ++++++++ .../uci/iotproject/analysis/UserAction.html | 415 +++++++++ .../iotproject/analysis/package-frame.html | 33 + .../iotproject/analysis/package-summary.html | 208 +++++ .../uci/iotproject/analysis/package-tree.html | 156 ++++ .../seqalignment/AlignmentPricer.html | 309 +++++++ .../seqalignment/ExtractedSequence.html | 287 ++++++ .../SampleIntegerAlignmentPricer.html | 254 ++++++ .../seqalignment/SequenceAlignment.html | 305 +++++++ .../seqalignment/SequenceExtraction.html | 315 +++++++ .../seqalignment/package-frame.html | 24 + .../seqalignment/package-summary.html | 167 ++++ .../comparison/seqalignment/package-tree.html | 142 +++ .../detection/AbstractClusterMatcher.html | 268 ++++++ .../detection/AbstractSignatureDetector.html | 248 ++++++ .../detection/ClusterMatcherObserver.html | 238 +++++ .../detection/SignatureDetectorObserver.html | 230 +++++ .../layer2/Layer2AbstractMatcher.html | 353 ++++++++ .../layer2/Layer2ClusterMatcher.html | 377 ++++++++ .../detection/layer2/Layer2RangeMatcher.html | 360 ++++++++ .../layer2/Layer2SequenceMatcher.html | 340 +++++++ .../layer2/Layer2SignatureDetector.html | 382 ++++++++ .../detection/layer2/package-frame.html | 24 + .../detection/layer2/package-summary.html | 168 ++++ .../detection/layer2/package-tree.html | 146 +++ .../layer3/Layer3ClusterMatcher.html | 364 ++++++++ .../layer3/Layer3SignatureDetector.html | 387 ++++++++ .../detection/layer3/package-frame.html | 21 + .../detection/layer3/package-summary.html | 149 ++++ .../detection/layer3/package-tree.html | 140 +++ .../iotproject/detection/package-frame.html | 26 + .../iotproject/detection/package-summary.html | 173 ++++ .../iotproject/detection/package-tree.html | 141 +++ .../evaluation/DetectionResultsAnalyzer.html | 275 ++++++ .../evaluation/SanitySignatureGenerator.html | 286 ++++++ .../iotproject/evaluation/package-frame.html | 21 + .../evaluation/package-summary.html | 148 ++++ .../iotproject/evaluation/package-tree.html | 136 +++ .../edu/uci/iotproject/io/LiveCapture.html | 337 +++++++ .../uci/iotproject/io/PcapHandleReader.html | 341 +++++++ .../uci/iotproject/io/PrintWriterUtils.html | 302 +++++++ .../iotproject/io/TriggerTimesFileReader.html | 363 ++++++++ .../edu/uci/iotproject/io/package-frame.html | 23 + .../uci/iotproject/io/package-summary.html | 161 ++++ .../edu/uci/iotproject/io/package-tree.html | 138 +++ .../maclayer/MacLayerFlowPattern.html | 313 +++++++ .../maclayer/MacLayerFlowPatternFinder.html | 273 ++++++ .../iotproject/maclayer/package-frame.html | 21 + .../iotproject/maclayer/package-summary.html | 149 ++++ .../uci/iotproject/maclayer/package-tree.html | 136 +++ .../edu/uci/iotproject/package-frame.html | 22 + .../edu/uci/iotproject/package-summary.html | 157 ++++ .../edu/uci/iotproject/package-tree.html | 137 +++ .../test/SequenceAlignmentTest.html | 387 ++++++++ .../uci/iotproject/test/package-frame.html | 20 + .../uci/iotproject/test/package-summary.html | 142 +++ .../edu/uci/iotproject/test/package-tree.html | 135 +++ .../trafficreassembly/layer2/Layer2Flow.html | 396 +++++++++ .../layer2/Layer2FlowObserver.html | 234 +++++ .../layer2/Layer2FlowReassembler.html | 351 ++++++++ .../layer2/Layer2FlowReassemblerObserver.html | 236 +++++ .../layer2/package-frame.html | 26 + .../layer2/package-summary.html | 172 ++++ .../layer2/package-tree.html | 141 +++ .../layer3/Conversation.Direction.html | 364 ++++++++ .../layer3/Conversation.html | 717 +++++++++++++++ .../trafficreassembly/layer3/FinAckPair.html | 367 ++++++++ .../layer3/TcpReassembler.html | 301 +++++++ .../layer3/package-frame.html | 26 + .../layer3/package-summary.html | 172 ++++ .../layer3/package-tree.html | 149 ++++ .../uci/iotproject/util/PcapPacketUtils.html | 833 ++++++++++++++++++ .../edu/uci/iotproject/util/PrintUtils.html | 419 +++++++++ .../uci/iotproject/util/package-frame.html | 21 + .../uci/iotproject/util/package-summary.html | 148 ++++ .../edu/uci/iotproject/util/package-tree.html | 136 +++ .../javadoc/help-doc.html | 223 +++++ .../javadoc/index-files/index-1.html | 189 ++++ .../javadoc/index-files/index-10.html | 213 +++++ .../javadoc/index-files/index-11.html | 170 ++++ .../javadoc/index-files/index-12.html | 129 +++ .../javadoc/index-files/index-13.html | 151 ++++ .../javadoc/index-files/index-14.html | 187 ++++ .../javadoc/index-files/index-15.html | 161 ++++ .../javadoc/index-files/index-16.html | 207 +++++ .../javadoc/index-files/index-17.html | 185 ++++ .../javadoc/index-files/index-18.html | 139 +++ .../javadoc/index-files/index-19.html | 157 ++++ .../javadoc/index-files/index-2.html | 175 ++++ .../javadoc/index-files/index-20.html | 129 +++ .../javadoc/index-files/index-3.html | 147 ++++ .../javadoc/index-files/index-4.html | 185 ++++ .../javadoc/index-files/index-5.html | 171 ++++ .../javadoc/index-files/index-6.html | 353 ++++++++ .../javadoc/index-files/index-7.html | 134 +++ .../javadoc/index-files/index-8.html | 208 +++++ .../javadoc/index-files/index-9.html | 127 +++ .../javadoc/index.html | 75 ++ .../javadoc/overview-frame.html | 33 + .../javadoc/overview-summary.html | 181 ++++ .../javadoc/overview-tree.html | 215 +++++ .../javadoc/package-list | 13 + .../javadoc/script.js | 30 + .../javadoc/stylesheet.css | 574 ++++++++++++ 117 files changed, 25862 insertions(+) create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-noframe.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/constant-values.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/deprecated-list.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/DnsMap.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/FlowPattern.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/SignatureGenerator.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketFilter.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketPair.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TrafficLabeler.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TriggerTrafficExtractor.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.Type.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractClusterMatcher.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractSignatureDetector.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/ClusterMatcherObserver.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/SignatureDetectorObserver.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/SanitySignatureGenerator.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/LiveCapture.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PcapHandleReader.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PrintWriterUtils.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/TriggerTimesFileReader.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPattern.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/SequenceAlignmentTest.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PcapPacketUtils.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PrintUtils.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/help-doc.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-1.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-10.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-11.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-12.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-13.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-14.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-15.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-16.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-17.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-18.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-19.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-2.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-20.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-3.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-4.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-5.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-6.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-7.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-8.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-9.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/index.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-frame.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-summary.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-tree.html create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/package-list create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/script.js create mode 100644 Code/Projects/PacketLevelSignatureExtractor/javadoc/stylesheet.css diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-frame.html new file mode 100644 index 0000000..0ceb4d1 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-frame.html @@ -0,0 +1,64 @@ + + + + + +All Classes + + + + + +

All Classes

+
+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-noframe.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-noframe.html new file mode 100644 index 0000000..bfbd66e --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/allclasses-noframe.html @@ -0,0 +1,64 @@ + + + + + +All Classes + + + + + +

All Classes

+
+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/constant-values.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/constant-values.html new file mode 100644 index 0000000..d9ba635 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/constant-values.html @@ -0,0 +1,151 @@ + + + + + +Constant Field Values + + + + + + + + +
+ + + + + + + +
+ + +
+

Constant Field Values

+

Contents

+ +
+
+ + +

edu.uci.*

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/deprecated-list.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/deprecated-list.html new file mode 100644 index 0000000..1cb228b --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/deprecated-list.html @@ -0,0 +1,122 @@ + + + + + +Deprecated List + + + + + + + + +
+ + + + + + + +
+ + +
+

Deprecated API

+

Contents

+
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/DnsMap.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/DnsMap.html new file mode 100644 index 0000000..450f823 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/DnsMap.html @@ -0,0 +1,344 @@ + + + + + +DnsMap + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject
+

Class DnsMap

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    org.pcap4j.core.PacketListener
    +
    +
    +
    +
    public class DnsMap
    +extends java.lang.Object
    +implements org.pcap4j.core.PacketListener
    +
    This is a class that does DNS mapping. + Basically an IP address is mapped to its + respective DNS hostnames.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      DnsMap() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.util.Set<java.lang.String>getHostnamesForIp(java.lang.String ip) 
      voidgotPacket(org.pcap4j.core.PcapPacket packet) 
      booleanisRelatedToCloudServer(java.lang.String address, + java.lang.String hostname) +
      Checks DNS packet and build the map data structure that + maps IP addresses to DNS hostnames
      +
      voidvalidateAndAddNewEntry(org.pcap4j.core.PcapPacket packet) +
      Checks DNS packet and build the map data structure that + maps IP addresses to DNS hostnames
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DnsMap

        +
        public DnsMap()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        gotPacket

        +
        public void gotPacket(org.pcap4j.core.PcapPacket packet)
        +
        +
        Specified by:
        +
        gotPacket in interface org.pcap4j.core.PacketListener
        +
        +
      • +
      + + + +
        +
      • +

        validateAndAddNewEntry

        +
        public void validateAndAddNewEntry(org.pcap4j.core.PcapPacket packet)
        +                            throws java.net.UnknownHostException
        +
        Checks DNS packet and build the map data structure that + maps IP addresses to DNS hostnames
        +
        +
        Parameters:
        +
        packet - PcapPacket object
        +
        Throws:
        +
        java.net.UnknownHostException
        +
        +
      • +
      + + + +
        +
      • +

        isRelatedToCloudServer

        +
        public boolean isRelatedToCloudServer(java.lang.String address,
        +                                      java.lang.String hostname)
        +
        Checks DNS packet and build the map data structure that + maps IP addresses to DNS hostnames
        +
        +
        Parameters:
        +
        address - Address to check
        +
        hostname - Hostname to check
        +
        +
      • +
      + + + +
        +
      • +

        getHostnamesForIp

        +
        public java.util.Set<java.lang.String> getHostnamesForIp(java.lang.String ip)
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/FlowPattern.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/FlowPattern.html new file mode 100644 index 0000000..807e969 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/FlowPattern.html @@ -0,0 +1,410 @@ + + + + + +FlowPattern + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject
+

Class FlowPattern

+
+
+ +
+
    +
  • +
    +
    +
    public class FlowPattern
    +extends java.lang.Object
    +
    TODO add class documentation. + TODO: At this point, this class is still in transition to having multiple hostnames and lists of packets
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      FlowPattern(java.lang.String mPatternId, + java.util.List<java.lang.String> mHostnameList, + org.pcap4j.core.PcapHandle mPcap) +
      Constructor #2
      +
      FlowPattern(java.lang.String mPatternId, + java.lang.String hostname, + org.pcap4j.core.PcapHandle mPcap) +
      Constructor #1
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.lang.StringgetHostname() 
      java.util.List<java.lang.String>getHostnameList() +
      Get the list of associated hostnames.
      +
      intgetLength() +
      Get the length of the List of FlowPattern.
      +
      intgetLength(java.lang.String hostname) +
      Get the length of the List of FlowPattern.
      +
      java.util.List<java.lang.Integer>getPacketOrder() +
      Get the sequence of packet lengths that defines this FlowPattern.
      +
      java.util.List<java.lang.Integer>getPacketOrder(java.lang.String hostname) +
      Get the sequence of packet lengths based on input hostname.
      +
      java.lang.StringgetPatternId() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FlowPattern

        +
        public FlowPattern(java.lang.String mPatternId,
        +                   java.lang.String hostname,
        +                   org.pcap4j.core.PcapHandle mPcap)
        +
        Constructor #1
        +
      • +
      + + + +
        +
      • +

        FlowPattern

        +
        public FlowPattern(java.lang.String mPatternId,
        +                   java.util.List<java.lang.String> mHostnameList,
        +                   org.pcap4j.core.PcapHandle mPcap)
        +
        Constructor #2
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getPatternId

        +
        public java.lang.String getPatternId()
        +
      • +
      + + + +
        +
      • +

        getHostname

        +
        public java.lang.String getHostname()
        +
      • +
      + + + +
        +
      • +

        getPacketOrder

        +
        public java.util.List<java.lang.Integer> getPacketOrder()
        +
        Get the sequence of packet lengths that defines this FlowPattern.
        +
        +
        Returns:
        +
        the sequence of packet lengths that defines this FlowPattern.
        +
        +
      • +
      + + + +
        +
      • +

        getPacketOrder

        +
        public java.util.List<java.lang.Integer> getPacketOrder(java.lang.String hostname)
        +
        Get the sequence of packet lengths based on input hostname.
        +
        +
        Returns:
        +
        the sequence of packet lengths that defines this FlowPattern.
        +
        +
      • +
      + + + +
        +
      • +

        getHostnameList

        +
        public java.util.List<java.lang.String> getHostnameList()
        +
        Get the list of associated hostnames.
        +
        +
        Returns:
        +
        the associated hostnames that define this FlowPattern.
        +
        +
      • +
      + + + +
        +
      • +

        getLength

        +
        public int getLength()
        +
        Get the length of the List of FlowPattern.
        +
        +
        Returns:
        +
        the length of the List of FlowPattern.
        +
        +
      • +
      + + + +
        +
      • +

        getLength

        +
        public int getLength(java.lang.String hostname)
        +
        Get the length of the List of FlowPattern.
        +
        +
        Returns:
        +
        the length of the List of FlowPattern.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/SignatureGenerator.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/SignatureGenerator.html new file mode 100644 index 0000000..e0eae1f --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/SignatureGenerator.html @@ -0,0 +1,288 @@ + + + + + +SignatureGenerator + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject
+

Class SignatureGenerator

+
+
+ +
+
    +
  • +
    +
    +
    public class SignatureGenerator
    +extends java.lang.Object
    +
    This is a system that reads PCAP files to compare + patterns of DNS hostnames, packet sequences, and packet + lengths with training data to determine certain events + or actions for smart home devices.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      SignatureGenerator() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static voidmain(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SignatureGenerator

        +
        public SignatureGenerator()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +                 throws org.pcap4j.core.PcapNativeException,
        +                        org.pcap4j.core.NotOpenException,
        +                        java.io.EOFException,
        +                        java.util.concurrent.TimeoutException,
        +                        java.net.UnknownHostException,
        +                        java.io.IOException
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException
        +
        org.pcap4j.core.NotOpenException
        +
        java.io.EOFException
        +
        java.util.concurrent.TimeoutException
        +
        java.net.UnknownHostException
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketFilter.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketFilter.html new file mode 100644 index 0000000..6ee2c68 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketFilter.html @@ -0,0 +1,224 @@ + + + + + +PcapPacketFilter + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Interface PcapPacketFilter

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    TriggerTrafficExtractor
    +
    +
    +
    +
    public interface PcapPacketFilter
    +
    TODO add class documentation.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        shouldIncludePacket

        +
        boolean shouldIncludePacket(org.pcap4j.core.PcapPacket packet)
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketPair.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketPair.html new file mode 100644 index 0000000..e442318 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/PcapPacketPair.html @@ -0,0 +1,411 @@ + + + + + +PcapPacketPair + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Class PcapPacketPair

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    org.apache.commons.math3.stat.clustering.Clusterable<PcapPacketPair>
    +
    +
    +
    +
    public class PcapPacketPair
    +extends java.lang.Object
    +implements org.apache.commons.math3.stat.clustering.Clusterable<PcapPacketPair>
    +

    + A simple wrapper for holding a pair of packets (e.g., a request and associated reply packet). +

    + + Note: we use the deprecated version
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PcapPacketPair

        +
        public PcapPacketPair(org.pcap4j.core.PcapPacket first,
        +                      org.pcap4j.core.PcapPacket second)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getFirst

        +
        public org.pcap4j.core.PcapPacket getFirst()
        +
      • +
      + + + +
        +
      • +

        isFirstClient

        +
        public boolean isFirstClient()
        +
      • +
      + + + +
        +
      • +

        getSecond

        +
        public java.util.Optional<org.pcap4j.core.PcapPacket> getSecond()
        +
      • +
      + + + +
        +
      • +

        isSecondClient

        +
        public boolean isSecondClient()
        +
      • +
      + + + +
        +
      • +

        getDnsMap

        +
        public DnsMap getDnsMap()
        +
        Get the DnsMap that is queried for hostnames mappings when performing IP/hostname-sensitive clustering.
        +
        +
        Returns:
        +
        the DnsMap that is queried for hostnames mappings when performing IP/hostname-sensitive clustering.
        +
        +
      • +
      + + + +
        +
      • +

        setDnsMap

        +
        public void setDnsMap(DnsMap dnsMap)
        +
        Set the DnsMap to be queried for hostnames mappings when performing IP/hostname-sensitive clustering.
        +
        +
        Parameters:
        +
        dnsMap - a DnsMap to be queried for hostnames mappings when performing IP/hostname-sensitive clustering.
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        distanceFrom

        +
        public double distanceFrom(PcapPacketPair that)
        +
        +
        Specified by:
        +
        distanceFrom in interface org.apache.commons.math3.stat.clustering.Clusterable<PcapPacketPair>
        +
        +
      • +
      + + + +
        +
      • +

        centroidOf

        +
        public PcapPacketPair centroidOf(java.util.Collection<PcapPacketPair> p)
        +
        +
        Specified by:
        +
        centroidOf in interface org.apache.commons.math3.stat.clustering.Clusterable<PcapPacketPair>
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html new file mode 100644 index 0000000..f13fdb3 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.SignaturePosition.html @@ -0,0 +1,356 @@ + + + + + +TcpConversationUtils.SignaturePosition + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Enum TcpConversationUtils.SignaturePosition

+
+
+ +
+ +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static TcpConversationUtils.SignaturePosition[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (TcpConversationUtils.SignaturePosition c : TcpConversationUtils.SignaturePosition.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static TcpConversationUtils.SignaturePosition valueOf(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.html new file mode 100644 index 0000000..02502e4 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TcpConversationUtils.html @@ -0,0 +1,662 @@ + + + + + +TcpConversationUtils + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Class TcpConversationUtils

+
+
+ +
+
    +
  • +
    +
    +
    public class TcpConversationUtils
    +extends java.lang.Object
    +
    Utility functions for analyzing and structuring (sets of) Conversations.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TcpConversationUtils

        +
        public TcpConversationUtils()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        extractPacketPairs

        +
        public static java.util.List<PcapPacketPair> extractPacketPairs(Conversation conv)
        +

        + Given a Conversation, extract its set of "packet pairs", i.e., pairs of request-reply packets. + The extracted pairs are formed from the full set of payload-carrying TCP packets. +

        + + Note: in the current implementation, if one endpoint sends multiple packets back-to-back with no + interleaved reply packets from the other endpoint, such packets are converted to one-item pairs (i.e., instances + of PcapPacketPair where PcapPacketPair.getSecond() is null).
        +
        +
        Parameters:
        +
        conv - The Conversation for which packet pairs are to be extracted.
        +
        Returns:
        +
        The packet pairs extracted from conv.
        +
        +
      • +
      + + + +
        +
      • +

        extractTlsAppDataPacketPairs

        +
        public static java.util.List<PcapPacketPair> extractTlsAppDataPacketPairs(Conversation conv)
        +

        + Given a Conversation, extract its set of "packet pairs", i.e., pairs of request-reply packets. + The extracted pairs are formed from the full set of TLS Application Data packets. +

        + + Note: in the current implementation, if one endpoint sends multiple packets back-to-back with no + interleaved reply packets from the other endpoint, such packets are converted to one-item pairs (i.e., instances + of PcapPacketPair where PcapPacketPair.getSecond() is null).
        +
        +
        Parameters:
        +
        conv - The Conversation for which packet pairs are to be extracted.
        +
        Returns:
        +
        The packet pairs extracted from conv.
        +
        +
      • +
      + + + +
        +
      • +

        groupConversationsByHostname

        +
        public static java.util.Map<java.lang.String,java.util.List<Conversation>> groupConversationsByHostname(java.util.Collection<Conversation> tcpConversations,
        +                                                                                                        DnsMap ipHostnameMappings)
        +
        Given a collection of TCP conversations and associated DNS mappings, groups the conversations by hostname.
        +
        +
        Parameters:
        +
        tcpConversations - The collection of TCP conversations.
        +
        ipHostnameMappings - The associated DNS mappings.
        +
        Returns:
        +
        A map where each key is a hostname and its associated value is a list of conversations where one of the + two communicating hosts is that hostname (i.e. its IP maps to the hostname).
        +
        +
      • +
      + + + +
        +
      • +

        countPacketSequenceFrequencies

        +
        public static java.util.Map<java.lang.String,java.lang.Integer> countPacketSequenceFrequencies(java.util.Collection<Conversation> conversations)
        +
      • +
      + + + +
        +
      • +

        groupConversationsByPacketSequence

        +
        public static java.util.Map<java.lang.String,java.util.List<Conversation>> groupConversationsByPacketSequence(java.util.Collection<Conversation> conversations,
        +                                                                                                              boolean verbose)
        +
        Given a Collection of Conversations, builds a Map from String to List + of Conversations such that each key is the concatenation of the packet lengths of all payload packets + (i.e., the set of packets returned by Conversation.getPackets()) separated by a delimiter of any + Conversation pointed to by that key. In other words, what the Conversations cs pointed to + by the key s have in common is that they all contain exactly the same number of payload packets and + these payload packets are identical across all Conversations in cs in terms of packet + length and packet order. For example, if the key is "152 440 550", this means that every individual + Conversation in the list of Conversations pointed to by that key contain exactly three payload + packet of lengths 152, 440, and 550, and these three packets are ordered in the order prescribed by the key.
        +
        +
        Parameters:
        +
        conversations - The collection of Conversations to group by packet sequence.
        +
        verbose - If set to true, the grouping (and therefore the key) will also include SYN/SYNACK, + FIN/FINACK, RST packets, and each payload-carrying packet will have an indication of the direction + of the packet prepended.
        +
        Returns:
        +
        a Map from String to List of Conversations such that each key is the + concatenation of the packet lengths of all payload packets (i.e., the set of packets returned by + Conversation.getPackets()) separated by a delimiter of any Conversation pointed to + by that key.
        +
        +
      • +
      + + + +
        +
      • +

        groupConversationsByTlsApplicationDataPacketSequence

        +
        public static java.util.Map<java.lang.String,java.util.List<Conversation>> groupConversationsByTlsApplicationDataPacketSequence(java.util.Collection<Conversation> conversations)
        +
      • +
      + + + +
        +
      • +

        countPacketLengthFrequencies

        +
        public static java.util.Map<java.lang.Integer,java.lang.Integer> countPacketLengthFrequencies(Conversation c)
        +
        Given a Conversation, counts the frequencies of each unique packet length seen as part of the + Conversation.
        +
        +
        Parameters:
        +
        c - The Conversation for which unique packet length frequencies are to be determined.
        +
        Returns:
        +
        A mapping from packet length to its frequency.
        +
        +
      • +
      + + + +
        +
      • +

        countPacketLengthFrequencies

        +
        public static java.util.Map<java.lang.Integer,java.lang.Integer> countPacketLengthFrequencies(java.util.Collection<Conversation> conversations)
        +
        Like countPacketLengthFrequencies(Conversation), but counts packet length frequencies for a collection + of Conversations, i.e., the frequency of a packet length becomes the total number of packets with that + length across all Conversations in conversations.
        +
        +
        Parameters:
        +
        conversations - The collection of Conversations for which packet length frequencies are to be + counted.
        +
        Returns:
        +
        A mapping from packet length to its frequency.
        +
        +
      • +
      + + + +
        +
      • +

        countPacketPairFrequencies

        +
        public static java.util.Map<java.lang.String,java.lang.Integer> countPacketPairFrequencies(java.util.Collection<PcapPacketPair> pairs)
        +
      • +
      + + + +
        +
      • +

        countPacketPairFrequenciesByHostname

        +
        public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Integer>> countPacketPairFrequenciesByHostname(java.util.Collection<Conversation> tcpConversations,
        +                                                                                                                                     DnsMap ipHostnameMappings)
        +
      • +
      + + + +
        +
      • +

        getPacketLengthSequence

        +
        public static java.lang.Integer[] getPacketLengthSequence(Conversation c)
        +
        Given a Conversation, extract its packet length sequence.
        +
        +
        Parameters:
        +
        c - The Conversation from which a packet length sequence is to be extracted.
        +
        Returns:
        +
        An Integer[] that holds the packet lengths of all payload-carrying packets in c. The + packet lengths in the returned array are ordered by packet timestamp.
        +
        +
      • +
      + + + +
        +
      • +

        getPacketLengthSequenceTlsAppDataOnly

        +
        public static java.lang.Integer[] getPacketLengthSequenceTlsAppDataOnly(Conversation c)
        +
        Given a Conversation, extract its packet length sequence, but only include packet lengths of those + packets that carry TLS Application Data.
        +
        +
        Parameters:
        +
        c - The Conversation from which a TLS Application Data packet length sequence is to be extracted.
        +
        Returns:
        +
        An Integer[] that holds the packet lengths of all packets in c that carry TLS Application + Data. The packet lengths in the returned array are ordered by packet timestamp.
        +
        +
      • +
      + + + +
        +
      • +

        isTlsPort

        +
        public static boolean isTlsPort(int port)
        +
        Check if a given port number is considered a TLS port.
        +
        +
        Parameters:
        +
        port - The port number to check.
        +
        Returns:
        +
        true if the port number is considered a TLS port, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        sortConversationList

        +
        public static java.util.List<Conversation> sortConversationList(java.util.List<Conversation> conversations)
        +
        Given a list of Conversation objects, sort them by timestamps.
        +
        +
        Parameters:
        +
        conversations - The list of Conversation objects to be sorted.
        +
        Returns:
        +
        A sorted list of Conversation based on timestamps of the first + packet in the Conversation.
        +
        +
      • +
      + + + +
        +
      • +

        returnConversation

        +
        public static Conversation returnConversation(java.util.List<org.pcap4j.core.PcapPacket> ppList,
        +                                              java.util.List<Conversation> conversations)
        +
        Given a List of Conversation objects, find one that has the given List + of PcapPacket.
        +
        +
        Parameters:
        +
        conversations - The List of Conversation objects as reference.
        +
        ppList - The List of PcapPacket objects to search in the List of Conversation.
        +
        Returns:
        +
        A Conversation that contains the given List of PcapPacket.
        +
        +
      • +
      + + + +
        +
      • +

        isPartOfConversationAndAdjacent

        +
        public static TcpConversationUtils.SignaturePosition isPartOfConversationAndAdjacent(java.util.List<org.pcap4j.core.PcapPacket> ppListFirst,
        +                                                                                     java.util.List<org.pcap4j.core.PcapPacket> ppListSecond,
        +                                                                                     Conversation conversation)
        +
        Given a Conversation objects, check if List of PcapPacket is part of it and return the + adjacency label based on SignaturePosition.
        +
        +
        Parameters:
        +
        conversation - The Conversation object as reference.
        +
        ppListFirst - The first List of PcapPacket objects in the Conversation.
        +
        ppListSecond - The second List of PcapPacket objects in the Conversation whose + position will be observed in the Conversation with respect to ppListFirst.
        +
        Returns:
        +
        A SignaturePosition that represents the position of the signature against another signature + in a Conversation.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TrafficLabeler.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TrafficLabeler.html new file mode 100644 index 0000000..9116a03 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TrafficLabeler.html @@ -0,0 +1,404 @@ + + + + + +TrafficLabeler + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Class TrafficLabeler

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    org.pcap4j.core.PacketListener
    +
    +
    +
    +
    public class TrafficLabeler
    +extends java.lang.Object
    +implements org.pcap4j.core.PacketListener
    +
    A PacketListener that marks network traffic as (potentially) related to a user's actions by comparing the + timestamp of each packet to the timestamps of the provided list of user actions.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TrafficLabeler

        +
        public TrafficLabeler(java.util.List<UserAction> userActions)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        gotPacket

        +
        public void gotPacket(org.pcap4j.core.PcapPacket packet)
        +
        +
        Specified by:
        +
        gotPacket in interface org.pcap4j.core.PacketListener
        +
        +
      • +
      + + + +
        +
      • +

        getTotalPacketCount

        +
        public long getTotalPacketCount()
        +
        Get the total number of packets labeled by this TrafficLabeler.
        +
        +
        Returns:
        +
        the total number of packets labeled by this TrafficLabeler.
        +
        +
      • +
      + + + +
        +
      • +

        getLabeledTraffic

        +
        public java.util.Map<UserAction,java.util.List<org.pcap4j.core.PcapPacket>> getLabeledTraffic()
        +
        Get the labeled traffic.
        +
        +
        Returns:
        +
        A Map in which a UserAction points to a List of PcapPackets believed to + be related (occurring as a result of) that UserAction.
        +
        +
      • +
      + + + +
        +
      • +

        getLabeledTraffic

        +
        public <T> java.util.Map<UserAction,T> getLabeledTraffic(java.util.function.Function<java.util.List<org.pcap4j.core.PcapPacket>,T> mappingFunction)
        +
        Like getLabeledTraffic(), but allows the caller to supply a mapping function that is applied to + the traffic associated with each UserAction (the traffic label) before returning the labeled traffic. + This may for example be useful for a caller who wishes to perform some postprocessing of labeled traffic, e.g., + in order to perform additional filtering or to transform the representation of labeled traffic. +

        + An example usecase is provided in getLabeledReassembledTcpTraffic() which uses this function to + build a Map in which a UserAction points to the reassembled TCP connections believed to have + occurred as a result of that UserAction. +

        +
        +
        Type Parameters:
        +
        T - The return type of mappingFunction.
        +
        Parameters:
        +
        mappingFunction - A mapping function that converts a List of PcapPacket into some other type + T.
        +
        Returns:
        +
        A Map in which a UserAction points to the result of applying mappingFunction to + the set of packets believed to be related (occurring as a result of) that UserAction.
        +
        +
      • +
      + + + +
        +
      • +

        getLabeledReassembledTcpTraffic

        +
        public java.util.Map<UserAction,java.util.List<Conversation>> getLabeledReassembledTcpTraffic()
        +
        Get the labeled traffic reassembled as TCP connections (note: discards all non-TCP traffic).
        +
        +
        Returns:
        +
        A Map in which a UserAction points to a List of Conversations believed to + be related (occurring as a result of) that UserAction.
        +
        +
      • +
      + + + +
        +
      • +

        getLabeledReassembledTcpTraffic

        +
        public java.util.Map<UserAction,java.util.Map<java.lang.String,java.util.List<Conversation>>> getLabeledReassembledTcpTraffic(DnsMap ipHostnameMappings)
        +
        Like getLabeledReassembledTcpTraffic(), but uses the provided ipHostnameMappings to group + Conversations by hostname.
        +
        +
        Parameters:
        +
        ipHostnameMappings - A DnsMap with IP to hostname mappings used for reverse DNS lookup.
        +
        Returns:
        +
        A Map in which a UserAction points to the set of Conversations believed to be + related (occurring as a result of) that UserAction. More precisely, each UserAction in + the returned Map points to another Map in which a hostname points to the set of + Conversations involving that hostname.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TriggerTrafficExtractor.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TriggerTrafficExtractor.html new file mode 100644 index 0000000..59beab1 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/TriggerTrafficExtractor.html @@ -0,0 +1,375 @@ + + + + + +TriggerTrafficExtractor + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Class TriggerTrafficExtractor

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    PcapPacketFilter
    +
    +
    +
    +
    public class TriggerTrafficExtractor
    +extends java.lang.Object
    +implements PcapPacketFilter
    +
    TODO add class documentation.
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      TriggerTrafficExtractor(java.lang.String pcapFilePath, + java.util.List<java.time.Instant> triggerTimes, + java.lang.String deviceIp) 
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        INCLUSION_WINDOW_MILLIS

        +
        public static final int INCLUSION_WINDOW_MILLIS
        +
        +
        See Also:
        +
        Constant Field Values
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TriggerTrafficExtractor

        +
        public TriggerTrafficExtractor(java.lang.String pcapFilePath,
        +                               java.util.List<java.time.Instant> triggerTimes,
        +                               java.lang.String deviceIp)
        +                        throws org.pcap4j.core.PcapNativeException,
        +                               org.pcap4j.core.NotOpenException
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException
        +
        org.pcap4j.core.NotOpenException
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        performExtraction

        +
        public void performExtraction(org.pcap4j.core.PacketListener... extractedPacketsConsumers)
        +                       throws org.pcap4j.core.PcapNativeException,
        +                              org.pcap4j.core.NotOpenException,
        +                              java.util.concurrent.TimeoutException
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException
        +
        org.pcap4j.core.NotOpenException
        +
        java.util.concurrent.TimeoutException
        +
        +
      • +
      + + + +
        +
      • +

        getPacketsIncludedCount

        +
        public long getPacketsIncludedCount()
        +
        Return the number of extracted packets (i.e., packets selected for inclusion) as a result of the most recent call + to performExtraction(PacketListener...).
        +
        +
        Returns:
        +
        the number of extracted packets (i.e., packets selected for inclusion) as a result of the most recent + call to performExtraction(PacketListener...).
        +
        +
      • +
      + + + + +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.Type.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.Type.html new file mode 100644 index 0000000..7f2db91 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.Type.html @@ -0,0 +1,344 @@ + + + + + +UserAction.Type + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Enum UserAction.Type

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<UserAction.Type>
    +
    +
    +
    Enclosing class:
    +
    UserAction
    +
    +
    +
    +
    public static enum UserAction.Type
    +extends java.lang.Enum<UserAction.Type>
    +
    Enum for indicating what type of action the user performed.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + +
      Enum Constants 
      Enum Constant and Description
      TOGGLE_OFF 
      TOGGLE_ON 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static UserAction.TypevalueOf(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static UserAction.Type[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static UserAction.Type[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (UserAction.Type c : UserAction.Type.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static UserAction.Type valueOf(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.html new file mode 100644 index 0000000..853c406 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/UserAction.html @@ -0,0 +1,415 @@ + + + + + +UserAction + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.analysis
+

Class UserAction

+
+
+ +
+
    +
  • +
    +
    +
    public class UserAction
    +extends java.lang.Object
    +
    Models a user's action, such as toggling the smart plug on/off at a given time.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClass and Description
      static class UserAction.Type +
      Enum for indicating what type of action the user performed.
      +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      UserAction(UserAction.Type typeOfAction, + java.time.Instant timeOfAction) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      booleanequals(java.lang.Object obj) 
      static UserActionfromString(java.lang.String string) +
      Instantiates a UserAction from a string that obeys the format used in toString().
      +
      java.time.InstantgetTimestamp() +
      Get the time at which the user performed this action.
      +
      UserAction.TypegetType() +
      Get the specific type of action performed by the user.
      +
      inthashCode() 
      static voidsetTimestampFormatter(java.time.format.DateTimeFormatter formatter) +
      Sets the DateTimeFormatter used when outputting a user action as a string and parsing a user action from + a string.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        UserAction

        +
        public UserAction(UserAction.Type typeOfAction,
        +                  java.time.Instant timeOfAction)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        setTimestampFormatter

        +
        public static void setTimestampFormatter(java.time.format.DateTimeFormatter formatter)
        +
        Sets the DateTimeFormatter used when outputting a user action as a string and parsing a user action from + a string.
        +
        +
        Parameters:
        +
        formatter - The formatter to use for outputting and parsing.
        +
        +
      • +
      + + + +
        +
      • +

        fromString

        +
        public static UserAction fromString(java.lang.String string)
        +
        Instantiates a UserAction from a string that obeys the format used in toString().
        +
        +
        Parameters:
        +
        string - The string that represents a UserAction
        +
        Returns:
        +
        A UserAction resulting from deserializing the string.
        +
        +
      • +
      + + + +
        +
      • +

        getType

        +
        public UserAction.Type getType()
        +
        Get the specific type of action performed by the user.
        +
        +
        Returns:
        +
        the specific type of action performed by the user.
        +
        +
      • +
      + + + +
        +
      • +

        getTimestamp

        +
        public java.time.Instant getTimestamp()
        +
        Get the time at which the user performed this action.
        +
        +
        Returns:
        +
        the time at which the user performed this action.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals(java.lang.Object obj)
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-frame.html new file mode 100644 index 0000000..3ff51fa --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-frame.html @@ -0,0 +1,33 @@ + + + + + +edu.uci.iotproject.analysis + + + + + +

edu.uci.iotproject.analysis

+
+

Interfaces

+ +

Classes

+ +

Enums

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-summary.html new file mode 100644 index 0000000..9cf1a3b --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-summary.html @@ -0,0 +1,208 @@ + + + + + +edu.uci.iotproject.analysis + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.analysis

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-tree.html new file mode 100644 index 0000000..c108bd7 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/analysis/package-tree.html @@ -0,0 +1,156 @@ + + + + + +edu.uci.iotproject.analysis Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.analysis

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +

Enum Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html new file mode 100644 index 0000000..dd40b72 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/AlignmentPricer.html @@ -0,0 +1,309 @@ + + + + + +AlignmentPricer + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.comparison.seqalignment
+

Class AlignmentPricer<T>

+
+
+ +
+
    +
  • +
    +
    Type Parameters:
    +
    T - The type of the elements that are being aligned.
    +
    +
    +
    Direct Known Subclasses:
    +
    SampleIntegerAlignmentPricer
    +
    +
    +
    +
    public class AlignmentPricer<T>
    +extends java.lang.Object
    +
    Provides a generic implementation for the calculation of the cost of aligning two elements of a sequence as part of + the sequence alignment algorithm (the algorithm is implemented in SequenceAlignment).
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      AlignmentPricer(java.util.function.ToIntBiFunction<T,T> alignmentCostFunction, + java.util.function.ToIntFunction<T> gapCostFunction) +
      Constructs a new AlignmentPricer.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intalignmentCost(T item1, + T item2) +
      Calculate the cost of aligning item1 with item2.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AlignmentPricer

        +
        public AlignmentPricer(java.util.function.ToIntBiFunction<T,T> alignmentCostFunction,
        +                       java.util.function.ToIntFunction<T> gapCostFunction)
        +
        Constructs a new AlignmentPricer.
        +
        +
        Parameters:
        +
        alignmentCostFunction - A function that specifies the cost of aligning a T with some other T + (e.g., based on the values of the properties of the two instances).
        +
        gapCostFunction - A function that specifies the cost of aligning a T with a gap. Note that the + function is free to specify different gap costs for different Ts.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        alignmentCost

        +
        public int alignmentCost(T item1,
        +                         T item2)
        +
        Calculate the cost of aligning item1 with item2. If either of the two arguments is set to + null, the cost of aligning the other argument with a gap will be returned. Note that both arguments + cannot be null at the same time as that translates to aligning a gap with a gap, which is pointless.
        +
        +
        Parameters:
        +
        item1 - The first of the two aligned objects. Set to null to calculate the cost of aligning + item2 with a gap.
        +
        item2 - The second of the two aligned objects. Set to null to calculate the cost of aligning + item2 with a gap.
        +
        Returns:
        +
        The cost of aligning item1 with item2.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html new file mode 100644 index 0000000..5f14dab --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/ExtractedSequence.html @@ -0,0 +1,287 @@ + + + + + +ExtractedSequence + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.comparison.seqalignment
+

Class ExtractedSequence

+
+
+ +
+
    +
  • +
    +
    +
    public class ExtractedSequence
    +extends java.lang.Object
    +
    TODO add class documentation.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        ExtractedSequence

        +
        public ExtractedSequence(Conversation sequence,
        +                         int maxAlignmentCost,
        +                         boolean tlsAppDataAlignment)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getRepresentativeSequence

        +
        public Conversation getRepresentativeSequence()
        +
      • +
      + + + +
        +
      • +

        getMaxAlignmentCost

        +
        public int getMaxAlignmentCost()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html new file mode 100644 index 0000000..5cafd46 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SampleIntegerAlignmentPricer.html @@ -0,0 +1,254 @@ + + + + + +SampleIntegerAlignmentPricer + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.comparison.seqalignment
+

Class SampleIntegerAlignmentPricer

+
+
+ +
+
    +
  • +
    +
    +
    public class SampleIntegerAlignmentPricer
    +extends AlignmentPricer<java.lang.Integer>
    +
    A sample AlignmentPricer for computing the cost of aligning integer values. In this sample implementation, + the cost of aligning two integers i1 and i2 is Math.abs(i1 - i2), i.e., it is the absolute + value of the difference between i1 and i2. The cost of aligning an integer i with a gap is + simply i, i.e., the gap is essentially treated as a zero.
    +
  • +
+
+
+ +
+
+ +
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html new file mode 100644 index 0000000..bad2ed0 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceAlignment.html @@ -0,0 +1,305 @@ + + + + + +SequenceAlignment + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.comparison.seqalignment
+

Class SequenceAlignment<ALIGNMENT_UNIT>

+
+
+ +
+
    +
  • +
    +
    Type Parameters:
    +
    ALIGNMENT_UNIT - The unit of the alignment, or, in other words, the granularity of the + alignment. For example, for 'classical' string alignment (as in sequence alignment where we + try to align two strings character by character -- the example most often used in books on + algorithms) this would be a Character. As a second example, by specifying + String, one can decrease the granularity so as to align blocks of characters + (e.g., if one wants to align to two string arrays).
    +
    +
    +
    +
    public class SequenceAlignment<ALIGNMENT_UNIT>
    +extends java.lang.Object
    +
    A generic implementation of the sequence alignment algorithm given in Kleinberg's and Tardos' "Algorithm Design". + This implementation is the basic version. There is a more complex version which significantly reduces the space + complexity at a slight cost to time complexity.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SequenceAlignment

        +
        public SequenceAlignment(AlignmentPricer<ALIGNMENT_UNIT> alignmentPricer)
        +
        Constructs a new SequenceAlignment. The new instance relies on the provided alignmentPricer to + provide the cost of aligning two ALIGNMENT_UNITs as well as the cost of aligning an + ALIGNMENT_UNIT with a gap.
        +
        +
        Parameters:
        +
        alignmentPricer - An AlignmentPricer that provides the cost of aligning two ALIGNMENT_UNITs + with one another as well as the cost of aligning an ALIGNMENT_UNIT with a gap.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        calculateAlignment

        +
        public int calculateAlignment(ALIGNMENT_UNIT[] sequence1,
        +                              ALIGNMENT_UNIT[] sequence2)
        +
        Calculates the cost of aligning sequence1 with sequence2.
        +
        +
        Parameters:
        +
        sequence1 - A sequence that is to be aligned with sequence2.
        +
        sequence2 - A sequence that is to be aligned with sequence1.
        +
        Returns:
        +
        The cost of aligning sequence1 with sequence2.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html new file mode 100644 index 0000000..8b49b96 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/SequenceExtraction.html @@ -0,0 +1,315 @@ + + + + + +SequenceExtraction + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.comparison.seqalignment
+

Class SequenceExtraction

+
+
+ +
+
    +
  • +
    +
    +
    public class SequenceExtraction
    +extends java.lang.Object
    +
    TODO add class documentation.
    +
  • +
+
+
+ +
+
+ +
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-frame.html new file mode 100644 index 0000000..c2fc899 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-frame.html @@ -0,0 +1,24 @@ + + + + + +edu.uci.iotproject.comparison.seqalignment + + + + + +

edu.uci.iotproject.comparison.seqalignment

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-summary.html new file mode 100644 index 0000000..0221c64 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-summary.html @@ -0,0 +1,167 @@ + + + + + +edu.uci.iotproject.comparison.seqalignment + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.comparison.seqalignment

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-tree.html new file mode 100644 index 0000000..44ccbe6 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/comparison/seqalignment/package-tree.html @@ -0,0 +1,142 @@ + + + + + +edu.uci.iotproject.comparison.seqalignment Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.comparison.seqalignment

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractClusterMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractClusterMatcher.html new file mode 100644 index 0000000..abcf1ef --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractClusterMatcher.html @@ -0,0 +1,268 @@ + + + + + +AbstractClusterMatcher + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection
+

Class AbstractClusterMatcher

+
+
+ +
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    Layer2ClusterMatcher, Layer3ClusterMatcher
    +
    +
    +
    +
    public abstract class AbstractClusterMatcher
    +extends java.lang.Object
    +
    Base class for classes that search a traffic trace for sequences of packets that "belong to" a given cluster (in + other words, classes that attempt to classify traffic as pertaining to a given cluster).
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        addObserver

        +
        public final void addObserver(ClusterMatcherObserver observer)
        +
        Register for callbacks from this cluster matcher.
        +
        +
        Parameters:
        +
        observer - The target of the callbacks.
        +
        +
      • +
      + + + +
        +
      • +

        removeObserver

        +
        public final void removeObserver(ClusterMatcherObserver observer)
        +
        Deregister for callbacks from this cluster matcher.
        +
        +
        Parameters:
        +
        observer - The callback target that is to be deregistered.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractSignatureDetector.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractSignatureDetector.html new file mode 100644 index 0000000..8ef6cf2 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/AbstractSignatureDetector.html @@ -0,0 +1,248 @@ + + + + + +AbstractSignatureDetector + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection
+

Class AbstractSignatureDetector

+
+
+ +
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      AbstractSignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      + +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        AbstractSignatureDetector

        +
        public AbstractSignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature)
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/ClusterMatcherObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/ClusterMatcherObserver.html new file mode 100644 index 0000000..b8e2c97 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/ClusterMatcherObserver.html @@ -0,0 +1,238 @@ + + + + + +ClusterMatcherObserver + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection
+

Interface ClusterMatcherObserver

+
+
+
+ +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onMatch

        +
        void onMatch(AbstractClusterMatcher clusterMatcher,
        +             java.util.List<org.pcap4j.core.PcapPacket> match)
        +
        Callback that is invoked by an AbstractClusterMatcher whenever it detects traffic that matches an element + of its associated cluster.
        +
        +
        Parameters:
        +
        clusterMatcher - The AbstractClusterMatcher that detected a match (i.e., classified traffic as + pertaining to its associated cluster).
        +
        match - The traffic that was deemed to match the cluster associated with clusterMatcher.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/SignatureDetectorObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/SignatureDetectorObserver.html new file mode 100644 index 0000000..d931a45 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/SignatureDetectorObserver.html @@ -0,0 +1,230 @@ + + + + + +SignatureDetectorObserver + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection
+

Interface SignatureDetectorObserver

+
+
+
+
    +
  • +
    +
    +
    public interface SignatureDetectorObserver
    +
    Used for registering for notifications from a signature detector.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      voidonSignatureDetected(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature, + java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> matchingTraffic) +
      Invoked when the signature detector has detected the presence of a signature in the traffic that it's examining.
      +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onSignatureDetected

        +
        void onSignatureDetected(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
        +                         java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> matchingTraffic)
        +
        Invoked when the signature detector has detected the presence of a signature in the traffic that it's examining.
        +
        +
        Parameters:
        +
        searchedSignature - The signature that the signature detector reporting the match is searching for.
        +
        matchingTraffic - The actual traffic trace that matches the searched signature.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html new file mode 100644 index 0000000..b5b9a45 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2AbstractMatcher.html @@ -0,0 +1,353 @@ + + + + + +Layer2AbstractMatcher + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection.layer2
+

Class Layer2AbstractMatcher

+
+
+ +
+
    +
  • +
    +
    Direct Known Subclasses:
    +
    Layer2RangeMatcher, Layer2SequenceMatcher
    +
    +
    +
    +
    public abstract class Layer2AbstractMatcher
    +extends java.lang.Object
    +
    Base class for layer 2 matchers (Layer2SequenceMatcher and Layer2RangeMatcher).
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Layer2AbstractMatcher(java.util.List<org.pcap4j.core.PcapPacket> sequence) +
      Create a Layer2AbstractMatcher.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethod and Description
      org.pcap4j.core.PcapPacketgetLastPacket() +
      Utility for getMatchedPackets().get(getMatchedPackets().size()-1).
      +
      java.util.List<org.pcap4j.core.PcapPacket>getMatchedPackets() 
      intgetMatchedPacketsCount() 
      abstract intgetTargetSequencePacketCount() +
      See the implementer class for the following method.
      +
      abstract booleanmatchPacket(org.pcap4j.core.PcapPacket packet) +
      See the implementer class for the following method.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer2AbstractMatcher

        +
        public Layer2AbstractMatcher(java.util.List<org.pcap4j.core.PcapPacket> sequence)
        +
        Create a Layer2AbstractMatcher.
        +
        +
        Parameters:
        +
        sequence - The sequence of the signature.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matchPacket

        +
        public abstract boolean matchPacket(org.pcap4j.core.PcapPacket packet)
        +
        See the implementer class for the following method.
        +
        +
        Parameters:
        +
        packet -
        +
        Returns:
        +
        true if this Layer2SequenceMatcher could advance by adding packet to its set of + matched packets, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        getTargetSequencePacketCount

        +
        public abstract int getTargetSequencePacketCount()
        +
        See the implementer class for the following method.
        +
      • +
      + + + +
        +
      • +

        getMatchedPacketsCount

        +
        public int getMatchedPacketsCount()
        +
      • +
      + + + +
        +
      • +

        getMatchedPackets

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getMatchedPackets()
        +
      • +
      + + + +
        +
      • +

        getLastPacket

        +
        public org.pcap4j.core.PcapPacket getLastPacket()
        +
        Utility for getMatchedPackets().get(getMatchedPackets().size()-1).
        +
        +
        Returns:
        +
        The last matched packet, or null if no packets have been matched yet.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html new file mode 100644 index 0000000..e7ba886 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2ClusterMatcher.html @@ -0,0 +1,377 @@ + + + + + +Layer2ClusterMatcher + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection.layer2
+

Class Layer2ClusterMatcher

+
+
+ +
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      Layer2ClusterMatcher(java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> cluster, + java.util.function.Function<Layer2Flow,java.lang.Boolean> flowFilter, + int inclusionTimeMillis, + boolean isRangeBased, + double eps) +
      Create a new Layer2ClusterMatcher that attempts to find occurrences of cluster's members.
      +
      Layer2ClusterMatcher(java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> cluster, + int inclusionTimeMillis, + boolean isRangeBased, + double eps) +
      Create a new Layer2ClusterMatcher that attempts to find occurrences of cluster's members.
      +
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer2ClusterMatcher

        +
        public Layer2ClusterMatcher(java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> cluster,
        +                            int inclusionTimeMillis,
        +                            boolean isRangeBased,
        +                            double eps)
        +
        Create a new Layer2ClusterMatcher that attempts to find occurrences of cluster's members.
        +
        +
        Parameters:
        +
        cluster - The sequence mutations that the new Layer2ClusterMatcher should search for.
        +
        +
      • +
      + + + +
        +
      • +

        Layer2ClusterMatcher

        +
        public Layer2ClusterMatcher(java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> cluster,
        +                            java.util.function.Function<Layer2Flow,java.lang.Boolean> flowFilter,
        +                            int inclusionTimeMillis,
        +                            boolean isRangeBased,
        +                            double eps)
        +
        Create a new Layer2ClusterMatcher that attempts to find occurrences of cluster's members.
        +
        +
        Parameters:
        +
        cluster - The sequence mutations that the new Layer2ClusterMatcher should search for.
        +
        flowFilter - A filter that defines what Layer2Flows the new Layer2ClusterMatcher should + search for cluster's members in. If flowFilter returns true, the flow + will be included (searched). Note that flowFilter is only queried once for each flow, + namely when the Layer2FlowReassembler notifies the Layer2ClusterMatcher about + the new flow. This functionality may for example come in handy when one only wants to search + for matches in the subset of flows that involves a specific (range of) MAC(s).
        +
        inclusionTimeMillis - Packet inclusion time limit for matching.
        +
        isRangeBased - The boolean that decides if it is range-based vs. strict matching.
        +
        eps - The epsilon value used in the DBSCAN algorithm.
        +
        +
      • +
      +
    • +
    + + +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html new file mode 100644 index 0000000..887ca50 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2RangeMatcher.html @@ -0,0 +1,360 @@ + + + + + +Layer2RangeMatcher + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection.layer2
+

Class Layer2RangeMatcher

+
+
+ +
+
    +
  • +
    +
    +
    public class Layer2RangeMatcher
    +extends Layer2AbstractMatcher
    +
    Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls + to matchPacket(PcapPacket), considering only layer 2 information. This class has the same flavor as the + Layer2SequenceMatcher class.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Layer2RangeMatcher(java.util.List<org.pcap4j.core.PcapPacket> lowerBound, + java.util.List<org.pcap4j.core.PcapPacket> upperBound, + int inclusionTimeMillis, + double eps) +
      Create a Layer2RangeMatcher.
      +
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer2RangeMatcher

        +
        public Layer2RangeMatcher(java.util.List<org.pcap4j.core.PcapPacket> lowerBound,
        +                          java.util.List<org.pcap4j.core.PcapPacket> upperBound,
        +                          int inclusionTimeMillis,
        +                          double eps)
        +
        Create a Layer2RangeMatcher.
        +
        +
        Parameters:
        +
        lowerBound - The lower bound of the sequence to match against (search for).
        +
        upperBound - The upper bound of the sequence to match against (search for).
        +
        eps - The epsilon value used in the DBSCAN algorithm.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matchPacket

        +
        public boolean matchPacket(org.pcap4j.core.PcapPacket packet)
        +
        Attempt to advance this Layer2RangeMatcher by matching packet against the packet that this + Layer2RangeMatcher expects as the next packet of the sequence it is searching for.
        +
        +
        Specified by:
        +
        matchPacket in class Layer2AbstractMatcher
        +
        Parameters:
        +
        packet -
        +
        Returns:
        +
        true if this Layer2SequenceMatcher could advance by adding packet to its set of + matched packets, false otherwise.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        getTargetLowerBound

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getTargetLowerBound()
        +
      • +
      + + + +
        +
      • +

        getTargetUpperBound

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getTargetUpperBound()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html new file mode 100644 index 0000000..2987c3f --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html @@ -0,0 +1,340 @@ + + + + + +Layer2SequenceMatcher + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection.layer2
+

Class Layer2SequenceMatcher

+
+
+ +
+
    +
  • +
    +
    +
    public class Layer2SequenceMatcher
    +extends Layer2AbstractMatcher
    +
    Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls + to matchPacket(PcapPacket), considering only layer 2 information.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Layer2SequenceMatcher(java.util.List<org.pcap4j.core.PcapPacket> sequence, + int inclusionTimeMillis) +
      Create a Layer2SequenceMatcher.
      +
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer2SequenceMatcher

        +
        public Layer2SequenceMatcher(java.util.List<org.pcap4j.core.PcapPacket> sequence,
        +                             int inclusionTimeMillis)
        +
        Create a Layer2SequenceMatcher.
        +
        +
        Parameters:
        +
        sequence - The sequence to match against (search for).
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        matchPacket

        +
        public boolean matchPacket(org.pcap4j.core.PcapPacket packet)
        +
        Attempt to advance this Layer2SequenceMatcher by matching packet against the packet that this + Layer2SequenceMatcher expects as the next packet of the sequence it is searching for.
        +
        +
        Specified by:
        +
        matchPacket in class Layer2AbstractMatcher
        +
        Parameters:
        +
        packet -
        +
        Returns:
        +
        true if this Layer2SequenceMatcher could advance by adding packet to its set of + matched packets, false otherwise.
        +
        +
      • +
      + + + + + + + +
        +
      • +

        getTargetSequence

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getTargetSequence()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html new file mode 100644 index 0000000..e9f87c9 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html @@ -0,0 +1,382 @@ + + + + + +Layer2SignatureDetector + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection.layer2
+

Class Layer2SignatureDetector

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClusterMatcherObserver, org.pcap4j.core.PacketListener
    +
    +
    +
    +
    public class Layer2SignatureDetector
    +extends java.lang.Object
    +implements org.pcap4j.core.PacketListener, ClusterMatcherObserver
    +
    Performs layer 2 signature detection.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      Layer2SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature, + int signatureDuration, + boolean isRangeBased, + double eps) 
      Layer2SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature, + java.util.List<java.util.function.Function<Layer2Flow,java.lang.Boolean>> flowFilters, + int inclusionTimeMillis, + boolean isRangeBased, + double eps) 
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer2SignatureDetector

        +
        public Layer2SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
        +                               int signatureDuration,
        +                               boolean isRangeBased,
        +                               double eps)
        +
      • +
      + + + +
        +
      • +

        Layer2SignatureDetector

        +
        public Layer2SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
        +                               java.util.List<java.util.function.Function<Layer2Flow,java.lang.Boolean>> flowFilters,
        +                               int inclusionTimeMillis,
        +                               boolean isRangeBased,
        +                               double eps)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +                 throws org.pcap4j.core.PcapNativeException,
        +                        org.pcap4j.core.NotOpenException,
        +                        java.io.IOException
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException
        +
        org.pcap4j.core.NotOpenException
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        gotPacket

        +
        public void gotPacket(org.pcap4j.core.PcapPacket packet)
        +
        +
        Specified by:
        +
        gotPacket in interface org.pcap4j.core.PacketListener
        +
        +
      • +
      + + + +
        +
      • +

        onMatch

        +
        public void onMatch(AbstractClusterMatcher clusterMatcher,
        +                    java.util.List<org.pcap4j.core.PcapPacket> match)
        +
        Description copied from interface: ClusterMatcherObserver
        +
        Callback that is invoked by an AbstractClusterMatcher whenever it detects traffic that matches an element + of its associated cluster.
        +
        +
        Specified by:
        +
        onMatch in interface ClusterMatcherObserver
        +
        Parameters:
        +
        clusterMatcher - The AbstractClusterMatcher that detected a match (i.e., classified traffic as + pertaining to its associated cluster).
        +
        match - The traffic that was deemed to match the cluster associated with clusterMatcher.
        +
        +
      • +
      + + + + + + + + +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-frame.html new file mode 100644 index 0000000..1a67fb5 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-frame.html @@ -0,0 +1,24 @@ + + + + + +edu.uci.iotproject.detection.layer2 + + + + + +

edu.uci.iotproject.detection.layer2

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-summary.html new file mode 100644 index 0000000..9c11d2d --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-summary.html @@ -0,0 +1,168 @@ + + + + + +edu.uci.iotproject.detection.layer2 + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.detection.layer2

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-tree.html new file mode 100644 index 0000000..3e7e113 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer2/package-tree.html @@ -0,0 +1,146 @@ + + + + + +edu.uci.iotproject.detection.layer2 Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.detection.layer2

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html new file mode 100644 index 0000000..d68e053 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html @@ -0,0 +1,364 @@ + + + + + +Layer3ClusterMatcher + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection.layer3
+

Class Layer3ClusterMatcher

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    org.pcap4j.core.PacketListener
    +
    +
    +
    +
    public class Layer3ClusterMatcher
    +extends AbstractClusterMatcher
    +implements org.pcap4j.core.PacketListener
    +
    Searches a traffic trace for sequences of packets "belong to" a given cluster (in other words, attempts to classify + traffic as pertaining to a given cluster).
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer3ClusterMatcher

        +
        public Layer3ClusterMatcher(java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> cluster,
        +                            java.lang.String routerWanIp,
        +                            int inclusionTimeMillis,
        +                            boolean isRangeBased,
        +                            double eps,
        +                            ClusterMatcherObserver... detectionObservers)
        + +
        +
        Parameters:
        +
        cluster - The cluster that traffic is matched against.
        +
        routerWanIp - The router's WAN IP if examining traffic captured at the ISP's point of view (used for + determining the direction of packets).
        +
        inclusionTimeMillis - The packet inclusion time for signature.
        +
        isRangeBased - The boolean that decides if it is range-based vs. strict matching.
        +
        eps - The epsilon value used in the DBSCAN algorithm.
        +
        detectionObservers - Client code that wants to get notified whenever the Layer3ClusterMatcher detects that + (a subset of) the examined traffic is similar to the traffic that makes up + cluster, i.e., when the examined traffic is classified as pertaining to + cluster.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        gotPacket

        +
        public void gotPacket(org.pcap4j.core.PcapPacket packet)
        +
        +
        Specified by:
        +
        gotPacket in interface org.pcap4j.core.PacketListener
        +
        +
      • +
      + + + +
        +
      • +

        getCluster

        +
        public java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> getCluster()
        +
        Get the cluster that describes the packet sequence that this Layer3ClusterMatcher is searching for.
        +
        +
        Returns:
        +
        the cluster that describes the packet sequence that this Layer3ClusterMatcher is searching for.
        +
        +
      • +
      + + + +
        +
      • +

        performDetectionRangeBased

        +
        public void performDetectionRangeBased()
        +
      • +
      + + + +
        +
      • +

        performDetectionConservative

        +
        public void performDetectionConservative()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html new file mode 100644 index 0000000..fc3e96c --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html @@ -0,0 +1,387 @@ + + + + + +Layer3SignatureDetector + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.detection.layer3
+

Class Layer3SignatureDetector

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClusterMatcherObserver, org.pcap4j.core.PacketListener
    +
    +
    +
    +
    public class Layer3SignatureDetector
    +extends java.lang.Object
    +implements org.pcap4j.core.PacketListener, ClusterMatcherObserver
    +
    Detects an event signature that spans one or multiple TCP connections.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Layer3SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature, + java.lang.String routerWanIp, + int inclusionTimeMillis, + boolean isRangeBased, + double eps) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidaddObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer) 
      voidgotPacket(org.pcap4j.core.PcapPacket packet) 
      static voidmain(java.lang.String[] args) 
      voidonMatch(AbstractClusterMatcher clusterMatcher, + java.util.List<org.pcap4j.core.PcapPacket> match) +
      Callback that is invoked by an AbstractClusterMatcher whenever it detects traffic that matches an element + of its associated cluster.
      +
      static java.util.List<UserAction>removeDuplicates(java.util.List<UserAction> listUserAction) +
      Remove duplicates in List of UserAction objects.
      +
      booleanremoveObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer3SignatureDetector

        +
        public Layer3SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
        +                               java.lang.String routerWanIp,
        +                               int inclusionTimeMillis,
        +                               boolean isRangeBased,
        +                               double eps)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +                 throws org.pcap4j.core.PcapNativeException,
        +                        org.pcap4j.core.NotOpenException,
        +                        java.io.IOException
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException
        +
        org.pcap4j.core.NotOpenException
        +
        java.io.IOException
        +
        +
      • +
      + + + +
        +
      • +

        removeDuplicates

        +
        public static java.util.List<UserAction> removeDuplicates(java.util.List<UserAction> listUserAction)
        +
        Remove duplicates in List of UserAction objects. We need to clean this up for user actions + that appear multiple times. + TODO: This static method is probably just for temporary and we could get rid of this after we clean up + TODO: the pipeline
        +
        +
        Parameters:
        +
        listUserAction - A List of UserAction.
        +
        +
      • +
      + + + +
        +
      • +

        addObserver

        +
        public void addObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer)
        +
      • +
      + + + +
        +
      • +

        removeObserver

        +
        public boolean removeObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer)
        +
      • +
      + + + +
        +
      • +

        gotPacket

        +
        public void gotPacket(org.pcap4j.core.PcapPacket packet)
        +
        +
        Specified by:
        +
        gotPacket in interface org.pcap4j.core.PacketListener
        +
        +
      • +
      + + + +
        +
      • +

        onMatch

        +
        public void onMatch(AbstractClusterMatcher clusterMatcher,
        +                    java.util.List<org.pcap4j.core.PcapPacket> match)
        +
        Description copied from interface: ClusterMatcherObserver
        +
        Callback that is invoked by an AbstractClusterMatcher whenever it detects traffic that matches an element + of its associated cluster.
        +
        +
        Specified by:
        +
        onMatch in interface ClusterMatcherObserver
        +
        Parameters:
        +
        clusterMatcher - The AbstractClusterMatcher that detected a match (i.e., classified traffic as + pertaining to its associated cluster).
        +
        match - The traffic that was deemed to match the cluster associated with clusterMatcher.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-frame.html new file mode 100644 index 0000000..51cf3b1 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-frame.html @@ -0,0 +1,21 @@ + + + + + +edu.uci.iotproject.detection.layer3 + + + + + +

edu.uci.iotproject.detection.layer3

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-summary.html new file mode 100644 index 0000000..47fb8b6 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-summary.html @@ -0,0 +1,149 @@ + + + + + +edu.uci.iotproject.detection.layer3 + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.detection.layer3

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-tree.html new file mode 100644 index 0000000..5a59413 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/layer3/package-tree.html @@ -0,0 +1,140 @@ + + + + + +edu.uci.iotproject.detection.layer3 Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.detection.layer3

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-frame.html new file mode 100644 index 0000000..ffdcba4 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-frame.html @@ -0,0 +1,26 @@ + + + + + +edu.uci.iotproject.detection + + + + + +

edu.uci.iotproject.detection

+
+

Interfaces

+ +

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-summary.html new file mode 100644 index 0000000..b756771 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-summary.html @@ -0,0 +1,173 @@ + + + + + +edu.uci.iotproject.detection + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.detection

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-tree.html new file mode 100644 index 0000000..980746c --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/detection/package-tree.html @@ -0,0 +1,141 @@ + + + + + +edu.uci.iotproject.detection Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.detection

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html new file mode 100644 index 0000000..de76d40 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/DetectionResultsAnalyzer.html @@ -0,0 +1,275 @@ + + + + + +DetectionResultsAnalyzer + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.evaluation
+

Class DetectionResultsAnalyzer

+
+
+ +
+
    +
  • +
    +
    +
    public class DetectionResultsAnalyzer
    +extends java.lang.Object
    +
    Utility for comparing detected events to logged (actual) events.
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static voidmain(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DetectionResultsAnalyzer

        +
        public DetectionResultsAnalyzer()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +                 throws java.io.IOException
        +
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/SanitySignatureGenerator.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/SanitySignatureGenerator.html new file mode 100644 index 0000000..4136289 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/SanitySignatureGenerator.html @@ -0,0 +1,286 @@ + + + + + +SanitySignatureGenerator + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.evaluation
+

Class SanitySignatureGenerator

+
+
+ +
+
    +
  • +
    +
    +
    public class SanitySignatureGenerator
    +extends java.lang.Object
    +
    Hacky utility for producing a sanity signature for negative test sets. +

    + More precisely, given information about packet lengths and packet directions known to be present in an input trace, + this class locates the first occurrence of a matching sequence in the input trace and outputs it to a file in the + signature format (i.e., a List<List<List<PcapPacket>>>. +

    +

    + Note: can only produce simplistic signatures, i.e., a signature that is a single packet sequence that + occurs on a single TCP connection. +

    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static voidmain(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SanitySignatureGenerator

        +
        public SanitySignatureGenerator()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +                 throws org.pcap4j.core.PcapNativeException,
        +                        org.pcap4j.core.NotOpenException
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException
        +
        org.pcap4j.core.NotOpenException
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-frame.html new file mode 100644 index 0000000..ba45f85 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-frame.html @@ -0,0 +1,21 @@ + + + + + +edu.uci.iotproject.evaluation + + + + + +

edu.uci.iotproject.evaluation

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-summary.html new file mode 100644 index 0000000..1ac3ef5 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-summary.html @@ -0,0 +1,148 @@ + + + + + +edu.uci.iotproject.evaluation + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.evaluation

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-tree.html new file mode 100644 index 0000000..7d9e245 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/evaluation/package-tree.html @@ -0,0 +1,136 @@ + + + + + +edu.uci.iotproject.evaluation Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.evaluation

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/LiveCapture.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/LiveCapture.html new file mode 100644 index 0000000..6759367 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/LiveCapture.html @@ -0,0 +1,337 @@ + + + + + +LiveCapture + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.io
+

Class LiveCapture

+
+
+ +
+
    +
  • +
    +
    +
    public class LiveCapture
    +extends java.lang.Object
    +
    Utility methods for setting up a PcapHandleReader that reads live traffic from a network interface card.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      LiveCapture() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static PcapHandleReaderfromCliNicSelection(org.pcap4j.core.PacketListener... listeners) +
      Prompts the user to pick a Network Interface Card (NIC) for which live traffic is to be captured, then creates a + PcapHandleReader that is ready to start capturing live traffic from that NIC.
      +
      static PcapHandleReaderfromNic(org.pcap4j.core.PcapNetworkInterface networkInterface, + org.pcap4j.core.PacketListener... listeners) +
      Creates a PcapHandleReader that is ready to start capturing live traffic from the provided Network + Interface Card (NIC).
      +
      static voidmain(java.lang.String[] args) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        LiveCapture

        +
        public LiveCapture()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        main

        +
        public static void main(java.lang.String[] args)
        +                 throws org.pcap4j.core.PcapNativeException,
        +                        org.pcap4j.core.NotOpenException,
        +                        java.lang.InterruptedException
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException
        +
        org.pcap4j.core.NotOpenException
        +
        java.lang.InterruptedException
        +
        +
      • +
      + + + +
        +
      • +

        fromCliNicSelection

        +
        public static PcapHandleReader fromCliNicSelection(org.pcap4j.core.PacketListener... listeners)
        +                                            throws org.pcap4j.core.PcapNativeException
        +
        Prompts the user to pick a Network Interface Card (NIC) for which live traffic is to be captured, then creates a + PcapHandleReader that is ready to start capturing live traffic from that NIC.
        +
        +
        Parameters:
        +
        listeners - One or more PacketListeners to which packets read from the NIC will be delivered.
        +
        Returns:
        +
        A PcapHandleReader that is ready to start capturing live traffic from the selected NIC or + null if no NICs can be found.
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException - if an error occurs in the pcap native library.
        +
        +
      • +
      + + + +
        +
      • +

        fromNic

        +
        public static PcapHandleReader fromNic(org.pcap4j.core.PcapNetworkInterface networkInterface,
        +                                       org.pcap4j.core.PacketListener... listeners)
        +                                throws org.pcap4j.core.PcapNativeException
        +
        Creates a PcapHandleReader that is ready to start capturing live traffic from the provided Network + Interface Card (NIC).
        +
        +
        Parameters:
        +
        networkInterface - The target NIC.
        +
        listeners - One or more PacketListeners to which packets read from the NIC will be delivered.
        +
        Returns:
        +
        A PcapHandleReader that is ready to start capturing live traffic from the provided NIC.
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException - if an error occurs in the pcap native library.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PcapHandleReader.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PcapHandleReader.html new file mode 100644 index 0000000..fc513b3 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PcapHandleReader.html @@ -0,0 +1,341 @@ + + + + + +PcapHandleReader + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.io
+

Class PcapHandleReader

+
+
+ +
+
    +
  • +
    +
    +
    public class PcapHandleReader
    +extends java.lang.Object
    +
    Reads packets from a PcapHandle (online or offline) and delivers those packets that pass the test exercised + by the provided PcapPacketFilter onto the provided PacketListeners.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      PcapHandleReader(org.pcap4j.core.PcapHandle handle, + PcapPacketFilter packetFilter, + org.pcap4j.core.PacketListener... packetListeners) +
      Create a PcapHandleReader.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      booleanhasTerminated() +
      Checks if this PcapHandleReader has gracefully terminated, i.e., that the wrapped PcapHandle has + been closed.
      +
      voidreadFromHandle() +
      Start reading (and filtering) packets from the provided PcapHandle.
      +
      voidstopReading() +
      Stop reading from the wrapped PcapHandle.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PcapHandleReader

        +
        public PcapHandleReader(org.pcap4j.core.PcapHandle handle,
        +                        PcapPacketFilter packetFilter,
        +                        org.pcap4j.core.PacketListener... packetListeners)
        +
        Create a PcapHandleReader.
        +
        +
        Parameters:
        +
        handle - An open PcapHandle that packets will be read from.
        +
        packetFilter - A PcapPacketFilter that dictates which of the packets read from handle should + be delivered to packetListeners. Note that while a value of null is not + permitted here, the caller can instead simply provide an implementation that always returns + true if they want to include all packets read from handle.
        +
        packetListeners - One or more PacketListeners to which those packets read from handle that + pass through packetFilter are delivered.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        readFromHandle

        +
        public void readFromHandle()
        +                    throws org.pcap4j.core.PcapNativeException,
        +                           org.pcap4j.core.NotOpenException
        +
        Start reading (and filtering) packets from the provided PcapHandle.
        +
        +
        Throws:
        +
        org.pcap4j.core.PcapNativeException - if an error occurs in the pcap native library.
        +
        org.pcap4j.core.NotOpenException - if the provided PcapHandle is not open.
        +
        +
      • +
      + + + +
        +
      • +

        stopReading

        +
        public void stopReading()
        +
        Stop reading from the wrapped PcapHandle. Note that this call only initiates the shutdown by + setting a termination flag. Shutdown will be deferred until the time at which this flag can be checked by + readFromHandle(). For example, if readFromHandle() is currently in the middle of a blocking + call to PcapHandle.getNextPacketEx(), shutdown will not occur until the next packet is returned from the + wrapped PcapHandle or its read timeout expires. Use hasTerminated() to check if the shutdown + has completed.
        +
      • +
      + + + +
        +
      • +

        hasTerminated

        +
        public boolean hasTerminated()
        +
        Checks if this PcapHandleReader has gracefully terminated, i.e., that the wrapped PcapHandle has + been closed.
        +
        +
        Returns:
        +
        true if this PcapHandleReader has terminated, false otherwise.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PrintWriterUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PrintWriterUtils.html new file mode 100644 index 0000000..8646f10 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/PrintWriterUtils.html @@ -0,0 +1,302 @@ + + + + + +PrintWriterUtils + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.io
+

Class PrintWriterUtils

+
+
+ +
+
    +
  • +
    +
    +
    public final class PrintWriterUtils
    +extends java.lang.Object
    +
    Utility methods for (jointly) printing to a PrintWriter (and standard output).
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static voidprint(java.lang.Object line, + java.io.PrintWriter writer, + boolean duplicateToStdOut) +
      Invoke PrintWriter.println(Object) passing line as argument while also printing line to + standard output if duplicateToStdOut is true.
      +
      static voidprintEmptyLine(java.io.PrintWriter writer, + boolean duplicateToStdOut) +
      Make writer (and standard output, if duplicateToStdOut is true) print an empty line.
      +
      static voidprintln(java.lang.Object line, + java.io.PrintWriter writer, + boolean duplicateToStdOut) +
      Invoke PrintWriter.println(Object) passing line as argument while also printing line to + standard output if duplicateToStdOut is true.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        println

        +
        public static void println(java.lang.Object line,
        +                           java.io.PrintWriter writer,
        +                           boolean duplicateToStdOut)
        +
        Invoke PrintWriter.println(Object) passing line as argument while also printing line to + standard output if duplicateToStdOut is true.
        +
        +
        Parameters:
        +
        line - The line to be printed.
        +
        writer - The PrintWriter that is to print line.
        +
        duplicateToStdOut - Set to true if line should also be printed in standard output.
        +
        +
      • +
      + + + +
        +
      • +

        print

        +
        public static void print(java.lang.Object line,
        +                         java.io.PrintWriter writer,
        +                         boolean duplicateToStdOut)
        +
        Invoke PrintWriter.println(Object) passing line as argument while also printing line to + standard output if duplicateToStdOut is true.
        +
        +
        Parameters:
        +
        line - The line to be printed.
        +
        writer - The PrintWriter that is to print line.
        +
        duplicateToStdOut - Set to true if line should also be printed in standard output.
        +
        +
      • +
      + + + +
        +
      • +

        printEmptyLine

        +
        public static void printEmptyLine(java.io.PrintWriter writer,
        +                                  boolean duplicateToStdOut)
        +
        Make writer (and standard output, if duplicateToStdOut is true) print an empty line.
        +
        +
        Parameters:
        +
        writer - The writer that PrintWriter.println() is to be invoked on.
        +
        duplicateToStdOut - If true, prints an empty line to standard output.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/TriggerTimesFileReader.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/TriggerTimesFileReader.html new file mode 100644 index 0000000..8610944 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/TriggerTimesFileReader.html @@ -0,0 +1,363 @@ + + + + + +TriggerTimesFileReader + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.io
+

Class TriggerTimesFileReader

+
+
+ +
+
    +
  • +
    +
    +
    public class TriggerTimesFileReader
    +extends java.lang.Object
    +
    Parses a file to obtain the timestamps at which the smart plug was toggled on/off.
    +
  • +
+
+
+
    +
  • + + + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.time.InstantparseTriggerTimestamp(java.lang.String timestampStr, + boolean _24hFormat) +
      Parses a timestamp string to an Instant (UTC).
      +
      java.util.List<java.time.Instant>readTriggerTimes(java.lang.String fileName, + boolean _24hFormat) +
      Reads a file with trigger timestamps and parses the timestamps into Instants using the rules specified + by parseTriggerTimestamp(String, boolean).
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        ZONE_ID_LOS_ANGELES

        +
        public static final java.time.ZoneId ZONE_ID_LOS_ANGELES
        +
      • +
      + + + +
        +
      • +

        ZONE_ID_BUDAPEST

        +
        public static final java.time.ZoneId ZONE_ID_BUDAPEST
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TriggerTimesFileReader

        +
        public TriggerTimesFileReader()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        readTriggerTimes

        +
        public java.util.List<java.time.Instant> readTriggerTimes(java.lang.String fileName,
        +                                                          boolean _24hFormat)
        +
        Reads a file with trigger timestamps and parses the timestamps into Instants using the rules specified + by parseTriggerTimestamp(String, boolean).
        +
        +
        Parameters:
        +
        fileName - The absolute path to the file with trigger timestamps.
        +
        _24hFormat - true if the timestamps in the file are in 24 hour format, false if they are in + AM/PM format.
        +
        Returns:
        +
        A containing the trigger timestamps represented as Instants.
        +
        +
      • +
      + + + +
        +
      • +

        parseTriggerTimestamp

        +
        public java.time.Instant parseTriggerTimestamp(java.lang.String timestampStr,
        +                                               boolean _24hFormat)
        +
        Parses a timestamp string to an Instant (UTC). Assumes timestamps are LA time. + Format is expected to be either "MM/dd/uuuu HH:mm:ss" or "MM/dd/uuuu h:mm:ss a".
        +
        +
        Parameters:
        +
        timestampStr - The string containing a date-time timestamp for LA's timezone.
        +
        _24hFormat - true if the time in timestampStr is given in 24 hour format, false if + it is given in AM/PM format.
        +
        Returns:
        +
        An Instant representation of the parsed timestamp. Note that the Instant marks a point on + the timeline in UTC. Use Instant.atZone(ZoneId) to convert to the corresponding time in a given + timezone.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-frame.html new file mode 100644 index 0000000..1d95f9e --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-frame.html @@ -0,0 +1,23 @@ + + + + + +edu.uci.iotproject.io + + + + + +

edu.uci.iotproject.io

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-summary.html new file mode 100644 index 0000000..d0eb79f --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-summary.html @@ -0,0 +1,161 @@ + + + + + +edu.uci.iotproject.io + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.io

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-tree.html new file mode 100644 index 0000000..a6fdcc8 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/io/package-tree.html @@ -0,0 +1,138 @@ + + + + + +edu.uci.iotproject.io Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.io

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPattern.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPattern.html new file mode 100644 index 0000000..a2e6146 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPattern.html @@ -0,0 +1,313 @@ + + + + + +MacLayerFlowPattern + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.maclayer
+

Class MacLayerFlowPattern

+
+
+ +
+
    +
  • +
    +
    +
    public class MacLayerFlowPattern
    +extends java.lang.Object
    +
    TODO create base class for FlowPattern and derive MacLayer, TCP/IP layer versions from that.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      MacLayerFlowPattern(java.lang.String patternId, + java.lang.String macPrefix, + java.util.List<java.lang.Integer> packetLengthSequence) 
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MacLayerFlowPattern

        +
        public MacLayerFlowPattern(java.lang.String patternId,
        +                           java.lang.String macPrefix,
        +                           java.util.List<java.lang.Integer> packetLengthSequence)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getPatternId

        +
        public java.lang.String getPatternId()
        +
      • +
      + + + +
        +
      • +

        getMacPrefixRawBytes

        +
        public byte[] getMacPrefixRawBytes()
        +
      • +
      + + + +
        +
      • +

        getPacketLengthSequence

        +
        public java.util.List<java.lang.Integer> getPacketLengthSequence()
        +
      • +
      + + + +
        +
      • +

        getLength

        +
        public int getLength()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html new file mode 100644 index 0000000..771a435 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/MacLayerFlowPatternFinder.html @@ -0,0 +1,273 @@ + + + + + +MacLayerFlowPatternFinder + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.maclayer
+

Class MacLayerFlowPatternFinder

+
+
+ +
+
    +
  • +
    +
    +
    public class MacLayerFlowPatternFinder
    +extends java.lang.Object
    +
    Performs a search for FlowPattern + TODO: May want to create an abstract FlowPatternFinder and then derive MacLayer, TcpipLayer FlowPatternFinders from that one.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        MacLayerFlowPatternFinder

        +
        public MacLayerFlowPatternFinder(org.pcap4j.core.PcapHandle pcap,
        +                                 MacLayerFlowPattern pattern)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        findFlowPattern

        +
        public void findFlowPattern()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-frame.html new file mode 100644 index 0000000..363d5cf --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-frame.html @@ -0,0 +1,21 @@ + + + + + +edu.uci.iotproject.maclayer + + + + + +

edu.uci.iotproject.maclayer

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-summary.html new file mode 100644 index 0000000..9d46a9d --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-summary.html @@ -0,0 +1,149 @@ + + + + + +edu.uci.iotproject.maclayer + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.maclayer

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-tree.html new file mode 100644 index 0000000..dc98374 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/maclayer/package-tree.html @@ -0,0 +1,136 @@ + + + + + +edu.uci.iotproject.maclayer Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.maclayer

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-frame.html new file mode 100644 index 0000000..81465b2 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-frame.html @@ -0,0 +1,22 @@ + + + + + +edu.uci.iotproject + + + + + +

edu.uci.iotproject

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-summary.html new file mode 100644 index 0000000..8462559 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-summary.html @@ -0,0 +1,157 @@ + + + + + +edu.uci.iotproject + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-tree.html new file mode 100644 index 0000000..da8d54b --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/package-tree.html @@ -0,0 +1,137 @@ + + + + + +edu.uci.iotproject Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/SequenceAlignmentTest.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/SequenceAlignmentTest.html new file mode 100644 index 0000000..a467e71 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/SequenceAlignmentTest.html @@ -0,0 +1,387 @@ + + + + + +SequenceAlignmentTest + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.test
+

Class SequenceAlignmentTest

+
+
+ +
+
    +
  • +
    +
    +
    public class SequenceAlignmentTest
    +extends java.lang.Object
    +
    Tests the implementation of SequenceAlignment.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        SequenceAlignmentTest

        +
        public SequenceAlignmentTest()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        initialize

        +
        public void initialize()
        +
      • +
      + + + +
        +
      • +

        kleinbergExampleOptAlignmentCostShouldBe6

        +
        public void kleinbergExampleOptAlignmentCostShouldBe6()
        +
      • +
      + + + +
        +
      • +

        meanAlignedWithEmptyStringShouldBe8

        +
        public void meanAlignedWithEmptyStringShouldBe8()
        +
      • +
      + + + +
        +
      • +

        mAlignedWithNameShouldBe6

        +
        public void mAlignedWithNameShouldBe6()
        +
      • +
      + + + +
        +
      • +

        meAlignedWithNameShouldBe4

        +
        public void meAlignedWithNameShouldBe4()
        +
      • +
      + + + +
        +
      • +

        ameAlignedWithNameShouldBe2

        +
        public void ameAlignedWithNameShouldBe2()
        +
      • +
      + + + +
        +
      • +

        fameAlignedWithNameShouldBe1

        +
        public void fameAlignedWithNameShouldBe1()
        +
      • +
      + + + +
        +
      • +

        nameAlignedWithNameShouldBe0

        +
        public void nameAlignedWithNameShouldBe0()
        +
      • +
      + + + +
        +
      • +

        emanAlignedWithNameShouldBe6

        +
        public void emanAlignedWithNameShouldBe6()
        +
      • +
      + + + +
        +
      • +

        naemAlignedWithNameShouldBe4

        +
        public void naemAlignedWithNameShouldBe4()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-frame.html new file mode 100644 index 0000000..489cecf --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-frame.html @@ -0,0 +1,20 @@ + + + + + +edu.uci.iotproject.test + + + + + +

edu.uci.iotproject.test

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-summary.html new file mode 100644 index 0000000..8d05873 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-summary.html @@ -0,0 +1,142 @@ + + + + + +edu.uci.iotproject.test + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.test

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-tree.html new file mode 100644 index 0000000..6022bbb --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/test/package-tree.html @@ -0,0 +1,135 @@ + + + + + +edu.uci.iotproject.test Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.test

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html new file mode 100644 index 0000000..f8079d4 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html @@ -0,0 +1,396 @@ + + + + + +Layer2Flow + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer2
+

Class Layer2Flow

+
+
+ +
+
    +
  • +
    +
    +
    public class Layer2Flow
    +extends java.lang.Object
    +
    Models a layer 2 flow: groups packets exchanged between two specific endpoints (MAC addresses).
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Layer2Flow(org.pcap4j.util.MacAddress endpoint1, + org.pcap4j.util.MacAddress endpoint2) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidaddFlowObserver(Layer2FlowObserver observer) +
      Register as an observer of this flow.
      +
      voidaddPacket(org.pcap4j.core.PcapPacket packet) +
      Add a packet to this flow.
      +
      org.pcap4j.util.MacAddressgetEndpoint1() +
      Get the first endpoint of this flow.
      +
      org.pcap4j.util.MacAddressgetEndpoint2() +
      Get the second endpoint of this flow.
      +
      java.util.List<org.pcap4j.core.PcapPacket>getPackets() +
      Get the packets pertaining to this flow.
      +
      voidremoveFlowObserver(Layer2FlowObserver observer) +
      Deregister as an observer of this flow.
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer2Flow

        +
        public Layer2Flow(org.pcap4j.util.MacAddress endpoint1,
        +                  org.pcap4j.util.MacAddress endpoint2)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getEndpoint1

        +
        public org.pcap4j.util.MacAddress getEndpoint1()
        +
        Get the first endpoint of this flow.
        +
        +
        Returns:
        +
        the first endpoint of this flow.
        +
        +
      • +
      + + + +
        +
      • +

        getEndpoint2

        +
        public org.pcap4j.util.MacAddress getEndpoint2()
        +
        Get the second endpoint of this flow.
        +
        +
        Returns:
        +
        the second endpoint of this flow.
        +
        +
      • +
      + + + +
        +
      • +

        addFlowObserver

        +
        public void addFlowObserver(Layer2FlowObserver observer)
        +
        Register as an observer of this flow.
        +
        +
        Parameters:
        +
        observer - The client that is to be notified whenever this flow changes (has new packets added).
        +
        +
      • +
      + + + +
        +
      • +

        removeFlowObserver

        +
        public void removeFlowObserver(Layer2FlowObserver observer)
        +
        Deregister as an observer of this flow.
        +
        +
        Parameters:
        +
        observer - The client that no longer wishes to be notified whenever this flow changes.
        +
        +
      • +
      + + + +
        +
      • +

        addPacket

        +
        public void addPacket(org.pcap4j.core.PcapPacket packet)
        +
        Add a packet to this flow.
        +
        +
        Parameters:
        +
        packet - The packet that is to be added to the flow.
        +
        +
      • +
      + + + +
        +
      • +

        getPackets

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getPackets()
        +
        Get the packets pertaining to this flow.
        +
        +
        Returns:
        +
        The packets pertaining to this flow.
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html new file mode 100644 index 0000000..e8e57b5 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowObserver.html @@ -0,0 +1,234 @@ + + + + + +Layer2FlowObserver + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer2
+

Interface Layer2FlowObserver

+
+
+
+ +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onNewPacket

        +
        void onNewPacket(Layer2Flow flow,
        +                 org.pcap4j.core.PcapPacket newPacket)
        +
        Invoked when a new packet is added to the observed flow.
        +
        +
        Parameters:
        +
        flow - The observed flow.
        +
        newPacket - The packet that was added to the flow.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html new file mode 100644 index 0000000..60bebbc --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassembler.html @@ -0,0 +1,351 @@ + + + + + +Layer2FlowReassembler + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer2
+

Class Layer2FlowReassembler

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    org.pcap4j.core.PacketListener
    +
    +
    +
    +
    public class Layer2FlowReassembler
    +extends java.lang.Object
    +implements org.pcap4j.core.PacketListener
    +
    Reassembles traffic flows at layer 2, i.e., for each combination of hosts, creates a list of packets exchanged + between said hosts.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Layer2FlowReassembler

        +
        public Layer2FlowReassembler()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        gotPacket

        +
        public void gotPacket(org.pcap4j.core.PcapPacket packet)
        +
        +
        Specified by:
        +
        gotPacket in interface org.pcap4j.core.PacketListener
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        getFlowForAddresses

        +
        public Layer2Flow getFlowForAddresses(org.pcap4j.util.MacAddress addr1,
        +                                      org.pcap4j.util.MacAddress addr2)
        +
        Get the traffic flow between two local endpoints (MacAddresses).
        +
        +
        Parameters:
        +
        addr1 - The first endpoint.
        +
        addr2 - The second endpoint
        +
        Returns:
        +
        The traffic exchanged between the two endpoints.
        +
        +
      • +
      + + + +
        +
      • +

        getFlows

        +
        public java.util.Collection<Layer2Flow> getFlows()
        +
        Get all traffic flows, i.e., a traffic flow for each unique pair of endpoints (MAC addresses).
        +
        +
        Returns:
        +
        All traffic flows.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html new file mode 100644 index 0000000..0df8bbc --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/Layer2FlowReassemblerObserver.html @@ -0,0 +1,236 @@ + + + + + +Layer2FlowReassemblerObserver + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer2
+

Interface Layer2FlowReassemblerObserver

+
+
+
+ +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        onNewFlow

        +
        void onNewFlow(Layer2FlowReassembler reassembler,
        +               Layer2Flow newFlow)
        +
        Invoked when when a Layer2FlowReassembler detects a new flow (i.e., when it encounters traffic between two + MAC addresses that has not previously communicated in the traffic trace).
        +
        +
        Parameters:
        +
        reassembler - The Layer2FlowReassembler that detected the new flow.
        +
        newFlow - The new flow.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-frame.html new file mode 100644 index 0000000..b3594ab --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-frame.html @@ -0,0 +1,26 @@ + + + + + +edu.uci.iotproject.trafficreassembly.layer2 + + + + + +

edu.uci.iotproject.trafficreassembly.layer2

+
+

Interfaces

+ +

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-summary.html new file mode 100644 index 0000000..d97e3e1 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-summary.html @@ -0,0 +1,172 @@ + + + + + +edu.uci.iotproject.trafficreassembly.layer2 + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.trafficreassembly.layer2

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-tree.html new file mode 100644 index 0000000..a30e808 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer2/package-tree.html @@ -0,0 +1,141 @@ + + + + + +edu.uci.iotproject.trafficreassembly.layer2 Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.trafficreassembly.layer2

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html new file mode 100644 index 0000000..254af0c --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.Direction.html @@ -0,0 +1,364 @@ + + + + + +Conversation.Direction + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer3
+

Enum Conversation.Direction

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<Conversation.Direction>
    +
    +
    +
    Enclosing class:
    +
    Conversation
    +
    +
    +
    +
    public static enum Conversation.Direction
    +extends java.lang.Enum<Conversation.Direction>
    +
    Utility enum for expressing the direction of a packet pertaining to this Conversation.
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethod and Description
      abstract java.lang.StringtoCompactString() +
      Get a compact string representation of this Direction.
      +
      static Conversation.DirectionvalueOf(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static Conversation.Direction[]values() +
      Returns an array containing the constants of this enum type, in +the order they are declared.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Enum

        +compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        values

        +
        public static Conversation.Direction[] values()
        +
        Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
        +for (Conversation.Direction c : Conversation.Direction.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static Conversation.Direction valueOf(java.lang.String name)
        +
        Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.)
        +
        +
        Parameters:
        +
        name - the name of the enum constant to be returned.
        +
        Returns:
        +
        the enum constant with the specified name
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        +
        java.lang.NullPointerException - if the argument is null
        +
        +
      • +
      + + + +
        +
      • +

        toCompactString

        +
        public abstract java.lang.String toCompactString()
        +
        Get a compact string representation of this Direction.
        +
        +
        Returns:
        +
        a compact string representation of this Direction.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.html new file mode 100644 index 0000000..e39c4ce --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/Conversation.html @@ -0,0 +1,717 @@ + + + + + +Conversation + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer3
+

Class Conversation

+
+
+ +
+
    +
  • +
    +
    +
    public class Conversation
    +extends java.lang.Object
    +
    Models a (TCP) conversation/connection/session/flow (packet's belonging to the same session between a client and a + server). + Holds a list of PcapPackets identified as pertaining to the flow. Note that this list is not + considered when determining equality of two Conversation instances in order to allow for a + Conversation to function as a key in data structures such as Map and Set. + See equals(Object) for the definition of equality.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Nested Class Summary

      + + + + + + + + + + +
      Nested Classes 
      Modifier and TypeClass and Description
      static class Conversation.Direction +
      Utility enum for expressing the direction of a packet pertaining to this Conversation.
      +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Conversation(java.lang.String clientIp, + int clientPort, + java.lang.String serverIp, + int serverPort) +
      Constructs a new Conversation.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidaddFinPacket(org.pcap4j.core.PcapPacket finPacket) +
      Adds a TCP FIN packet to the list of TCP FIN packets associated with this conversation.
      +
      voidaddPacket(org.pcap4j.core.PcapPacket packet, + boolean ignoreRetransmissions) +
      Add a packet to the list of packets associated with this conversation.
      +
      voidaddRstPacket(org.pcap4j.core.PcapPacket packet) +
      Add a TCP segment for which the RST flag is set to this Conversation.
      +
      booleanaddSynPacket(org.pcap4j.core.PcapPacket synPacket) +
      Records a TCP SYN packet as pertaining to this conversation (adds it to the the internal list).
      +
      voidattemptAcknowledgementOfFin(org.pcap4j.core.PcapPacket ackPacket) +
      Attempt to ACK any FIN packets held by this conversation.
      +
      booleanequals(java.lang.Object obj) +
      Note: currently, equality is determined based on pairwise equality of the elements of the four tuple + (mClientIp, mClientPort, mServerIp, mServerPort) for this and + obj.
      +
      static ConversationfromPcapPacket(org.pcap4j.core.PcapPacket pcapPacket, + boolean clientIsSrc) +
      Factory method for creating a Conversation from a PcapPacket.
      +
      Conversation.DirectiongetDirection(org.pcap4j.core.PcapPacket packet) +
      Determine the direction of packet.
      +
      java.util.List<FinAckPair>getFinAckPairs() +
      Retrieves an unmodifiable view of the list of FinAckPairs associated with this Conversation.
      +
      java.util.List<org.pcap4j.core.PcapPacket>getPackets() +
      Get a list of packets pertaining to this Conversation.
      +
      java.util.List<org.pcap4j.core.PcapPacket>getRstPackets() +
      Get the TCP segments pertaining to this Conversation for which it was detected that the RST flag is set.
      +
      java.util.List<org.pcap4j.core.PcapPacket>getSynPackets() +
      Get a list of SYN packets pertaining to this Conversation.
      +
      java.util.List<org.pcap4j.core.PcapPacket>getTlsApplicationDataPackets() +
      If this Conversation is backing a TLS session (i.e., if the value of isTls() is true), + get the packets labeled as TLS Application Data packets.
      +
      inthashCode() 
      booleanisGracefullyShutdown() +
      Get if this Conversation is considered to have been gracefully shut down.
      +
      booleanisRetransmission(org.pcap4j.core.PcapPacket packet) +
      + Determines if the TCP packet contained in packet is a retransmission of a previously seen (logged) + packet.
      +
      booleanisTls() +
      + Is this Conversation a TLS session?
      +
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +getClass, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Conversation

        +
        public Conversation(java.lang.String clientIp,
        +                    int clientPort,
        +                    java.lang.String serverIp,
        +                    int serverPort)
        +
        Constructs a new Conversation.
        +
        +
        Parameters:
        +
        clientIp - The IP of the host that is considered the client (i.e. the host that initiates the conversation) + in the conversation.
        +
        clientPort - The port number used by the client for the conversation.
        +
        serverIp - The IP of the host that is considered the server (i.e. is the responder) in the conversation.
        +
        serverPort - The port number used by the server for the conversation.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        fromPcapPacket

        +
        public static Conversation fromPcapPacket(org.pcap4j.core.PcapPacket pcapPacket,
        +                                          boolean clientIsSrc)
        +
        Factory method for creating a Conversation from a PcapPacket.
        +
        +
        Parameters:
        +
        pcapPacket - The PcapPacket that wraps a TCP segment for which a Conversation is to be initiated.
        +
        clientIsSrc - If true, the source address and source port found in the IP datagram and TCP segment + wrapped in the PcapPacket are regarded as pertaining to the client, and the destination + address and destination port are regarded as pertaining to the server---and vice versa if set + to false.
        +
        Returns:
        +
        A Conversation initiated with ip:port for client and server according to the direction of the packet.
        +
        +
      • +
      + + + +
        +
      • +

        addPacket

        +
        public void addPacket(org.pcap4j.core.PcapPacket packet,
        +                      boolean ignoreRetransmissions)
        +
        Add a packet to the list of packets associated with this conversation.
        +
        +
        Parameters:
        +
        packet - The packet that is to be added to (associated with) this conversation.
        +
        ignoreRetransmissions - Boolean value indicating if retransmissions should be ignored. + If set to true, packet will not be added to the + internal list of packets pertaining to this Conversation + iff the sequence number of packet was already + seen in a previous packet.
        +
        +
      • +
      + + + +
        +
      • +

        getPackets

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getPackets()
        +
        Get a list of packets pertaining to this Conversation. + The returned list is a read-only list.
        +
        +
        Returns:
        +
        the list of packets pertaining to this Conversation.
        +
        +
      • +
      + + + +
        +
      • +

        addSynPacket

        +
        public boolean addSynPacket(org.pcap4j.core.PcapPacket synPacket)
        +
        Records a TCP SYN packet as pertaining to this conversation (adds it to the the internal list). + Attempts to add duplicate SYN packets will be ignored, and the caller is made aware of the attempt to add a + duplicate by the return value being false.
        +
        +
        Parameters:
        +
        synPacket - A PcapPacket wrapping a TCP SYN packet.
        +
        Returns:
        +
        true if the packet was successfully added to this Conversation, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        getSynPackets

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getSynPackets()
        +
        Get a list of SYN packets pertaining to this Conversation. + The returned list is a read-only list.
        +
        +
        Returns:
        +
        the list of SYN packets pertaining to this Conversation.
        +
        +
      • +
      + + + +
        +
      • +

        addFinPacket

        +
        public void addFinPacket(org.pcap4j.core.PcapPacket finPacket)
        +
        Adds a TCP FIN packet to the list of TCP FIN packets associated with this conversation.
        +
        +
        Parameters:
        +
        finPacket - The TCP FIN packet that is to be added to (associated with) this conversation.
        +
        +
      • +
      + + + +
        +
      • +

        attemptAcknowledgementOfFin

        +
        public void attemptAcknowledgementOfFin(org.pcap4j.core.PcapPacket ackPacket)
        +
        Attempt to ACK any FIN packets held by this conversation.
        +
        +
        Parameters:
        +
        ackPacket - The ACK for a FIN previously added to this conversation.
        +
        +
      • +
      + + + +
        +
      • +

        getFinAckPairs

        +
        public java.util.List<FinAckPair> getFinAckPairs()
        +
        Retrieves an unmodifiable view of the list of FinAckPairs associated with this Conversation.
        +
        +
        Returns:
        +
        an unmodifiable view of the list of FinAckPairs associated with this Conversation.
        +
        +
      • +
      + + + +
        +
      • +

        isGracefullyShutdown

        +
        public boolean isGracefullyShutdown()
        +
        Get if this Conversation is considered to have been gracefully shut down. + A Conversation has been gracefully shut down if it contains a FIN+ACK pair for both directions + (client to server, and server to client).
        +
        +
        Returns:
        +
        true if the connection has been gracefully shut down, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        addRstPacket

        +
        public void addRstPacket(org.pcap4j.core.PcapPacket packet)
        +
        Add a TCP segment for which the RST flag is set to this Conversation.
        +
        +
        Parameters:
        +
        packet - A PcapPacket wrapping a TCP segment pertaining to this Conversation for which the + RST flag is set.
        +
        +
      • +
      + + + +
        +
      • +

        getRstPackets

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getRstPackets()
        +
        Get the TCP segments pertaining to this Conversation for which it was detected that the RST flag is set.
        +
        +
        Returns:
        +
        the TCP segments pertaining to this Conversation for which it was detected that the RST flag is + set.
        +
        +
      • +
      + + + +
        +
      • +

        equals

        +
        public boolean equals(java.lang.Object obj)
        +
        Note: currently, equality is determined based on pairwise equality of the elements of the four tuple + (mClientIp, mClientPort, mServerIp, mServerPort) for this and + obj.
        +
        +
        Overrides:
        +
        equals in class java.lang.Object
        +
        Parameters:
        +
        obj - The object to test for equality with this.
        +
        Returns:
        +
        true if obj is considered equal to this based on the definition of equality given above.
        +
        +
      • +
      + + + +
        +
      • +

        hashCode

        +
        public int hashCode()
        +
        +
        Overrides:
        +
        hashCode in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        isRetransmission

        +
        public boolean isRetransmission(org.pcap4j.core.PcapPacket packet)
        +

        + Determines if the TCP packet contained in packet is a retransmission of a previously seen (logged) + packet. +

        + + + TODO: + the current implementation, which uses a set of previously seen sequence numbers, will consider a segment + with a reused sequence number---occurring as a result of sequence number wrap around for a very long-lived + connection---as a retransmission (and may therefore end up discarding it even though it is in fact NOT a + retransmission). Ideas? +
        +
        +
        Parameters:
        +
        packet - The packet.
        +
        Returns:
        +
        true if packet was determined to be a retransmission, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isTls

        +
        public boolean isTls()
        +

        + Is this Conversation a TLS session? +

        + + Note: the current implementation simply examines the port number(s) for 443; it does not verify if the + application data is indeed encrypted.
        +
        +
        Returns:
        +
        true if this Conversation is interpreted as a TLS session, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        getTlsApplicationDataPackets

        +
        public java.util.List<org.pcap4j.core.PcapPacket> getTlsApplicationDataPackets()
        +
        If this Conversation is backing a TLS session (i.e., if the value of isTls() is true), + get the packets labeled as TLS Application Data packets. This is a subset of the full set of payload-carrying + packets (as returned by getPackets()). An exception is thrown if this method is invoked on a + Conversation for which isTls() returns false.
        +
        +
        Returns:
        +
        A list containing exactly those packets that could be identified as TLS Application Data packets (through + inspecting of the SSL record header). The list may be empty, if no TLS application data packets have been + recorded for this Conversation.
        +
        +
      • +
      + + + +
        +
      • +

        getDirection

        +
        public Conversation.Direction getDirection(org.pcap4j.core.PcapPacket packet)
        +
        Determine the direction of packet. An IllegalArgumentException is thrown if packet does + not pertain to this conversation.
        +
        +
        Parameters:
        +
        packet - The packet whose direction is to be determined.
        +
        Returns:
        +
        A Conversation.Direction indicating the direction of the packet.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html new file mode 100644 index 0000000..898318c --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/FinAckPair.html @@ -0,0 +1,367 @@ + + + + + +FinAckPair + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer3
+

Class FinAckPair

+
+
+ +
+
    +
  • +
    +
    +
    public class FinAckPair
    +extends java.lang.Object
    +
    Groups a FIN packet and its corresponding ACK packet. Immutable and thread safe.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      FinAckPair(org.pcap4j.core.PcapPacket finPacket) +
      Constructs a FinAckPair given a FIN packet.
      +
      FinAckPair(org.pcap4j.core.PcapPacket finPacket, + org.pcap4j.core.PcapPacket correspondingAckPacket) +
      Constructs a FinAckPair given a FIN and an ACK packet.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      org.pcap4j.core.PcapPacketgetCorrespondingAckPacket() +
      Get the corresponding ACK packet of this pair, if any.
      +
      org.pcap4j.core.PcapPacketgetFinPacket() +
      Get the FIN packet of this pair.
      +
      booleanisAcknowledged() +
      Was the FIN in this FinAckPair acknowledged?
      +
      booleanisCorrespondingAckPacket(org.pcap4j.core.PcapPacket packet) +
      Checks if a given packet is an ACK corresponding to the FIN packet in this FinAckPair.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        FinAckPair

        +
        public FinAckPair(org.pcap4j.core.PcapPacket finPacket)
        +
        Constructs a FinAckPair given a FIN packet. + The corresponding ACK packet field is set to null.
        +
        +
        Parameters:
        +
        finPacket - A FIN packet.
        +
        +
      • +
      + + + +
        +
      • +

        FinAckPair

        +
        public FinAckPair(org.pcap4j.core.PcapPacket finPacket,
        +                  org.pcap4j.core.PcapPacket correspondingAckPacket)
        +
        Constructs a FinAckPair given a FIN and an ACK packet.
        +
        +
        Parameters:
        +
        finPacket - A FIN packet.
        +
        correspondingAckPacket - The ACK packet corresponding to finPacket.
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getFinPacket

        +
        public org.pcap4j.core.PcapPacket getFinPacket()
        +
        Get the FIN packet of this pair.
        +
        +
        Returns:
        +
        the FIN packet of this pair.
        +
        +
      • +
      + + + +
        +
      • +

        getCorrespondingAckPacket

        +
        public org.pcap4j.core.PcapPacket getCorrespondingAckPacket()
        +
        Get the corresponding ACK packet of this pair, if any.
        +
        +
        Returns:
        +
        the corresponding ACK packet of this pair, if any.
        +
        +
      • +
      + + + +
        +
      • +

        isAcknowledged

        +
        public boolean isAcknowledged()
        +
        Was the FIN in this FinAckPair acknowledged?
        +
        +
        Returns:
        +
        true if the corresponding ACK has been set in this FinAckPair.
        +
        +
      • +
      + + + +
        +
      • +

        isCorrespondingAckPacket

        +
        public boolean isCorrespondingAckPacket(org.pcap4j.core.PcapPacket packet)
        +
        Checks if a given packet is an ACK corresponding to the FIN packet in this FinAckPair.
        +
        +
        Returns:
        +
        true if packet is an ACK that corresponds to the FIN in this pair, false otherwise.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html new file mode 100644 index 0000000..b353b83 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/TcpReassembler.html @@ -0,0 +1,301 @@ + + + + + +TcpReassembler + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.trafficreassembly.layer3
+

Class TcpReassembler

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    org.pcap4j.core.PacketListener
    +
    +
    +
    +
    public class TcpReassembler
    +extends java.lang.Object
    +implements org.pcap4j.core.PacketListener
    +
    Reassembles TCP conversations (streams). + Note: current version only supports TCP over IPv4.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      TcpReassembler() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.util.List<Conversation>getTcpConversations() +
      Get the reassembled TCP connections.
      +
      voidgotPacket(org.pcap4j.core.PcapPacket pcapPacket) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        TcpReassembler

        +
        public TcpReassembler()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        gotPacket

        +
        public void gotPacket(org.pcap4j.core.PcapPacket pcapPacket)
        +
        +
        Specified by:
        +
        gotPacket in interface org.pcap4j.core.PacketListener
        +
        +
      • +
      + + + +
        +
      • +

        getTcpConversations

        +
        public java.util.List<Conversation> getTcpConversations()
        +
        Get the reassembled TCP connections. Note that if this is called while packets are still being processed (by + calls to gotPacket(PcapPacket)), the behavior is undefined and the returned list may be inconsistent.
        +
        +
        Returns:
        +
        The reassembled TCP connections.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-frame.html new file mode 100644 index 0000000..dcc4962 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-frame.html @@ -0,0 +1,26 @@ + + + + + +edu.uci.iotproject.trafficreassembly.layer3 + + + + + +

edu.uci.iotproject.trafficreassembly.layer3

+
+

Classes

+ +

Enums

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-summary.html new file mode 100644 index 0000000..8b947a0 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-summary.html @@ -0,0 +1,172 @@ + + + + + +edu.uci.iotproject.trafficreassembly.layer3 + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.trafficreassembly.layer3

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-tree.html new file mode 100644 index 0000000..601fd6b --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/trafficreassembly/layer3/package-tree.html @@ -0,0 +1,149 @@ + + + + + +edu.uci.iotproject.trafficreassembly.layer3 Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.trafficreassembly.layer3

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Enum Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PcapPacketUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PcapPacketUtils.html new file mode 100644 index 0000000..076509b --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PcapPacketUtils.html @@ -0,0 +1,833 @@ + + + + + +PcapPacketUtils + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.util
+

Class PcapPacketUtils

+
+
+ +
+
    +
  • +
    +
    +
    public final class PcapPacketUtils
    +extends java.lang.Object
    +
    Utility methods for inspecting PcapPacket properties.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      PcapPacketUtils() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>clusterToListOfPcapPackets(org.apache.commons.math3.stat.clustering.Cluster<PcapPacketPair> cluster) +
      Transform a Cluster of PcapPacketPair objects into a List of List of + PcapPacket objects.
      +
      static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>>concatSequences(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures, + java.util.List<Conversation> conversations) +
      Concatenate sequences in List of List of List of PcapPacket objects.
      +
      static java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>extractRangeCorePoints(java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> pairs, + double eps, + int minPts) +
      Extract core point range in the form of List of List of PcapPacket objects.
      +
      static java.lang.StringgetDestinationIp(org.pcap4j.core.PcapPacket packet) +
      Gets the destination IP (in decimal format) of an IPv4 packet.
      +
      static intgetDestinationPort(org.pcap4j.core.PcapPacket packet) +
      Gets the destination port of a TCP packet.
      +
      static org.pcap4j.util.MacAddressgetEthDstAddr(org.pcap4j.core.PcapPacket packet) +
      Gets the destination address of the Ethernet part of packet.
      +
      static org.pcap4j.util.MacAddressgetEthSrcAddr(org.pcap4j.core.PcapPacket packet) +
      Gets the source address of the Ethernet part of packet.
      +
      static java.lang.StringgetSourceIp(org.pcap4j.core.PcapPacket packet) +
      Gets the source IP (in decimal format) of an IPv4 packet.
      +
      static intgetSourcePort(org.pcap4j.core.PcapPacket packet) +
      Gets the source port of a TCP packet.
      +
      static booleanisAck(org.pcap4j.core.PcapPacket packet) +
      Checks if packet wraps a TCP packet th at has the ACK flag set.
      +
      static booleanisConservativeChecking(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature, + java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> otherSignature, + double eps) +
      Check if there is any overlap between the signature stored in this class and another signature.
      +
      static booleanisDestination(org.pcap4j.core.PcapPacket packet, + java.lang.String ip, + int port) +
      Helper method to determine if the given combination of IP and port matches the destination of the given packet.
      +
      static booleanisDstIpLocal(org.pcap4j.core.PcapPacket packet) +
      Checks if the destination IP address of the IpV4Packet contained in packet is a local address, + i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.
      +
      static booleanisRangeBasedMatching(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature, + double eps, + java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>>... otherSignatures) +
      Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
      +
      static booleanisSource(org.pcap4j.core.PcapPacket packet, + java.lang.String ip, + int port) +
      Helper method to determine if the given combination of IP and port matches the source of the given packet.
      +
      static booleanisSrcIpLocal(org.pcap4j.core.PcapPacket packet) +
      Checks if the source IP address of the IpV4Packet contained in packet is a local address, i.e., + if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.
      +
      static booleanisSyn(org.pcap4j.core.PcapPacket packet) +
      Checks if packet wraps a TCP packet that has the SYN flag set.
      +
      static booleanisTcp(org.pcap4j.core.PcapPacket packet) +
      Determines if a given PcapPacket wraps a TcpPacket.
      +
      static voidprintSignatures(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures, + java.io.PrintWriter resultsWriter, + boolean printToOutput) +
      Print signatures in List of List of List of PcapPacket objects.
      +
      static voidremoveSequenceFromSignature(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures, + int sequenceIndex) +
      Remove a sequence in a signature object.
      +
      static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>>sortSequences(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures) +
      Sort the sequences in the List of List of List of PcapPacket objects.
      +
      static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>>useRangeBasedMatching(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature, + java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> corePointRange) +
      Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        PcapPacketUtils

        +
        public PcapPacketUtils()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getEthSrcAddr

        +
        public static org.pcap4j.util.MacAddress getEthSrcAddr(org.pcap4j.core.PcapPacket packet)
        +
        Gets the source address of the Ethernet part of packet.
        +
        +
        Parameters:
        +
        packet - The packet for which the Ethernet source address is to be extracted.
        +
        Returns:
        +
        The source address of the Ethernet part of packet.
        +
        +
      • +
      + + + +
        +
      • +

        getEthDstAddr

        +
        public static org.pcap4j.util.MacAddress getEthDstAddr(org.pcap4j.core.PcapPacket packet)
        +
        Gets the destination address of the Ethernet part of packet.
        +
        +
        Parameters:
        +
        packet - The packet for which the Ethernet destination address is to be extracted.
        +
        Returns:
        +
        The destination address of the Ethernet part of packet.
        +
        +
      • +
      + + + +
        +
      • +

        isTcp

        +
        public static boolean isTcp(org.pcap4j.core.PcapPacket packet)
        +
        Determines if a given PcapPacket wraps a TcpPacket.
        +
        +
        Parameters:
        +
        packet - The PcapPacket to inspect.
        +
        Returns:
        +
        true if packet wraps a TcpPacket, false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        getSourceIp

        +
        public static java.lang.String getSourceIp(org.pcap4j.core.PcapPacket packet)
        +
        Gets the source IP (in decimal format) of an IPv4 packet.
        +
        +
        Parameters:
        +
        packet - The packet for which the IPv4 source address is to be extracted.
        +
        Returns:
        +
        The decimal representation of the source IP of packet iff packet wraps an + IpV4Packet.
        +
        Throws:
        +
        java.lang.NullPointerException - if packet does not encapsulate an IpV4Packet.
        +
        +
      • +
      + + + +
        +
      • +

        getDestinationIp

        +
        public static java.lang.String getDestinationIp(org.pcap4j.core.PcapPacket packet)
        +
        Gets the destination IP (in decimal format) of an IPv4 packet.
        +
        +
        Parameters:
        +
        packet - The packet for which the IPv4 source address is to be extracted.
        +
        Returns:
        +
        The decimal representation of the destination IP of packet iff packet wraps an + IpV4Packet.
        +
        Throws:
        +
        java.lang.NullPointerException - if packet does not encapsulate an IpV4Packet.
        +
        +
      • +
      + + + +
        +
      • +

        getSourcePort

        +
        public static int getSourcePort(org.pcap4j.core.PcapPacket packet)
        +
        Gets the source port of a TCP packet.
        +
        +
        Parameters:
        +
        packet - The packet for which the source port is to be extracted.
        +
        Returns:
        +
        The source port of the TcpPacket encapsulated by packet.
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if packet does not encapsulate a TcpPacket.
        +
        +
      • +
      + + + +
        +
      • +

        getDestinationPort

        +
        public static int getDestinationPort(org.pcap4j.core.PcapPacket packet)
        +
        Gets the destination port of a TCP packet.
        +
        +
        Parameters:
        +
        packet - The packet for which the destination port is to be extracted.
        +
        Returns:
        +
        The destination port of the TcpPacket encapsulated by packet.
        +
        Throws:
        +
        java.lang.IllegalArgumentException - if packet does not encapsulate a TcpPacket.
        +
        +
      • +
      + + + +
        +
      • +

        isSource

        +
        public static boolean isSource(org.pcap4j.core.PcapPacket packet,
        +                               java.lang.String ip,
        +                               int port)
        +
        Helper method to determine if the given combination of IP and port matches the source of the given packet.
        +
        +
        Parameters:
        +
        packet - The packet to check.
        +
        ip - The IP to look for in the ip.src field of packet.
        +
        port - The port to look for in the tcp.port field of packet.
        +
        Returns:
        +
        true if the given ip+port match the corresponding fields in packet.
        +
        +
      • +
      + + + +
        +
      • +

        isDestination

        +
        public static boolean isDestination(org.pcap4j.core.PcapPacket packet,
        +                                    java.lang.String ip,
        +                                    int port)
        +
        Helper method to determine if the given combination of IP and port matches the destination of the given packet.
        +
        +
        Parameters:
        +
        packet - The packet to check.
        +
        ip - The IP to look for in the ip.dst field of packet.
        +
        port - The port to look for in the tcp.dstport field of packet.
        +
        Returns:
        +
        true if the given ip+port match the corresponding fields in packet.
        +
        +
      • +
      + + + +
        +
      • +

        isSrcIpLocal

        +
        public static boolean isSrcIpLocal(org.pcap4j.core.PcapPacket packet)
        +
        Checks if the source IP address of the IpV4Packet contained in packet is a local address, i.e., + if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.
        +
        +
        Parameters:
        +
        packet - The packet for which the source IP address is to be examined.
        +
        Returns:
        +
        true if packet wraps a IpV4Packet for which the source IP address is a local IP + address, false otherwise.
        +
        Throws:
        +
        java.lang.NullPointerException - if packet does not encapsulate an IpV4Packet.
        +
        +
      • +
      + + + +
        +
      • +

        isDstIpLocal

        +
        public static boolean isDstIpLocal(org.pcap4j.core.PcapPacket packet)
        +
        Checks if the destination IP address of the IpV4Packet contained in packet is a local address, + i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.
        +
        +
        Parameters:
        +
        packet - The packet for which the destination IP address is to be examined.
        +
        Returns:
        +
        true if packet wraps a IpV4Packet for which the destination IP address is a local + IP address, false otherwise.
        +
        Throws:
        +
        java.lang.NullPointerException - if packet does not encapsulate an IpV4Packet.
        +
        +
      • +
      + + + +
        +
      • +

        isSyn

        +
        public static boolean isSyn(org.pcap4j.core.PcapPacket packet)
        +
        Checks if packet wraps a TCP packet that has the SYN flag set.
        +
        +
        Parameters:
        +
        packet - A PcapPacket that is suspected to contain a TcpPacket for which the SYN flag is set.
        +
        Returns:
        +
        true iff packet contains a TcpPacket for which the SYN flag is set, + false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        isAck

        +
        public static boolean isAck(org.pcap4j.core.PcapPacket packet)
        +
        Checks if packet wraps a TCP packet th at has the ACK flag set.
        +
        +
        Parameters:
        +
        packet - A PcapPacket that is suspected to contain a TcpPacket for which the ACK flag is set.
        +
        Returns:
        +
        true iff packet contains a TcpPacket for which the ACK flag is set, + false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        clusterToListOfPcapPackets

        +
        public static java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> clusterToListOfPcapPackets(org.apache.commons.math3.stat.clustering.Cluster<PcapPacketPair> cluster)
        +
        Transform a Cluster of PcapPacketPair objects into a List of List of + PcapPacket objects.
        +
        +
        Parameters:
        +
        cluster - A Cluster of PcapPacketPair objects that needs to be transformed.
        +
        Returns:
        +
        A List of List of PcapPacket objects as the result of the transformation.
        +
        +
      • +
      + + + +
        +
      • +

        concatSequences

        +
        public static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> concatSequences(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures,
        +                                                                                                         java.util.List<Conversation> conversations)
        +
        Concatenate sequences in List of List of List of PcapPacket objects. + We cross-check these with List of Conversation objects to see + if two List of PcapPacket objects actually belong to the same Conversation.
        +
        +
        Parameters:
        +
        signatures - A List of List of List of + PcapPacket objects that needs to be checked and concatenated.
        +
        conversations - A List of Conversation objects as reference for concatenation.
        +
        Returns:
        +
        A List of List of List of + PcapPacket objects as the result of the concatenation.
        +
        +
      • +
      + + + +
        +
      • +

        sortSequences

        +
        public static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> sortSequences(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures)
        +
        Sort the sequences in the List of List of List of PcapPacket objects. + The purpose of this is to sort the order of sequences in the sequence list. For detection purposes, we need + to know if one sequence occurs earlier/later in time with respect to the other sequences for more confidence + in detecting the occurrence of an event.
        +
        +
        Parameters:
        +
        signatures - A List of List of List of PcapPacket objects that needs sorting. + We assume that innermost List of PcapPacket objects have been sorted ascending + by timestamps. By the time we use this method, we should have sorted it when calling the + clusterToListOfPcapPackets method.
        +
        Returns:
        +
        A sorted List of List of List of PcapPacket objects.
        +
        +
      • +
      + + + +
        +
      • +

        printSignatures

        +
        public static void printSignatures(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures,
        +                                   java.io.PrintWriter resultsWriter,
        +                                   boolean printToOutput)
        +
        Print signatures in List of List of List of PcapPacket objects.
        +
        +
        Parameters:
        +
        signatures - A List of List of List of + PcapPacket objects that needs to be printed.
        +
        resultsWriter - PrintWriter object to write into log file.
        +
        printToOutput - Boolean to decide whether to print out to screen or just log file.
        +
        +
      • +
      + + + +
        +
      • +

        extractRangeCorePoints

        +
        public static java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> extractRangeCorePoints(java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> pairs,
        +                                                                                                double eps,
        +                                                                                                int minPts)
        +
        Extract core point range in the form of List of List of PcapPacket objects.
        +
        +
        Parameters:
        +
        pairs - The pairs for core points extraction.
        +
        eps - Epsilon value for the DBSCAN algorithm.
        +
        minPts - minPts value for the DBSCAN algorithm.
        +
        Returns:
        +
        A List of List of PcapPacket objects that contains core points range + in the first and second element.
        +
        +
      • +
      + + + +
        +
      • +

        isRangeBasedMatching

        +
        public static boolean isRangeBasedMatching(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature,
        +                                           double eps,
        +                                           java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>>... otherSignatures)
        +
        Test the conservativeness of the signatures (basically whether we want strict or range-based matching). + We go for a conservative approach (strict matching) when there is no range or there are ranges but the + ranges overlap across multiple signatures, e.g., ON and OFF signatures.
        +
        +
        Parameters:
        +
        signature - The signature we want to check and overwrite if needed.
        +
        eps - Epsilon value for the DBSCAN algorithm.
        +
        otherSignatures - Other signatures we want to check against this signature.
        +
        Returns:
        +
        A boolean that is True when range-based matching is used.
        +
        +
      • +
      + + + +
        +
      • +

        useRangeBasedMatching

        +
        public static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> useRangeBasedMatching(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature,
        +                                                                                                               java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> corePointRange)
        +
        Test the conservativeness of the signatures (basically whether we want strict or range-based matching). + We go for a conservative approach (strict matching) when there is no range or there are ranges but the + ranges overlap across multiple signatures, e.g., ON and OFF signatures.
        +
        +
        Parameters:
        +
        signature - The signature we want to check and overwrite if needed.
        +
        corePointRange - The core points range of this signature.
        +
        Returns:
        +
        A boolean that is True when range-based matching is used.
        +
        +
      • +
      + + + +
        +
      • +

        isConservativeChecking

        +
        public static boolean isConservativeChecking(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature,
        +                                             java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> otherSignature,
        +                                             double eps)
        +
        Check if there is any overlap between the signature stored in this class and another signature. + Conditions: + 1) If both signatures do not have any range, then we need to do conservative checking (return true). + 2) If both signatures have the same number of packets/packet lengths, then we check the range; if the + numbers of packets/packet lengths are different then we assume that there is no overlap. + 3) If there is any range in the signatures, then we need to check for overlap. + 4) If there is overlap for EVERY packet/packet length, then we return true (conservative checking); + otherwise false (range-based checking).
        +
        +
        Parameters:
        +
        signature - A List of List of List of PcapPacket objects to be checked + for overlaps with the other signature.
        +
        otherSignature - A List of List of List of PcapPacket objects to be checked + for overlaps with the signature.
        +
        eps - Epsilon value for the DBSCAN algorithm.
        +
        Returns:
        +
        A boolean that is true if there is an overlap; false otherwise.
        +
        +
      • +
      + + + +
        +
      • +

        removeSequenceFromSignature

        +
        public static void removeSequenceFromSignature(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signatures,
        +                                               int sequenceIndex)
        +
        Remove a sequence in a signature object.
        +
        +
        Parameters:
        +
        signatures - A List of List of List of + PcapPacket objects.
        +
        sequenceIndex - An index for a sequence that consists of {List of List of + PcapPacket objects.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PrintUtils.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PrintUtils.html new file mode 100644 index 0000000..94714e0 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/PrintUtils.html @@ -0,0 +1,419 @@ + + + + + +PrintUtils + + + + + + + + +
+ + + + + + + +
+ + + +
+
edu.uci.iotproject.util
+

Class PrintUtils

+
+
+ +
+
    +
  • +
    +
    +
    public class PrintUtils
    +extends java.lang.Object
    +
    Utility methods for generating (output) strings.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>deserializeClustersFromFile(java.lang.String fileName) +
      Read the list of list of packet pairs List<List<PcapPacket>> from a file.
      +
      static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>>deserializeFromFile(java.lang.String fileName) +
      Read the list of list of packet pairs List<List<List<PcapPacket>>> from a file.
      +
      static voidserializeClustersIntoFile(java.lang.String fileName, + java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> clusterPackets) +
      Write the list of list of packet pairs List<List<PcapPacket>> into a file.
      +
      static voidserializeIntoFile(java.lang.String fileName, + java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature) +
      Write the signature and cluster analysis List<List<List<PcapPacket>>> into a file.
      +
      static java.lang.StringtoCsv(PcapPacketPair packetPair) +
      Converts a PcapPacketPair into a CSV string containing the packet lengths of the two packets in the pair.
      +
      static java.lang.StringtoCsv(PcapPacketPair packetPair, + DnsMap ipHostnameMappings) +
      Converts a PcapPacketPair into a CSV string containing the packet lengths of the two packets in the pair + followed by the source of each packet.
      +
      static java.lang.StringtoSummaryString(org.apache.commons.math3.stat.clustering.Cluster<PcapPacketPair> cluster) +
      Generate a string that summarizes/describes cluster.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        serializeClustersIntoFile

        +
        public static void serializeClustersIntoFile(java.lang.String fileName,
        +                                             java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> clusterPackets)
        +
        Write the list of list of packet pairs List<List<PcapPacket>> into a file. + + After the DBSCAN algorithm derives the clusters from pairs, we save the signature in the form of list of + packet pairs. We harvest the pairs and transform them back into a list of PcapPacket objects. + We do not maintain the pairs in the form of Cluster<PcapPacketPair> objects because there might be + a situation where we could combine multiple PcapPacketPair objects into a longer signature, i.e., a string of + PcapPacket objects and not just a pair.
        +
        +
        Parameters:
        +
        fileName - The path of the file in String. We could leave this one null if we wanted the + default file name SERIALIZABLE_FILE_PATH.
        +
        clusterPackets - The Cluster objects in the form of list of PcapPacket objects.
        +
        +
      • +
      + + + +
        +
      • +

        serializeIntoFile

        +
        public static void serializeIntoFile(java.lang.String fileName,
        +                                     java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> signature)
        +
        Write the signature and cluster analysis List<List<List<PcapPacket>>> into a file. + + After the DBSCAN algorithm derives the clusters from pairs, we save the signature and cluster analysis + in the form of list of packet pairs. We harvest the pairs and transform them back into a list of PcapPacket + objects. + We do not maintain the pairs in the form of Cluster<PcapPacketPair> objects because there might be + a situation where we could combine multiple PcapPacketPair objects into a longer signature, i.e., a string of + PcapPacket objects and not just a pair.
        +
        +
        Parameters:
        +
        fileName - The path of the file in String. We could leave this one null if we wanted the + default file name SERIALIZABLE_FILE_PATH.
        +
        signature - The Cluster objects in the form of list of PcapPacket objects.
        +
        +
      • +
      + + + +
        +
      • +

        deserializeClustersFromFile

        +
        public static java.util.List<java.util.List<org.pcap4j.core.PcapPacket>> deserializeClustersFromFile(java.lang.String fileName)
        +
        Read the list of list of packet pairs List<List<PcapPacket>> from a file. + + After the DBSCAN algorithm derives the clusters from pairs, we save the signature in the form of list of + packet pairs. We harvest the pairs and transform them back into a list of PcapPacket objects. + We do not maintain the pairs in the form of Cluster<PcapPacketPair> objects because there might be + a situation where we could combine multiple PcapPacketPair objects into a longer signature, i.e., a string of + PcapPacket objects and not just a pair.
        +
        +
        Parameters:
        +
        fileName - The path of the file in String. We could leave this one null if we wanted the + default file name SERIALIZABLE_FILE_PATH.
        +
        Returns:
        +
        The list of list of Cluster objects (List<List<PcapPacket>>) that is read from file.
        +
        +
      • +
      + + + +
        +
      • +

        deserializeFromFile

        +
        public static java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> deserializeFromFile(java.lang.String fileName)
        +
        Read the list of list of packet pairs List<List<List<PcapPacket>>> from a file.
        +
        +
        Parameters:
        +
        fileName - The path of the file in String. We could leave this one null if we wanted the + default file name SERIALIZABLE_FILE_PATH.
        +
        Returns:
        +
        The list of list of list of Cluster objects (List<List<List<PcapPacket>>>) + that is read from file.
        +
        +
      • +
      + + + +
        +
      • +

        toCsv

        +
        public static java.lang.String toCsv(PcapPacketPair packetPair)
        +
        Converts a PcapPacketPair into a CSV string containing the packet lengths of the two packets in the pair. + + For example, the resulting string will be "123, 456" if the first packet of the pair has a length of 123 and the + second packet of the pair has a length of 456. + + Note: if the PcapPacketPair has no second element, 0 is printed as the length of the second packet + in the pair.
        +
        +
        Returns:
        +
        a CSV string containing the packet lengths of the two packets of the given PcapPacketPair.
        +
        +
      • +
      + + + +
        +
      • +

        toCsv

        +
        public static java.lang.String toCsv(PcapPacketPair packetPair,
        +                                     DnsMap ipHostnameMappings)
        +
        Converts a PcapPacketPair into a CSV string containing the packet lengths of the two packets in the pair + followed by the source of each packet. The source will be a (set of) hostname(s) if the source IP can be resolved + to a (set of) hostname(s) using the provided DnsMap. + + For example, the resulting string will be "123, 456, 192.168.1.42, domain.com" if the first packet of the pair + has a length of 123, the second packet of the pair has a length of 456, the first packet of the pair the pair has + a source IP of '192.168.1.42' that cannot be resolved to a hostname, and the second packet of the pair has an IP + that resolves to 'domain.com'. + + Note: if the PcapPacketPair has no second element, 0 is printed as the length of the second packet + in the pair, and null is printed for its source.
        +
        +
        Returns:
        +
        a CSV string containing the packet lengths of the two packets of the given PcapPacketPair as well + as their respective sources.
        +
        +
      • +
      + + + +
        +
      • +

        toSummaryString

        +
        public static java.lang.String toSummaryString(org.apache.commons.math3.stat.clustering.Cluster<PcapPacketPair> cluster)
        +
        Generate a string that summarizes/describes cluster.
        +
        +
        Parameters:
        +
        cluster - The Cluster to summarize/describe.
        +
        Returns:
        +
        A string that summarizes/describes cluster.
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-frame.html new file mode 100644 index 0000000..367e3c3 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-frame.html @@ -0,0 +1,21 @@ + + + + + +edu.uci.iotproject.util + + + + + +

edu.uci.iotproject.util

+
+

Classes

+ +
+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-summary.html new file mode 100644 index 0000000..887ccc9 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-summary.html @@ -0,0 +1,148 @@ + + + + + +edu.uci.iotproject.util + + + + + + + + +
+ + + + + + + +
+ + +
+

Package edu.uci.iotproject.util

+
+
+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-tree.html new file mode 100644 index 0000000..4b7d029 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/edu/uci/iotproject/util/package-tree.html @@ -0,0 +1,136 @@ + + + + + +edu.uci.iotproject.util Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For Package edu.uci.iotproject.util

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/help-doc.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/help-doc.html new file mode 100644 index 0000000..dd5155b --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/help-doc.html @@ -0,0 +1,223 @@ + + + + + +API Help + + + + + + + + +
+ + + + + + + +
+ + +
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+ +This help file applies to API documentation generated using the standard doclet.
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-1.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-1.html new file mode 100644 index 0000000..e1299b5 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-1.html @@ -0,0 +1,189 @@ + + + + + +A-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

A

+
+
AbstractClusterMatcher - Class in edu.uci.iotproject.detection
+
+
Base class for classes that search a traffic trace for sequences of packets that "belong to" a given cluster (in + other words, classes that attempt to classify traffic as pertaining to a given cluster).
+
+
AbstractSignatureDetector - Class in edu.uci.iotproject.detection
+
+
TODO add class documentation.
+
+
AbstractSignatureDetector(List<List<List<PcapPacket>>>) - Constructor for class edu.uci.iotproject.detection.AbstractSignatureDetector
+
 
+
addFinPacket(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Adds a TCP FIN packet to the list of TCP FIN packets associated with this conversation.
+
+
addFlowObserver(Layer2FlowObserver) - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
+
Register as an observer of this flow.
+
+
addObserver(ClusterMatcherObserver) - Method in class edu.uci.iotproject.detection.AbstractClusterMatcher
+
+
Register for callbacks from this cluster matcher.
+
+
addObserver(SignatureDetectorObserver) - Method in class edu.uci.iotproject.detection.layer2.Layer2SignatureDetector
+
 
+
addObserver(Layer3SignatureDetector.SignatureDetectionObserver) - Method in class edu.uci.iotproject.detection.layer3.Layer3SignatureDetector
+
 
+
addObserver(Layer2FlowReassemblerObserver) - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler
+
 
+
addPacket(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
+
Add a packet to this flow.
+
+
addPacket(PcapPacket, boolean) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Add a packet to the list of packets associated with this conversation.
+
+
addRstPacket(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Add a TCP segment for which the RST flag is set to this Conversation.
+
+
addSynPacket(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Records a TCP SYN packet as pertaining to this conversation (adds it to the the internal list).
+
+
alignmentCost(T, T) - Method in class edu.uci.iotproject.comparison.seqalignment.AlignmentPricer
+
+
Calculate the cost of aligning item1 with item2.
+
+
AlignmentPricer<T> - Class in edu.uci.iotproject.comparison.seqalignment
+
+
Provides a generic implementation for the calculation of the cost of aligning two elements of a sequence as part of + the sequence alignment algorithm (the algorithm is implemented in SequenceAlignment).
+
+
AlignmentPricer(ToIntBiFunction<T, T>, ToIntFunction<T>) - Constructor for class edu.uci.iotproject.comparison.seqalignment.AlignmentPricer
+
+
Constructs a new AlignmentPricer.
+
+
ameAlignedWithNameShouldBe2() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
attemptAcknowledgementOfFin(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Attempt to ACK any FIN packets held by this conversation.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-10.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-10.html new file mode 100644 index 0000000..6c31888 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-10.html @@ -0,0 +1,213 @@ + + + + + +L-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

L

+
+
Layer2AbstractMatcher - Class in edu.uci.iotproject.detection.layer2
+
+
Base class for layer 2 matchers (Layer2SequenceMatcher and Layer2RangeMatcher).
+
+
Layer2AbstractMatcher(List<PcapPacket>) - Constructor for class edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher
+
+
Create a Layer2AbstractMatcher.
+
+
Layer2ClusterMatcher - Class in edu.uci.iotproject.detection.layer2
+
+
Attempts to detect members of a cluster (packet sequence mutations) in layer 2 flows.
+
+
Layer2ClusterMatcher(List<List<PcapPacket>>, int, boolean, double) - Constructor for class edu.uci.iotproject.detection.layer2.Layer2ClusterMatcher
+
+
Create a new Layer2ClusterMatcher that attempts to find occurrences of cluster's members.
+
+
Layer2ClusterMatcher(List<List<PcapPacket>>, Function<Layer2Flow, Boolean>, int, boolean, double) - Constructor for class edu.uci.iotproject.detection.layer2.Layer2ClusterMatcher
+
+
Create a new Layer2ClusterMatcher that attempts to find occurrences of cluster's members.
+
+
Layer2Flow - Class in edu.uci.iotproject.trafficreassembly.layer2
+
+
Models a layer 2 flow: groups packets exchanged between two specific endpoints (MAC addresses).
+
+
Layer2Flow(MacAddress, MacAddress) - Constructor for class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
 
+
Layer2FlowObserver - Interface in edu.uci.iotproject.trafficreassembly.layer2
+
+
Interface for observing a Layer2Flow.
+
+
Layer2FlowReassembler - Class in edu.uci.iotproject.trafficreassembly.layer2
+
+
Reassembles traffic flows at layer 2, i.e., for each combination of hosts, creates a list of packets exchanged + between said hosts.
+
+
Layer2FlowReassembler() - Constructor for class edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler
+
 
+
Layer2FlowReassemblerObserver - Interface in edu.uci.iotproject.trafficreassembly.layer2
+
+
For observing a Layer2FlowReassembler.
+
+
Layer2RangeMatcher - Class in edu.uci.iotproject.detection.layer2
+
+
Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls + to Layer2RangeMatcher.matchPacket(PcapPacket), considering only layer 2 information.
+
+
Layer2RangeMatcher(List<PcapPacket>, List<PcapPacket>, int, double) - Constructor for class edu.uci.iotproject.detection.layer2.Layer2RangeMatcher
+
+
Create a Layer2RangeMatcher.
+
+
Layer2SequenceMatcher - Class in edu.uci.iotproject.detection.layer2
+
+
Attempts to detect the presence of a specific packet sequence in the set of packets provided through multiple calls + to Layer2SequenceMatcher.matchPacket(PcapPacket), considering only layer 2 information.
+
+
Layer2SequenceMatcher(List<PcapPacket>, int) - Constructor for class edu.uci.iotproject.detection.layer2.Layer2SequenceMatcher
+
+
Create a Layer2SequenceMatcher.
+
+
Layer2SignatureDetector - Class in edu.uci.iotproject.detection.layer2
+
+
Performs layer 2 signature detection.
+
+
Layer2SignatureDetector(List<List<List<PcapPacket>>>, int, boolean, double) - Constructor for class edu.uci.iotproject.detection.layer2.Layer2SignatureDetector
+
 
+
Layer2SignatureDetector(List<List<List<PcapPacket>>>, List<Function<Layer2Flow, Boolean>>, int, boolean, double) - Constructor for class edu.uci.iotproject.detection.layer2.Layer2SignatureDetector
+
 
+
Layer3ClusterMatcher - Class in edu.uci.iotproject.detection.layer3
+
+
Searches a traffic trace for sequences of packets "belong to" a given cluster (in other words, attempts to classify + traffic as pertaining to a given cluster).
+
+
Layer3ClusterMatcher(List<List<PcapPacket>>, String, int, boolean, double, ClusterMatcherObserver...) - Constructor for class edu.uci.iotproject.detection.layer3.Layer3ClusterMatcher
+
+ +
+
Layer3SignatureDetector - Class in edu.uci.iotproject.detection.layer3
+
+
Detects an event signature that spans one or multiple TCP connections.
+
+
Layer3SignatureDetector(List<List<List<PcapPacket>>>, String, int, boolean, double) - Constructor for class edu.uci.iotproject.detection.layer3.Layer3SignatureDetector
+
 
+
LiveCapture - Class in edu.uci.iotproject.io
+
+
Utility methods for setting up a PcapHandleReader that reads live traffic from a network interface card.
+
+
LiveCapture() - Constructor for class edu.uci.iotproject.io.LiveCapture
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-11.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-11.html new file mode 100644 index 0000000..41ef918 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-11.html @@ -0,0 +1,170 @@ + + + + + +M-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

M

+
+
MacLayerFlowPattern - Class in edu.uci.iotproject.maclayer
+
+
TODO create base class for FlowPattern and derive MacLayer, TCP/IP layer versions from that.
+
+
MacLayerFlowPattern(String, String, List<Integer>) - Constructor for class edu.uci.iotproject.maclayer.MacLayerFlowPattern
+
 
+
MacLayerFlowPatternFinder - Class in edu.uci.iotproject.maclayer
+
+
Performs a search for FlowPattern + TODO: May want to create an abstract FlowPatternFinder and then derive MacLayer, TcpipLayer FlowPatternFinders from that one.
+
+
MacLayerFlowPatternFinder(PcapHandle, MacLayerFlowPattern) - Constructor for class edu.uci.iotproject.maclayer.MacLayerFlowPatternFinder
+
 
+
main(String[]) - Static method in class edu.uci.iotproject.detection.layer2.Layer2SignatureDetector
+
 
+
main(String[]) - Static method in class edu.uci.iotproject.detection.layer3.Layer3SignatureDetector
+
 
+
main(String[]) - Static method in class edu.uci.iotproject.evaluation.DetectionResultsAnalyzer
+
 
+
main(String[]) - Static method in class edu.uci.iotproject.evaluation.SanitySignatureGenerator
+
 
+
main(String[]) - Static method in class edu.uci.iotproject.io.LiveCapture
+
 
+
main(String[]) - Static method in class edu.uci.iotproject.SignatureGenerator
+
 
+
mAlignedWithNameShouldBe6() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
matchPacket(PcapPacket) - Method in class edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher
+
+
See the implementer class for the following method.
+
+
matchPacket(PcapPacket) - Method in class edu.uci.iotproject.detection.layer2.Layer2RangeMatcher
+
+
Attempt to advance this Layer2RangeMatcher by matching packet against the packet that this + Layer2RangeMatcher expects as the next packet of the sequence it is searching for.
+
+
matchPacket(PcapPacket) - Method in class edu.uci.iotproject.detection.layer2.Layer2SequenceMatcher
+
+
Attempt to advance this Layer2SequenceMatcher by matching packet against the packet that this + Layer2SequenceMatcher expects as the next packet of the sequence it is searching for.
+
+
meAlignedWithNameShouldBe4() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
meanAlignedWithEmptyStringShouldBe8() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-12.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-12.html new file mode 100644 index 0000000..340c315 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-12.html @@ -0,0 +1,129 @@ + + + + + +N-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

N

+
+
naemAlignedWithNameShouldBe4() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
nameAlignedWithNameShouldBe0() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-13.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-13.html new file mode 100644 index 0000000..823b85e --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-13.html @@ -0,0 +1,151 @@ + + + + + +O-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

O

+
+
onMatch(AbstractClusterMatcher, List<PcapPacket>) - Method in interface edu.uci.iotproject.detection.ClusterMatcherObserver
+
+
Callback that is invoked by an AbstractClusterMatcher whenever it detects traffic that matches an element + of its associated cluster.
+
+
onMatch(AbstractClusterMatcher, List<PcapPacket>) - Method in class edu.uci.iotproject.detection.layer2.Layer2SignatureDetector
+
 
+
onMatch(AbstractClusterMatcher, List<PcapPacket>) - Method in class edu.uci.iotproject.detection.layer3.Layer3SignatureDetector
+
 
+
onNewFlow(Layer2FlowReassembler, Layer2Flow) - Method in class edu.uci.iotproject.detection.layer2.Layer2ClusterMatcher
+
 
+
onNewFlow(Layer2FlowReassembler, Layer2Flow) - Method in interface edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassemblerObserver
+
+
Invoked when when a Layer2FlowReassembler detects a new flow (i.e., when it encounters traffic between two + MAC addresses that has not previously communicated in the traffic trace).
+
+
onNewPacket(Layer2Flow, PcapPacket) - Method in class edu.uci.iotproject.detection.layer2.Layer2ClusterMatcher
+
 
+
onNewPacket(Layer2Flow, PcapPacket) - Method in interface edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowObserver
+
+
Invoked when a new packet is added to the observed flow.
+
+
onSignatureDetected(List<List<List<PcapPacket>>>, List<List<PcapPacket>>) - Method in interface edu.uci.iotproject.detection.SignatureDetectorObserver
+
+
Invoked when the signature detector has detected the presence of a signature in the traffic that it's examining.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-14.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-14.html new file mode 100644 index 0000000..69b270a --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-14.html @@ -0,0 +1,187 @@ + + + + + +P-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

P

+
+
parseTriggerTimestamp(String, boolean) - Method in class edu.uci.iotproject.io.TriggerTimesFileReader
+
+
Parses a timestamp string to an Instant (UTC).
+
+
PcapHandleReader - Class in edu.uci.iotproject.io
+
+
Reads packets from a PcapHandle (online or offline) and delivers those packets that pass the test exercised + by the provided PcapPacketFilter onto the provided PacketListeners.
+
+
PcapHandleReader(PcapHandle, PcapPacketFilter, PacketListener...) - Constructor for class edu.uci.iotproject.io.PcapHandleReader
+
+
Create a PcapHandleReader.
+
+
PcapPacketFilter - Interface in edu.uci.iotproject.analysis
+
+
TODO add class documentation.
+
+
PcapPacketPair - Class in edu.uci.iotproject.analysis
+
+
+ A simple wrapper for holding a pair of packets (e.g., a request and associated reply packet).
+
+
PcapPacketPair(PcapPacket, PcapPacket) - Constructor for class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
PcapPacketUtils - Class in edu.uci.iotproject.util
+
+
Utility methods for inspecting PcapPacket properties.
+
+
PcapPacketUtils() - Constructor for class edu.uci.iotproject.util.PcapPacketUtils
+
 
+
performDetectionConservative() - Method in class edu.uci.iotproject.detection.layer3.Layer3ClusterMatcher
+
 
+
performDetectionRangeBased() - Method in class edu.uci.iotproject.detection.layer3.Layer3ClusterMatcher
+
 
+
performExtraction(PacketListener...) - Method in class edu.uci.iotproject.analysis.TriggerTrafficExtractor
+
 
+
print(Object, PrintWriter, boolean) - Static method in class edu.uci.iotproject.io.PrintWriterUtils
+
+
Invoke PrintWriter.println(Object) passing line as argument while also printing line to + standard output if duplicateToStdOut is true.
+
+
printEmptyLine(PrintWriter, boolean) - Static method in class edu.uci.iotproject.io.PrintWriterUtils
+
+
Make writer (and standard output, if duplicateToStdOut is true) print an empty line.
+
+
println(Object, PrintWriter, boolean) - Static method in class edu.uci.iotproject.io.PrintWriterUtils
+
+
Invoke PrintWriter.println(Object) passing line as argument while also printing line to + standard output if duplicateToStdOut is true.
+
+
printSignatures(List<List<List<PcapPacket>>>, PrintWriter, boolean) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Print signatures in List of List of List of PcapPacket objects.
+
+
PrintUtils - Class in edu.uci.iotproject.util
+
+
Utility methods for generating (output) strings.
+
+
PrintWriterUtils - Class in edu.uci.iotproject.io
+
+
Utility methods for (jointly) printing to a PrintWriter (and standard output).
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-15.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-15.html new file mode 100644 index 0000000..75166bb --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-15.html @@ -0,0 +1,161 @@ + + + + + +R-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

R

+
+
readFromHandle() - Method in class edu.uci.iotproject.io.PcapHandleReader
+
+
Start reading (and filtering) packets from the provided PcapHandle.
+
+
readTriggerTimes(String, boolean) - Method in class edu.uci.iotproject.io.TriggerTimesFileReader
+
+
Reads a file with trigger timestamps and parses the timestamps into Instants using the rules specified + by TriggerTimesFileReader.parseTriggerTimestamp(String, boolean).
+
+
removeDuplicates(List<UserAction>) - Static method in class edu.uci.iotproject.detection.layer3.Layer3SignatureDetector
+
+
Remove duplicates in List of UserAction objects.
+
+
removeFlowObserver(Layer2FlowObserver) - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
+
Deregister as an observer of this flow.
+
+
removeObserver(ClusterMatcherObserver) - Method in class edu.uci.iotproject.detection.AbstractClusterMatcher
+
+
Deregister for callbacks from this cluster matcher.
+
+
removeObserver(SignatureDetectorObserver) - Method in class edu.uci.iotproject.detection.layer2.Layer2SignatureDetector
+
 
+
removeObserver(Layer3SignatureDetector.SignatureDetectionObserver) - Method in class edu.uci.iotproject.detection.layer3.Layer3SignatureDetector
+
 
+
removeObserver(Layer2FlowReassemblerObserver) - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler
+
 
+
removeSequenceFromSignature(List<List<List<PcapPacket>>>, int) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Remove a sequence in a signature object.
+
+
returnConversation(List<PcapPacket>, List<Conversation>) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a List of Conversation objects, find one that has the given List + of PcapPacket.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-16.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-16.html new file mode 100644 index 0000000..eb12651 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-16.html @@ -0,0 +1,207 @@ + + + + + +S-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

S

+
+
SampleIntegerAlignmentPricer - Class in edu.uci.iotproject.comparison.seqalignment
+
+
A sample AlignmentPricer for computing the cost of aligning integer values.
+
+
SampleIntegerAlignmentPricer() - Constructor for class edu.uci.iotproject.comparison.seqalignment.SampleIntegerAlignmentPricer
+
+ +
+
SanitySignatureGenerator - Class in edu.uci.iotproject.evaluation
+
+
Hacky utility for producing a sanity signature for negative test sets.
+
+
SanitySignatureGenerator() - Constructor for class edu.uci.iotproject.evaluation.SanitySignatureGenerator
+
 
+
SequenceAlignment<ALIGNMENT_UNIT> - Class in edu.uci.iotproject.comparison.seqalignment
+
+
A generic implementation of the sequence alignment algorithm given in Kleinberg's and Tardos' "Algorithm Design".
+
+
SequenceAlignment(AlignmentPricer<ALIGNMENT_UNIT>) - Constructor for class edu.uci.iotproject.comparison.seqalignment.SequenceAlignment
+
+
Constructs a new SequenceAlignment.
+
+
SequenceAlignmentTest - Class in edu.uci.iotproject.test
+
+
Tests the implementation of SequenceAlignment.
+
+
SequenceAlignmentTest() - Constructor for class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
SequenceExtraction - Class in edu.uci.iotproject.comparison.seqalignment
+
+
TODO add class documentation.
+
+
SequenceExtraction() - Constructor for class edu.uci.iotproject.comparison.seqalignment.SequenceExtraction
+
 
+
SequenceExtraction(SequenceAlignment<Integer>) - Constructor for class edu.uci.iotproject.comparison.seqalignment.SequenceExtraction
+
 
+
serializeClustersIntoFile(String, List<List<PcapPacket>>) - Static method in class edu.uci.iotproject.util.PrintUtils
+
+
Write the list of list of packet pairs List<List<PcapPacket>> into a file.
+
+
serializeIntoFile(String, List<List<List<PcapPacket>>>) - Static method in class edu.uci.iotproject.util.PrintUtils
+
+
Write the signature and cluster analysis List<List<List<PcapPacket>>> into a file.
+
+
setDnsMap(DnsMap) - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
+
Set the DnsMap to be queried for hostnames mappings when performing IP/hostname-sensitive clustering.
+
+
setTimestampFormatter(DateTimeFormatter) - Static method in class edu.uci.iotproject.analysis.UserAction
+
+
Sets the DateTimeFormatter used when outputting a user action as a string and parsing a user action from + a string.
+
+
shouldIncludePacket(PcapPacket) - Method in interface edu.uci.iotproject.analysis.PcapPacketFilter
+
 
+
shouldIncludePacket(PcapPacket) - Method in class edu.uci.iotproject.analysis.TriggerTrafficExtractor
+
 
+
SignatureDetectorObserver - Interface in edu.uci.iotproject.detection
+
+
Used for registering for notifications from a signature detector.
+
+
SignatureGenerator - Class in edu.uci.iotproject
+
+
This is a system that reads PCAP files to compare + patterns of DNS hostnames, packet sequences, and packet + lengths with training data to determine certain events + or actions for smart home devices.
+
+
SignatureGenerator() - Constructor for class edu.uci.iotproject.SignatureGenerator
+
 
+
sortConversationList(List<Conversation>) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a list of Conversation objects, sort them by timestamps.
+
+
sortSequences(List<List<List<PcapPacket>>>) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Sort the sequences in the List of List of List of PcapPacket objects.
+
+
stopReading() - Method in class edu.uci.iotproject.io.PcapHandleReader
+
+
Stop reading from the wrapped PcapHandle.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-17.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-17.html new file mode 100644 index 0000000..101fe39 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-17.html @@ -0,0 +1,185 @@ + + + + + +T-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

T

+
+
TcpConversationUtils - Class in edu.uci.iotproject.analysis
+
+
Utility functions for analyzing and structuring (sets of) Conversations.
+
+
TcpConversationUtils() - Constructor for class edu.uci.iotproject.analysis.TcpConversationUtils
+
 
+
TcpConversationUtils.SignaturePosition - Enum in edu.uci.iotproject.analysis
+
+
Identifies the adjacency type of the signature for merging.
+
+
TcpReassembler - Class in edu.uci.iotproject.trafficreassembly.layer3
+
+
Reassembles TCP conversations (streams).
+
+
TcpReassembler() - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.TcpReassembler
+
 
+
toCompactString() - Method in enum edu.uci.iotproject.trafficreassembly.layer3.Conversation.Direction
+
+
Get a compact string representation of this Direction.
+
+
toCsv(PcapPacketPair) - Static method in class edu.uci.iotproject.util.PrintUtils
+
+
Converts a PcapPacketPair into a CSV string containing the packet lengths of the two packets in the pair.
+
+
toCsv(PcapPacketPair, DnsMap) - Static method in class edu.uci.iotproject.util.PrintUtils
+
+
Converts a PcapPacketPair into a CSV string containing the packet lengths of the two packets in the pair + followed by the source of each packet.
+
+
toString() - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
toString() - Method in class edu.uci.iotproject.analysis.UserAction
+
 
+
toString() - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
 
+
toString() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
 
+
toSummaryString(Cluster<PcapPacketPair>) - Static method in class edu.uci.iotproject.util.PrintUtils
+
+
Generate a string that summarizes/describes cluster.
+
+
TrafficLabeler - Class in edu.uci.iotproject.analysis
+
+
A PacketListener that marks network traffic as (potentially) related to a user's actions by comparing the + timestamp of each packet to the timestamps of the provided list of user actions.
+
+
TrafficLabeler(List<UserAction>) - Constructor for class edu.uci.iotproject.analysis.TrafficLabeler
+
 
+
TriggerTimesFileReader - Class in edu.uci.iotproject.io
+
+
Parses a file to obtain the timestamps at which the smart plug was toggled on/off.
+
+
TriggerTimesFileReader() - Constructor for class edu.uci.iotproject.io.TriggerTimesFileReader
+
 
+
TriggerTrafficExtractor - Class in edu.uci.iotproject.analysis
+
+
TODO add class documentation.
+
+
TriggerTrafficExtractor(String, List<Instant>, String) - Constructor for class edu.uci.iotproject.analysis.TriggerTrafficExtractor
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-18.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-18.html new file mode 100644 index 0000000..8404b75 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-18.html @@ -0,0 +1,139 @@ + + + + + +U-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

U

+
+
UserAction - Class in edu.uci.iotproject.analysis
+
+
Models a user's action, such as toggling the smart plug on/off at a given time.
+
+
UserAction(UserAction.Type, Instant) - Constructor for class edu.uci.iotproject.analysis.UserAction
+
 
+
UserAction.Type - Enum in edu.uci.iotproject.analysis
+
+
Enum for indicating what type of action the user performed.
+
+
useRangeBasedMatching(List<List<List<PcapPacket>>>, List<List<List<PcapPacket>>>) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-19.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-19.html new file mode 100644 index 0000000..cbab76a --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-19.html @@ -0,0 +1,157 @@ + + + + + +V-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

V

+
+
validateAndAddNewEntry(PcapPacket) - Method in class edu.uci.iotproject.DnsMap
+
+
Checks DNS packet and build the map data structure that + maps IP addresses to DNS hostnames
+
+
valueOf(String) - Static method in enum edu.uci.iotproject.analysis.TcpConversationUtils.SignaturePosition
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum edu.uci.iotproject.analysis.UserAction.Type
+
+
Returns the enum constant of this type with the specified name.
+
+
valueOf(String) - Static method in enum edu.uci.iotproject.trafficreassembly.layer3.Conversation.Direction
+
+
Returns the enum constant of this type with the specified name.
+
+
values() - Static method in enum edu.uci.iotproject.analysis.TcpConversationUtils.SignaturePosition
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum edu.uci.iotproject.analysis.UserAction.Type
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
values() - Static method in enum edu.uci.iotproject.trafficreassembly.layer3.Conversation.Direction
+
+
Returns an array containing the constants of this enum type, in +the order they are declared.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-2.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-2.html new file mode 100644 index 0000000..ac0195e --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-2.html @@ -0,0 +1,175 @@ + + + + + +C-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

C

+
+
calculateAlignment(ALIGNMENT_UNIT[], ALIGNMENT_UNIT[]) - Method in class edu.uci.iotproject.comparison.seqalignment.SequenceAlignment
+
+
Calculates the cost of aligning sequence1 with sequence2.
+
+
centroidOf(Collection<PcapPacketPair>) - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
ClusterMatcherObserver - Interface in edu.uci.iotproject.detection
+
+
Interface used by client code to register for receiving a notification whenever an AbstractClusterMatcher + detects traffic that matches an element of its associated cluster.
+
+
clusterToListOfPcapPackets(Cluster<PcapPacketPair>) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Transform a Cluster of PcapPacketPair objects into a List of List of + PcapPacket objects.
+
+
concatSequences(List<List<List<PcapPacket>>>, List<Conversation>) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Concatenate sequences in List of List of List of PcapPacket objects.
+
+
Conversation - Class in edu.uci.iotproject.trafficreassembly.layer3
+
+
Models a (TCP) conversation/connection/session/flow (packet's belonging to the same session between a client and a + server).
+
+
Conversation(String, int, String, int) - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Constructs a new Conversation.
+
+
Conversation.Direction - Enum in edu.uci.iotproject.trafficreassembly.layer3
+
+
Utility enum for expressing the direction of a packet pertaining to this Conversation.
+
+
countPacketLengthFrequencies(Conversation) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a Conversation, counts the frequencies of each unique packet length seen as part of the + Conversation.
+
+
countPacketLengthFrequencies(Collection<Conversation>) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Like TcpConversationUtils.countPacketLengthFrequencies(Conversation), but counts packet length frequencies for a collection + of Conversations, i.e., the frequency of a packet length becomes the total number of packets with that + length across all Conversations in conversations.
+
+
countPacketPairFrequencies(Collection<PcapPacketPair>) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
 
+
countPacketPairFrequenciesByHostname(Collection<Conversation>, DnsMap) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
 
+
countPacketSequenceFrequencies(Collection<Conversation>) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-20.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-20.html new file mode 100644 index 0000000..6afd0de --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-20.html @@ -0,0 +1,129 @@ + + + + + +Z-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

Z

+
+
ZONE_ID_BUDAPEST - Static variable in class edu.uci.iotproject.io.TriggerTimesFileReader
+
 
+
ZONE_ID_LOS_ANGELES - Static variable in class edu.uci.iotproject.io.TriggerTimesFileReader
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-3.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-3.html new file mode 100644 index 0000000..2f48318 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-3.html @@ -0,0 +1,147 @@ + + + + + +D-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

D

+
+
deserializeClustersFromFile(String) - Static method in class edu.uci.iotproject.util.PrintUtils
+
+
Read the list of list of packet pairs List<List<PcapPacket>> from a file.
+
+
deserializeFromFile(String) - Static method in class edu.uci.iotproject.util.PrintUtils
+
+
Read the list of list of packet pairs List<List<List<PcapPacket>>> from a file.
+
+
DetectionResultsAnalyzer - Class in edu.uci.iotproject.evaluation
+
+
Utility for comparing detected events to logged (actual) events.
+
+
DetectionResultsAnalyzer() - Constructor for class edu.uci.iotproject.evaluation.DetectionResultsAnalyzer
+
 
+
distanceFrom(PcapPacketPair) - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
DnsMap - Class in edu.uci.iotproject
+
+
This is a class that does DNS mapping.
+
+
DnsMap() - Constructor for class edu.uci.iotproject.DnsMap
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-4.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-4.html new file mode 100644 index 0000000..dfad9cf --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-4.html @@ -0,0 +1,185 @@ + + + + + +E-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

E

+
+
edu.uci.iotproject - package edu.uci.iotproject
+
 
+
edu.uci.iotproject.analysis - package edu.uci.iotproject.analysis
+
 
+
edu.uci.iotproject.comparison.seqalignment - package edu.uci.iotproject.comparison.seqalignment
+
 
+
edu.uci.iotproject.detection - package edu.uci.iotproject.detection
+
 
+
edu.uci.iotproject.detection.layer2 - package edu.uci.iotproject.detection.layer2
+
 
+
edu.uci.iotproject.detection.layer3 - package edu.uci.iotproject.detection.layer3
+
 
+
edu.uci.iotproject.evaluation - package edu.uci.iotproject.evaluation
+
 
+
edu.uci.iotproject.io - package edu.uci.iotproject.io
+
 
+
edu.uci.iotproject.maclayer - package edu.uci.iotproject.maclayer
+
 
+
edu.uci.iotproject.test - package edu.uci.iotproject.test
+
 
+
edu.uci.iotproject.trafficreassembly.layer2 - package edu.uci.iotproject.trafficreassembly.layer2
+
 
+
edu.uci.iotproject.trafficreassembly.layer3 - package edu.uci.iotproject.trafficreassembly.layer3
+
 
+
edu.uci.iotproject.util - package edu.uci.iotproject.util
+
 
+
emanAlignedWithNameShouldBe6() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
equals(Object) - Method in class edu.uci.iotproject.analysis.UserAction
+
 
+
equals(Object) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Note: currently, equality is determined based on pairwise equality of the elements of the four tuple + (Conversation.mClientIp, Conversation.mClientPort, Conversation.mServerIp, Conversation.mServerPort) for this and + obj.
+
+
extract(List<Conversation>) - Method in class edu.uci.iotproject.comparison.seqalignment.SequenceExtraction
+
 
+
extractByTlsAppData(List<Conversation>) - Method in class edu.uci.iotproject.comparison.seqalignment.SequenceExtraction
+
 
+
ExtractedSequence - Class in edu.uci.iotproject.comparison.seqalignment
+
+
TODO add class documentation.
+
+
ExtractedSequence(Conversation, int, boolean) - Constructor for class edu.uci.iotproject.comparison.seqalignment.ExtractedSequence
+
 
+
extractPacketPairs(Conversation) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
+ Given a Conversation, extract its set of "packet pairs", i.e., pairs of request-reply packets.
+
+
extractRangeCorePoints(List<List<PcapPacket>>, double, int) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Extract core point range in the form of List of List of PcapPacket objects.
+
+
extractTlsAppDataPacketPairs(Conversation) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
+ Given a Conversation, extract its set of "packet pairs", i.e., pairs of request-reply packets.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-5.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-5.html new file mode 100644 index 0000000..d0924da --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-5.html @@ -0,0 +1,171 @@ + + + + + +F-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

F

+
+
fameAlignedWithNameShouldBe1() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
FinAckPair - Class in edu.uci.iotproject.trafficreassembly.layer3
+
+
Groups a FIN packet and its corresponding ACK packet.
+
+
FinAckPair(PcapPacket) - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.FinAckPair
+
+
Constructs a FinAckPair given a FIN packet.
+
+
FinAckPair(PcapPacket, PcapPacket) - Constructor for class edu.uci.iotproject.trafficreassembly.layer3.FinAckPair
+
+
Constructs a FinAckPair given a FIN and an ACK packet.
+
+
findFlowPattern() - Method in class edu.uci.iotproject.maclayer.MacLayerFlowPatternFinder
+
 
+
FlowPattern - Class in edu.uci.iotproject
+
+
TODO add class documentation.
+
+
FlowPattern(String, String, PcapHandle) - Constructor for class edu.uci.iotproject.FlowPattern
+
+
Constructor #1
+
+
FlowPattern(String, List<String>, PcapHandle) - Constructor for class edu.uci.iotproject.FlowPattern
+
+
Constructor #2
+
+
fromCliNicSelection(PacketListener...) - Static method in class edu.uci.iotproject.io.LiveCapture
+
+
Prompts the user to pick a Network Interface Card (NIC) for which live traffic is to be captured, then creates a + PcapHandleReader that is ready to start capturing live traffic from that NIC.
+
+
fromNic(PcapNetworkInterface, PacketListener...) - Static method in class edu.uci.iotproject.io.LiveCapture
+
+
Creates a PcapHandleReader that is ready to start capturing live traffic from the provided Network + Interface Card (NIC).
+
+
fromPcapPacket(PcapPacket, boolean) - Static method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Factory method for creating a Conversation from a PcapPacket.
+
+
fromString(String) - Static method in class edu.uci.iotproject.analysis.UserAction
+
+
Instantiates a UserAction from a string that obeys the format used in UserAction.toString().
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-6.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-6.html new file mode 100644 index 0000000..548b5c9 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-6.html @@ -0,0 +1,353 @@ + + + + + +G-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

G

+
+
getAlignmentAlgorithm() - Method in class edu.uci.iotproject.comparison.seqalignment.SequenceExtraction
+
+
Gets the SequenceAlignment used to perform the sequence extraction.
+
+
getCluster() - Method in class edu.uci.iotproject.detection.layer3.Layer3ClusterMatcher
+
+
Get the cluster that describes the packet sequence that this Layer3ClusterMatcher is searching for.
+
+
getCorrespondingAckPacket() - Method in class edu.uci.iotproject.trafficreassembly.layer3.FinAckPair
+
+
Get the corresponding ACK packet of this pair, if any.
+
+
getDestinationIp(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Gets the destination IP (in decimal format) of an IPv4 packet.
+
+
getDestinationPort(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Gets the destination port of a TCP packet.
+
+
getDirection(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Determine the direction of packet.
+
+
getDnsMap() - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
+
Get the DnsMap that is queried for hostnames mappings when performing IP/hostname-sensitive clustering.
+
+
getEndpoint1() - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
+
Get the first endpoint of this flow.
+
+
getEndpoint2() - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
+
Get the second endpoint of this flow.
+
+
getEthDstAddr(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Gets the destination address of the Ethernet part of packet.
+
+
getEthSrcAddr(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Gets the source address of the Ethernet part of packet.
+
+
getFinAckPairs() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Retrieves an unmodifiable view of the list of FinAckPairs associated with this Conversation.
+
+
getFinPacket() - Method in class edu.uci.iotproject.trafficreassembly.layer3.FinAckPair
+
+
Get the FIN packet of this pair.
+
+
getFirst() - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
getFlowForAddresses(MacAddress, MacAddress) - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler
+
+
Get the traffic flow between two local endpoints (MacAddresses).
+
+
getFlows() - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler
+
+
Get all traffic flows, i.e., a traffic flow for each unique pair of endpoints (MAC addresses).
+
+
getHostname() - Method in class edu.uci.iotproject.FlowPattern
+
 
+
getHostnameList() - Method in class edu.uci.iotproject.FlowPattern
+
+
Get the list of associated hostnames.
+
+
getHostnamesForIp(String) - Method in class edu.uci.iotproject.DnsMap
+
 
+
getLabeledReassembledTcpTraffic() - Method in class edu.uci.iotproject.analysis.TrafficLabeler
+
+
Get the labeled traffic reassembled as TCP connections (note: discards all non-TCP traffic).
+
+
getLabeledReassembledTcpTraffic(DnsMap) - Method in class edu.uci.iotproject.analysis.TrafficLabeler
+
+
Like TrafficLabeler.getLabeledReassembledTcpTraffic(), but uses the provided ipHostnameMappings to group + Conversations by hostname.
+
+
getLabeledTraffic() - Method in class edu.uci.iotproject.analysis.TrafficLabeler
+
+
Get the labeled traffic.
+
+
getLabeledTraffic(Function<List<PcapPacket>, T>) - Method in class edu.uci.iotproject.analysis.TrafficLabeler
+
+
Like TrafficLabeler.getLabeledTraffic(), but allows the caller to supply a mapping function that is applied to + the traffic associated with each UserAction (the traffic label) before returning the labeled traffic.
+
+
getLastPacket() - Method in class edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher
+
+
Utility for getMatchedPackets().get(getMatchedPackets().size()-1).
+
+
getLength() - Method in class edu.uci.iotproject.FlowPattern
+
+
Get the length of the List of FlowPattern.
+
+
getLength(String) - Method in class edu.uci.iotproject.FlowPattern
+
+
Get the length of the List of FlowPattern.
+
+
getLength() - Method in class edu.uci.iotproject.maclayer.MacLayerFlowPattern
+
 
+
getMacPrefixRawBytes() - Method in class edu.uci.iotproject.maclayer.MacLayerFlowPattern
+
 
+
getMatchedPackets() - Method in class edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher
+
 
+
getMatchedPacketsCount() - Method in class edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher
+
 
+
getMaxAlignmentCost() - Method in class edu.uci.iotproject.comparison.seqalignment.ExtractedSequence
+
 
+
getPacketLengthSequence(Conversation) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a Conversation, extract its packet length sequence.
+
+
getPacketLengthSequence() - Method in class edu.uci.iotproject.maclayer.MacLayerFlowPattern
+
 
+
getPacketLengthSequenceTlsAppDataOnly(Conversation) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a Conversation, extract its packet length sequence, but only include packet lengths of those + packets that carry TLS Application Data.
+
+
getPacketOrder() - Method in class edu.uci.iotproject.FlowPattern
+
+
Get the sequence of packet lengths that defines this FlowPattern.
+
+
getPacketOrder(String) - Method in class edu.uci.iotproject.FlowPattern
+
+
Get the sequence of packet lengths based on input hostname.
+
+
getPackets() - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2Flow
+
+
Get the packets pertaining to this flow.
+
+
getPackets() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Get a list of packets pertaining to this Conversation.
+
+
getPacketsIncludedCount() - Method in class edu.uci.iotproject.analysis.TriggerTrafficExtractor
+
+
Return the number of extracted packets (i.e., packets selected for inclusion) as a result of the most recent call + to TriggerTrafficExtractor.performExtraction(PacketListener...).
+
+
getPatternId() - Method in class edu.uci.iotproject.FlowPattern
+
 
+
getPatternId() - Method in class edu.uci.iotproject.maclayer.MacLayerFlowPattern
+
 
+
getRepresentativeSequence() - Method in class edu.uci.iotproject.comparison.seqalignment.ExtractedSequence
+
 
+
getRstPackets() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Get the TCP segments pertaining to this Conversation for which it was detected that the RST flag is set.
+
+
getSecond() - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
getSourceIp(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Gets the source IP (in decimal format) of an IPv4 packet.
+
+
getSourcePort(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Gets the source port of a TCP packet.
+
+
getSynPackets() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Get a list of SYN packets pertaining to this Conversation.
+
+
getTargetLowerBound() - Method in class edu.uci.iotproject.detection.layer2.Layer2RangeMatcher
+
 
+
getTargetSequence() - Method in class edu.uci.iotproject.detection.layer2.Layer2SequenceMatcher
+
 
+
getTargetSequencePacketCount() - Method in class edu.uci.iotproject.detection.layer2.Layer2AbstractMatcher
+
+
See the implementer class for the following method.
+
+
getTargetSequencePacketCount() - Method in class edu.uci.iotproject.detection.layer2.Layer2RangeMatcher
+
 
+
getTargetSequencePacketCount() - Method in class edu.uci.iotproject.detection.layer2.Layer2SequenceMatcher
+
 
+
getTargetUpperBound() - Method in class edu.uci.iotproject.detection.layer2.Layer2RangeMatcher
+
 
+
getTcpConversations() - Method in class edu.uci.iotproject.trafficreassembly.layer3.TcpReassembler
+
+
Get the reassembled TCP connections.
+
+
getTimestamp() - Method in class edu.uci.iotproject.analysis.UserAction
+
+
Get the time at which the user performed this action.
+
+
getTlsApplicationDataPackets() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
If this Conversation is backing a TLS session (i.e., if the value of Conversation.isTls() is true), + get the packets labeled as TLS Application Data packets.
+
+
getTotalPacketCount() - Method in class edu.uci.iotproject.analysis.TrafficLabeler
+
+
Get the total number of packets labeled by this TrafficLabeler.
+
+
getType() - Method in class edu.uci.iotproject.analysis.UserAction
+
+
Get the specific type of action performed by the user.
+
+
gotPacket(PcapPacket) - Method in class edu.uci.iotproject.analysis.TrafficLabeler
+
 
+
gotPacket(PcapPacket) - Method in class edu.uci.iotproject.detection.layer2.Layer2SignatureDetector
+
 
+
gotPacket(PcapPacket) - Method in class edu.uci.iotproject.detection.layer3.Layer3ClusterMatcher
+
 
+
gotPacket(PcapPacket) - Method in class edu.uci.iotproject.detection.layer3.Layer3SignatureDetector
+
 
+
gotPacket(PcapPacket) - Method in class edu.uci.iotproject.DnsMap
+
 
+
gotPacket(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer2.Layer2FlowReassembler
+
 
+
gotPacket(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.TcpReassembler
+
 
+
groupConversationsByHostname(Collection<Conversation>, DnsMap) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a collection of TCP conversations and associated DNS mappings, groups the conversations by hostname.
+
+
groupConversationsByPacketSequence(Collection<Conversation>, boolean) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a Collection of Conversations, builds a Map from String to List + of Conversations such that each key is the concatenation of the packet lengths of all payload packets + (i.e., the set of packets returned by Conversation.getPackets()) separated by a delimiter of any + Conversation pointed to by that key.
+
+
groupConversationsByTlsApplicationDataPacketSequence(Collection<Conversation>) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-7.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-7.html new file mode 100644 index 0000000..ce00bd3 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-7.html @@ -0,0 +1,134 @@ + + + + + +H-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

H

+
+
hashCode() - Method in class edu.uci.iotproject.analysis.UserAction
+
 
+
hashCode() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
 
+
hasTerminated() - Method in class edu.uci.iotproject.io.PcapHandleReader
+
+
Checks if this PcapHandleReader has gracefully terminated, i.e., that the wrapped PcapHandle has + been closed.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-8.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-8.html new file mode 100644 index 0000000..1c86e36 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-8.html @@ -0,0 +1,208 @@ + + + + + +I-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

I

+
+
INCLUSION_WINDOW_MILLIS - Static variable in class edu.uci.iotproject.analysis.TriggerTrafficExtractor
+
 
+
initialize() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
isAck(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Checks if packet wraps a TCP packet th at has the ACK flag set.
+
+
isAcknowledged() - Method in class edu.uci.iotproject.trafficreassembly.layer3.FinAckPair
+
+
Was the FIN in this FinAckPair acknowledged?
+
+
isConservativeChecking(List<List<List<PcapPacket>>>, List<List<List<PcapPacket>>>, double) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Check if there is any overlap between the signature stored in this class and another signature.
+
+
isCorrespondingAckPacket(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.FinAckPair
+
+
Checks if a given packet is an ACK corresponding to the FIN packet in this FinAckPair.
+
+
isDestination(PcapPacket, String, int) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Helper method to determine if the given combination of IP and port matches the destination of the given packet.
+
+
isDstIpLocal(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Checks if the destination IP address of the IpV4Packet contained in packet is a local address, + i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.
+
+
isFirstClient() - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
isGracefullyShutdown() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
Get if this Conversation is considered to have been gracefully shut down.
+
+
isPartOfConversationAndAdjacent(List<PcapPacket>, List<PcapPacket>, Conversation) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Given a Conversation objects, check if List of PcapPacket is part of it and return the + adjacency label based on SignaturePosition.
+
+
isRangeBasedMatching(List<List<List<PcapPacket>>>, double, List<List<List<PcapPacket>>>...) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
+
+
isRelatedToCloudServer(String, String) - Method in class edu.uci.iotproject.DnsMap
+
+
Checks DNS packet and build the map data structure that + maps IP addresses to DNS hostnames
+
+
isRetransmission(PcapPacket) - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
+ Determines if the TCP packet contained in packet is a retransmission of a previously seen (logged) + packet.
+
+
isSecondClient() - Method in class edu.uci.iotproject.analysis.PcapPacketPair
+
 
+
isSource(PcapPacket, String, int) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Helper method to determine if the given combination of IP and port matches the source of the given packet.
+
+
isSrcIpLocal(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Checks if the source IP address of the IpV4Packet contained in packet is a local address, i.e., + if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.
+
+
isSyn(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Checks if packet wraps a TCP packet that has the SYN flag set.
+
+
isTcp(PcapPacket) - Static method in class edu.uci.iotproject.util.PcapPacketUtils
+
+
Determines if a given PcapPacket wraps a TcpPacket.
+
+
isTls() - Method in class edu.uci.iotproject.trafficreassembly.layer3.Conversation
+
+
+ Is this Conversation a TLS session?
+
+
isTlsPort(int) - Static method in class edu.uci.iotproject.analysis.TcpConversationUtils
+
+
Check if a given port number is considered a TLS port.
+
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-9.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-9.html new file mode 100644 index 0000000..3dce617 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index-files/index-9.html @@ -0,0 +1,127 @@ + + + + + +K-Index + + + + + + + + +
+ + + + + + + +
+ + +
A C D E F G H I K L M N O P R S T U V Z  + + +

K

+
+
kleinbergExampleOptAlignmentCostShouldBe6() - Method in class edu.uci.iotproject.test.SequenceAlignmentTest
+
 
+
+A C D E F G H I K L M N O P R S T U V Z 
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/index.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index.html new file mode 100644 index 0000000..c3d40bf --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/index.html @@ -0,0 +1,75 @@ + + + + + +Generated Documentation (Untitled) + + + + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-frame.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-frame.html new file mode 100644 index 0000000..6aa78b1 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-frame.html @@ -0,0 +1,33 @@ + + + + + +Overview List + + + + + +
All Classes
+
+

Packages

+ +
+

 

+ + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-summary.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-summary.html new file mode 100644 index 0000000..c766330 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-summary.html @@ -0,0 +1,181 @@ + + + + + +Overview + + + + + + + + +
+ + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Packages 
PackageDescription
edu.uci.iotproject 
edu.uci.iotproject.analysis 
edu.uci.iotproject.comparison.seqalignment 
edu.uci.iotproject.detection 
edu.uci.iotproject.detection.layer2 
edu.uci.iotproject.detection.layer3 
edu.uci.iotproject.evaluation 
edu.uci.iotproject.io 
edu.uci.iotproject.maclayer 
edu.uci.iotproject.test 
edu.uci.iotproject.trafficreassembly.layer2 
edu.uci.iotproject.trafficreassembly.layer3 
edu.uci.iotproject.util 
+
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-tree.html b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-tree.html new file mode 100644 index 0000000..ec29e0a --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/overview-tree.html @@ -0,0 +1,215 @@ + + + + + +Class Hierarchy + + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +

Enum Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/package-list b/Code/Projects/PacketLevelSignatureExtractor/javadoc/package-list new file mode 100644 index 0000000..f71caab --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/package-list @@ -0,0 +1,13 @@ +edu.uci.iotproject +edu.uci.iotproject.analysis +edu.uci.iotproject.comparison.seqalignment +edu.uci.iotproject.detection +edu.uci.iotproject.detection.layer2 +edu.uci.iotproject.detection.layer3 +edu.uci.iotproject.evaluation +edu.uci.iotproject.io +edu.uci.iotproject.maclayer +edu.uci.iotproject.test +edu.uci.iotproject.trafficreassembly.layer2 +edu.uci.iotproject.trafficreassembly.layer3 +edu.uci.iotproject.util diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/script.js b/Code/Projects/PacketLevelSignatureExtractor/javadoc/script.js new file mode 100644 index 0000000..b346356 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[key] & type) != 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) +{ + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} diff --git a/Code/Projects/PacketLevelSignatureExtractor/javadoc/stylesheet.css b/Code/Projects/PacketLevelSignatureExtractor/javadoc/stylesheet.css new file mode 100644 index 0000000..98055b2 --- /dev/null +++ b/Code/Projects/PacketLevelSignatureExtractor/javadoc/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} -- 2.34.1