Adding Javadoc documentation.
[pingpong.git] / Code / Projects / PacketLevelSignatureExtractor / javadoc / edu / uci / iotproject / detection / layer3 / Layer3SignatureDetector.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <!-- NewPage -->
3 <html lang="en">
4 <head>
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>
10 </head>
11 <body>
12 <script type="text/javascript"><!--
13     try {
14         if (location.href.indexOf('is-external=true') == -1) {
15             parent.document.title="Layer3SignatureDetector";
16         }
17     }
18     catch(err) {
19     }
20 //-->
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";
27 </script>
28 <noscript>
29 <div>JavaScript is disabled on your browser.</div>
30 </noscript>
31 <!-- ========= START OF TOP NAVBAR ======= -->
32 <div class="topNav"><a name="navbar.top">
33 <!--   -->
34 </a>
35 <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
36 <a name="navbar.top.firstrow">
37 <!--   -->
38 </a>
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>
47 </ul>
48 </div>
49 <div class="subNav">
50 <ul class="navList">
51 <li><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
52 <li>Next&nbsp;Class</li>
53 </ul>
54 <ul class="navList">
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&nbsp;Frames</a></li>
57 </ul>
58 <ul class="navList" id="allclasses_navbar_top">
59 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
60 </ul>
61 <div>
62 <script type="text/javascript"><!--
63   allClassesLink = document.getElementById("allclasses_navbar_top");
64   if(window==top) {
65     allClassesLink.style.display = "block";
66   }
67   else {
68     allClassesLink.style.display = "none";
69   }
70   //-->
71 </script>
72 </div>
73 <div>
74 <ul class="subNavList">
75 <li>Summary:&nbsp;</li>
76 <li>Nested&nbsp;|&nbsp;</li>
77 <li>Field&nbsp;|&nbsp;</li>
78 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
79 <li><a href="#method.summary">Method</a></li>
80 </ul>
81 <ul class="subNavList">
82 <li>Detail:&nbsp;</li>
83 <li>Field&nbsp;|&nbsp;</li>
84 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
85 <li><a href="#method.detail">Method</a></li>
86 </ul>
87 </div>
88 <a name="skip.navbar.top">
89 <!--   -->
90 </a></div>
91 <!-- ========= END OF TOP NAVBAR ========= -->
92 <!-- ======== START OF CLASS DATA ======== -->
93 <div class="header">
94 <div class="subTitle">edu.uci.iotproject.detection.layer3</div>
95 <h2 title="Class Layer3SignatureDetector" class="title">Class Layer3SignatureDetector</h2>
96 </div>
97 <div class="contentContainer">
98 <ul class="inheritance">
99 <li>java.lang.Object</li>
100 <li>
101 <ul class="inheritance">
102 <li>edu.uci.iotproject.detection.layer3.Layer3SignatureDetector</li>
103 </ul>
104 </li>
105 </ul>
106 <div class="description">
107 <ul class="blockList">
108 <li class="blockList">
109 <dl>
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>
112 </dl>
113 <hr>
114 <br>
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>
119 </li>
120 </ul>
121 </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">
128 <!--   -->
129 </a>
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">&nbsp;</span></caption>
133 <tr>
134 <th class="colOne" scope="col">Constructor and Description</th>
135 </tr>
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&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
138                        java.lang.String&nbsp;routerWanIp,
139                        int&nbsp;inclusionTimeMillis,
140                        boolean&nbsp;isRangeBased,
141                        double&nbsp;eps)</code>&nbsp;</td>
142 </tr>
143 </table>
144 </li>
145 </ul>
146 <!-- ========== METHOD SUMMARY =========== -->
147 <ul class="blockList">
148 <li class="blockList"><a name="method.summary">
149 <!--   -->
150 </a>
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">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
154 <tr>
155 <th class="colFirst" scope="col">Modifier and Type</th>
156 <th class="colLast" scope="col">Method and Description</th>
157 </tr>
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&nbsp;observer)</code>&nbsp;</td>
161 </tr>
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&nbsp;packet)</code>&nbsp;</td>
165 </tr>
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[]&nbsp;args)</code>&nbsp;</td>
169 </tr>
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>&nbsp;clusterMatcher,
173        java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;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>
176 </td>
177 </tr>
178 <tr id="i4" class="altColor">
179 <td class="colFirst"><code>static java.util.List&lt;<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;</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&lt;<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;&nbsp;listUserAction)</code>
181 <div class="block">Remove duplicates in <code>List</code> of <code>UserAction</code> objects.</div>
182 </td>
183 </tr>
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&nbsp;observer)</code>&nbsp;</td>
187 </tr>
188 </table>
189 <ul class="blockList">
190 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
191 <!--   -->
192 </a>
193 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
194 <code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
195 </ul>
196 </li>
197 </ul>
198 </li>
199 </ul>
200 </div>
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">
207 <!--   -->
208 </a>
209 <h3>Constructor Detail</h3>
210 <a name="Layer3SignatureDetector-java.util.List-java.lang.String-int-boolean-double-">
211 <!--   -->
212 </a>
213 <ul class="blockListLast">
214 <li class="blockList">
215 <h4>Layer3SignatureDetector</h4>
216 <pre>public&nbsp;Layer3SignatureDetector(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;searchedSignature,
217                                java.lang.String&nbsp;routerWanIp,
218                                int&nbsp;inclusionTimeMillis,
219                                boolean&nbsp;isRangeBased,
220                                double&nbsp;eps)</pre>
221 </li>
222 </ul>
223 </li>
224 </ul>
225 <!-- ============ METHOD DETAIL ========== -->
226 <ul class="blockList">
227 <li class="blockList"><a name="method.detail">
228 <!--   -->
229 </a>
230 <h3>Method Detail</h3>
231 <a name="main-java.lang.String:A-">
232 <!--   -->
233 </a>
234 <ul class="blockList">
235 <li class="blockList">
236 <h4>main</h4>
237 <pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
238                  throws org.pcap4j.core.PcapNativeException,
239                         org.pcap4j.core.NotOpenException,
240                         java.io.IOException</pre>
241 <dl>
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>
246 </dl>
247 </li>
248 </ul>
249 <a name="removeDuplicates-java.util.List-">
250 <!--   -->
251 </a>
252 <ul class="blockList">
253 <li class="blockList">
254 <h4>removeDuplicates</h4>
255 <pre>public static&nbsp;java.util.List&lt;<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;&nbsp;removeDuplicates(java.util.List&lt;<a href="../../../../../edu/uci/iotproject/analysis/UserAction.html" title="class in edu.uci.iotproject.analysis">UserAction</a>&gt;&nbsp;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>
260 <dl>
261 <dt><span class="paramLabel">Parameters:</span></dt>
262 <dd><code>listUserAction</code> - A <code>List</code> of <code>UserAction</code>.</dd>
263 </dl>
264 </li>
265 </ul>
266 <a name="addObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">
267 <!--   -->
268 </a>
269 <ul class="blockList">
270 <li class="blockList">
271 <h4>addObserver</h4>
272 <pre>public&nbsp;void&nbsp;addObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver&nbsp;observer)</pre>
273 </li>
274 </ul>
275 <a name="removeObserver-edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver-">
276 <!--   -->
277 </a>
278 <ul class="blockList">
279 <li class="blockList">
280 <h4>removeObserver</h4>
281 <pre>public&nbsp;boolean&nbsp;removeObserver(edu.uci.iotproject.detection.layer3.Layer3SignatureDetector.SignatureDetectionObserver&nbsp;observer)</pre>
282 </li>
283 </ul>
284 <a name="gotPacket-org.pcap4j.core.PcapPacket-">
285 <!--   -->
286 </a>
287 <ul class="blockList">
288 <li class="blockList">
289 <h4>gotPacket</h4>
290 <pre>public&nbsp;void&nbsp;gotPacket(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
291 <dl>
292 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
293 <dd><code>gotPacket</code>&nbsp;in interface&nbsp;<code>org.pcap4j.core.PacketListener</code></dd>
294 </dl>
295 </li>
296 </ul>
297 <a name="onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">
298 <!--   -->
299 </a>
300 <ul class="blockListLast">
301 <li class="blockList">
302 <h4>onMatch</h4>
303 <pre>public&nbsp;void&nbsp;onMatch(<a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a>&nbsp;clusterMatcher,
304                     java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&nbsp;match)</pre>
305 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<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>
308 <dl>
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>&nbsp;in interface&nbsp;<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>
315 </dl>
316 </li>
317 </ul>
318 </li>
319 </ul>
320 </li>
321 </ul>
322 </div>
323 </div>
324 <!-- ========= END OF CLASS DATA ========= -->
325 <!-- ======= START OF BOTTOM NAVBAR ====== -->
326 <div class="bottomNav"><a name="navbar.bottom">
327 <!--   -->
328 </a>
329 <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
330 <a name="navbar.bottom.firstrow">
331 <!--   -->
332 </a>
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>
341 </ul>
342 </div>
343 <div class="subNav">
344 <ul class="navList">
345 <li><a href="../../../../../edu/uci/iotproject/detection/layer3/Layer3ClusterMatcher.html" title="class in edu.uci.iotproject.detection.layer3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
346 <li>Next&nbsp;Class</li>
347 </ul>
348 <ul class="navList">
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&nbsp;Frames</a></li>
351 </ul>
352 <ul class="navList" id="allclasses_navbar_bottom">
353 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
354 </ul>
355 <div>
356 <script type="text/javascript"><!--
357   allClassesLink = document.getElementById("allclasses_navbar_bottom");
358   if(window==top) {
359     allClassesLink.style.display = "block";
360   }
361   else {
362     allClassesLink.style.display = "none";
363   }
364   //-->
365 </script>
366 </div>
367 <div>
368 <ul class="subNavList">
369 <li>Summary:&nbsp;</li>
370 <li>Nested&nbsp;|&nbsp;</li>
371 <li>Field&nbsp;|&nbsp;</li>
372 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
373 <li><a href="#method.summary">Method</a></li>
374 </ul>
375 <ul class="subNavList">
376 <li>Detail:&nbsp;</li>
377 <li>Field&nbsp;|&nbsp;</li>
378 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
379 <li><a href="#method.detail">Method</a></li>
380 </ul>
381 </div>
382 <a name="skip.navbar.bottom">
383 <!--   -->
384 </a></div>
385 <!-- ======== END OF BOTTOM NAVBAR ======= -->
386 </body>
387 </html>