1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
5 <!-- Generated by javadoc (1.8.0_191) on Thu Mar 28 11:26:59 PDT 2019 -->
6 <title>Layer3SignatureDetector</title>
7 <meta name="date" content="2019-03-28">
8 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
9 <script type="text/javascript" src="../../../../../script.js"></script>
12 <script type="text/javascript"><!--
14 if (location.href.indexOf('is-external=true') == -1) {
15 parent.document.title="Layer3SignatureDetector";
21 var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":9,"i5":10};
22 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
23 var altColor = "altColor";
24 var rowColor = "rowColor";
25 var tableTab = "tableTab";
26 var activeTableTab = "activeTableTab";
29 <div>JavaScript is disabled on your browser.</div>
31 <!-- ========= START OF TOP NAVBAR ======= -->
32 <div class="topNav"><a name="navbar.top">
35 <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
36 <a name="navbar.top.firstrow">
39 <ul class="navList" title="Navigation">
40 <li><a href="../../../../../overview-summary.html">Overview</a></li>
41 <li><a href="package-summary.html">Package</a></li>
42 <li class="navBarCell1Rev">Class</li>
43 <li><a href="package-tree.html">Tree</a></li>
44 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
45 <li><a href="../../../../../index-files/index-1.html">Index</a></li>
46 <li><a href="../../../../../help-doc.html">Help</a></li>
51 <li><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Prev Class</span></a></li>
52 <li>Next Class</li>
55 <li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" target="_top">Frames</a></li>
56 <li><a href="Layer3SignatureDetector.html" target="_top">No Frames</a></li>
58 <ul class="navList" id="allclasses_navbar_top">
59 <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
62 <script type="text/javascript"><!--
63 allClassesLink = document.getElementById("allclasses_navbar_top");
65 allClassesLink.style.display = "block";
68 allClassesLink.style.display = "none";
74 <ul class="subNavList">
75 <li>Summary: </li>
76 <li>Nested | </li>
77 <li>Field | </li>
78 <li><a href="#constructor.summary">Constr</a> | </li>
79 <li><a href="#method.summary">Method</a></li>
81 <ul class="subNavList">
82 <li>Detail: </li>
83 <li>Field | </li>
84 <li><a href="#constructor.detail">Constr</a> | </li>
85 <li><a href="#method.detail">Method</a></li>
88 <a name="skip.navbar.top">
91 <!-- ========= END OF TOP NAVBAR ========= -->
92 <!-- ======== START OF CLASS DATA ======== -->
94 <div class="subTitle">edu.uci.iotproject.detection.layer3</div>
95 <h2 title="Class Layer3SignatureDetector" class="title">Class Layer3SignatureDetector</h2>
97 <div class="contentContainer">
98 <ul class="inheritance">
99 <li>java.lang.Object</li>
101 <ul class="inheritance">
102 <li>edu.uci.iotproject.detection.layer3.Layer3SignatureDetector</li>
106 <div class="description">
107 <ul class="blockList">
108 <li class="blockList">
110 <dt>All Implemented Interfaces:</dt>
111 <dd><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a>, org.pcap4j.core.PacketListener</dd>
115 <pre>public class <span class="typeNameLabel">Layer3SignatureDetector</span>
116 extends java.lang.Object
117 implements org.pcap4j.core.PacketListener, <a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></pre>
118 <div class="block">Detects an event signature that spans one or multiple TCP connections.</div>
122 <div class="summary">
123 <ul class="blockList">
124 <li class="blockList">
125 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
126 <ul class="blockList">
127 <li class="blockList"><a name="constructor.summary">
130 <h3>Constructor Summary</h3>
131 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
132 <caption><span>Constructors</span><span class="tabEnd"> </span></caption>
134 <th class="colOne" scope="col">Constructor and Description</th>
136 <tr class="altColor">
137 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#Layer3SignatureDetector-java.util.List-java.lang.String-int-boolean-double-">Layer3SignatureDetector</a></span>(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
138 java.lang.String routerWanIp,
139 int inclusionTimeMillis,
140 boolean isRangeBased,
141 double eps)</code> </td>
146 <!-- ========== METHOD SUMMARY =========== -->
147 <ul class="blockList">
148 <li class="blockList"><a name="method.summary">
151 <h3>Method Summary</h3>
152 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
153 <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
155 <th class="colFirst" scope="col">Modifier and Type</th>
156 <th class="colLast" scope="col">Method and Description</th>
158 <tr id="i0" class="altColor">
159 <td class="colFirst"><code>void</code></td>
160 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#addObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">addObserver</a></span>(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer)</code> </td>
162 <tr id="i1" class="rowColor">
163 <td class="colFirst"><code>void</code></td>
164 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket</a></span>(org.pcap4j.core.PcapPacket packet)</code> </td>
166 <tr id="i2" class="altColor">
167 <td class="colFirst"><code>static void</code></td>
168 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#main-java.lang.String:A-">main</a></span>(java.lang.String[] args)</code> </td>
170 <tr id="i3" class="rowColor">
171 <td class="colFirst"><code>void</code></td>
172 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch</a></span>(<a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a> clusterMatcher,
173 java.util.List<org.pcap4j.core.PcapPacket> match)</code>
174 <div class="block">Callback that is invoked by an <a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><code>AbstractClusterMatcher</code></a> whenever it detects traffic that matches an element
175 of its associated cluster.</div>
178 <tr id="i4" class="altColor">
179 <td class="colFirst"><code>static java.util.List<<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>></code></td>
180 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#removeDuplicates-java.util.List-">removeDuplicates</a></span>(java.util.List<<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>> listUserAction)</code>
181 <div class="block">Remove duplicates in <code>List</code> of <code>UserAction</code> objects.</div>
184 <tr id="i5" class="rowColor">
185 <td class="colFirst"><code>boolean</code></td>
186 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html#removeObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">removeObserver</a></span>(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer)</code> </td>
189 <ul class="blockList">
190 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
193 <h3>Methods inherited from class java.lang.Object</h3>
194 <code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
201 <div class="details">
202 <ul class="blockList">
203 <li class="blockList">
204 <!-- ========= CONSTRUCTOR DETAIL ======== -->
205 <ul class="blockList">
206 <li class="blockList"><a name="constructor.detail">
209 <h3>Constructor Detail</h3>
210 <a name="Layer3SignatureDetector-java.util.List-java.lang.String-int-boolean-double-">
213 <ul class="blockListLast">
214 <li class="blockList">
215 <h4>Layer3SignatureDetector</h4>
216 <pre>public Layer3SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
217 java.lang.String routerWanIp,
218 int inclusionTimeMillis,
219 boolean isRangeBased,
220 double eps)</pre>
225 <!-- ============ METHOD DETAIL ========== -->
226 <ul class="blockList">
227 <li class="blockList"><a name="method.detail">
230 <h3>Method Detail</h3>
231 <a name="main-java.lang.String:A-">
234 <ul class="blockList">
235 <li class="blockList">
237 <pre>public static void main(java.lang.String[] args)
238 throws org.pcap4j.core.PcapNativeException,
239 org.pcap4j.core.NotOpenException,
240 java.io.IOException</pre>
242 <dt><span class="throwsLabel">Throws:</span></dt>
243 <dd><code>org.pcap4j.core.PcapNativeException</code></dd>
244 <dd><code>org.pcap4j.core.NotOpenException</code></dd>
245 <dd><code>java.io.IOException</code></dd>
249 <a name="removeDuplicates-java.util.List-">
252 <ul class="blockList">
253 <li class="blockList">
254 <h4>removeDuplicates</h4>
255 <pre>public static java.util.List<<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>> removeDuplicates(java.util.List<<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>> listUserAction)</pre>
256 <div class="block">Remove duplicates in <code>List</code> of <code>UserAction</code> objects. We need to clean this up for user actions
257 that appear multiple times.
258 TODO: This static method is probably just for temporary and we could get rid of this after we clean up
259 TODO: the pipeline</div>
261 <dt><span class="paramLabel">Parameters:</span></dt>
262 <dd><code>listUserAction</code> - A <code>List</code> of <code>UserAction</code>.</dd>
266 <a name="addObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">
269 <ul class="blockList">
270 <li class="blockList">
272 <pre>public void addObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer)</pre>
275 <a name="removeObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">
278 <ul class="blockList">
279 <li class="blockList">
280 <h4>removeObserver</h4>
281 <pre>public boolean removeObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver observer)</pre>
284 <a name="gotPacket-org.pcap4j.core.PcapPacket-">
287 <ul class="blockList">
288 <li class="blockList">
290 <pre>public void gotPacket(org.pcap4j.core.PcapPacket packet)</pre>
292 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
293 <dd><code>gotPacket</code> in interface <code>org.pcap4j.core.PacketListener</code></dd>
297 <a name="onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">
300 <ul class="blockListLast">
301 <li class="blockList">
303 <pre>public void onMatch(<a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a> clusterMatcher,
304 java.util.List<org.pcap4j.core.PcapPacket> match)</pre>
305 <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">ClusterMatcherObserver</a></code></span></div>
306 <div class="block">Callback that is invoked by an <a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><code>AbstractClusterMatcher</code></a> whenever it detects traffic that matches an element
307 of its associated cluster.</div>
309 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
310 <dd><code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html#onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">onMatch</a></code> in interface <code><a href="../../../../../edu/uci/iotproject/detection/ClusterMatcherObserver.html" title="interface in edu.uci.iotproject.detection">ClusterMatcherObserver</a></code></dd>
311 <dt><span class="paramLabel">Parameters:</span></dt>
312 <dd><code>clusterMatcher</code> - The <a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection"><code>AbstractClusterMatcher</code></a> that detected a match (i.e., classified traffic as
313 pertaining to its associated cluster).</dd>
314 <dd><code>match</code> - The traffic that was deemed to match the cluster associated with <code>clusterMatcher</code>.</dd>
324 <!-- ========= END OF CLASS DATA ========= -->
325 <!-- ======= START OF BOTTOM NAVBAR ====== -->
326 <div class="bottomNav"><a name="navbar.bottom">
329 <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
330 <a name="navbar.bottom.firstrow">
333 <ul class="navList" title="Navigation">
334 <li><a href="../../../../../overview-summary.html">Overview</a></li>
335 <li><a href="package-summary.html">Package</a></li>
336 <li class="navBarCell1Rev">Class</li>
337 <li><a href="package-tree.html">Tree</a></li>
338 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
339 <li><a href="../../../../../index-files/index-1.html">Index</a></li>
340 <li><a href="../../../../../help-doc.html">Help</a></li>
345 <li><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Prev Class</span></a></li>
346 <li>Next Class</li>
349 <li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer3/Layer3SignatureDetector.html" target="_top">Frames</a></li>
350 <li><a href="Layer3SignatureDetector.html" target="_top">No Frames</a></li>
352 <ul class="navList" id="allclasses_navbar_bottom">
353 <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
356 <script type="text/javascript"><!--
357 allClassesLink = document.getElementById("allclasses_navbar_bottom");
359 allClassesLink.style.display = "block";
362 allClassesLink.style.display = "none";
368 <ul class="subNavList">
369 <li>Summary: </li>
370 <li>Nested | </li>
371 <li>Field | </li>
372 <li><a href="#constructor.summary">Constr</a> | </li>
373 <li><a href="#method.summary">Method</a></li>
375 <ul class="subNavList">
376 <li>Detail: </li>
377 <li>Field | </li>
378 <li><a href="#constructor.detail">Constr</a> | </li>
379 <li><a href="#method.detail">Method</a></li>
382 <a name="skip.navbar.bottom">
385 <!-- ======== END OF BOTTOM NAVBAR ======= -->