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>Layer2SignatureDetector</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="Layer2SignatureDetector";
21 var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":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/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Prev Class</span></a></li>
52 <li>Next Class</li>
55 <li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" target="_top">Frames</a></li>
56 <li><a href="Layer2SignatureDetector.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.layer2</div>
95 <h2 title="Class Layer2SignatureDetector" class="title">Class Layer2SignatureDetector</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.layer2.Layer2SignatureDetector</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">Layer2SignatureDetector</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">Performs layer 2 signature detection.</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/layer2/Layer2SignatureDetector.html#Layer2SignatureDetector-java.util.List-int-boolean-double-">Layer2SignatureDetector</a></span>(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
138 int signatureDuration,
139 boolean isRangeBased,
140 double eps)</code> </td>
142 <tr class="rowColor">
143 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#Layer2SignatureDetector-java.util.List-java.util.List-int-boolean-double-">Layer2SignatureDetector</a></span>(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
144 java.util.List<java.util.function.Function<<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>,java.lang.Boolean>> flowFilters,
145 int inclusionTimeMillis,
146 boolean isRangeBased,
147 double eps)</code> </td>
152 <!-- ========== METHOD SUMMARY =========== -->
153 <ul class="blockList">
154 <li class="blockList"><a name="method.summary">
157 <h3>Method Summary</h3>
158 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
159 <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>
161 <th class="colFirst" scope="col">Modifier and Type</th>
162 <th class="colLast" scope="col">Method and Description</th>
164 <tr id="i0" class="altColor">
165 <td class="colFirst"><code>void</code></td>
166 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#addObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">addObserver</a></span>(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a> observer)</code> </td>
168 <tr id="i1" class="rowColor">
169 <td class="colFirst"><code>void</code></td>
170 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#gotPacket-org.pcap4j.core.PcapPacket-">gotPacket</a></span>(org.pcap4j.core.PcapPacket packet)</code> </td>
172 <tr id="i2" class="altColor">
173 <td class="colFirst"><code>static void</code></td>
174 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#main-java.lang.String:A-">main</a></span>(java.lang.String[] args)</code> </td>
176 <tr id="i3" class="rowColor">
177 <td class="colFirst"><code>void</code></td>
178 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.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,
179 java.util.List<org.pcap4j.core.PcapPacket> match)</code>
180 <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
181 of its associated cluster.</div>
184 <tr id="i4" class="altColor">
185 <td class="colFirst"><code>boolean</code></td>
186 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html#removeObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">removeObserver</a></span>(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a> 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="Layer2SignatureDetector-java.util.List-int-boolean-double-">
213 <ul class="blockList">
214 <li class="blockList">
215 <h4>Layer2SignatureDetector</h4>
216 <pre>public Layer2SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
217 int signatureDuration,
218 boolean isRangeBased,
219 double eps)</pre>
222 <a name="Layer2SignatureDetector-java.util.List-java.util.List-int-boolean-double-">
225 <ul class="blockListLast">
226 <li class="blockList">
227 <h4>Layer2SignatureDetector</h4>
228 <pre>public Layer2SignatureDetector(java.util.List<java.util.List<java.util.List<org.pcap4j.core.PcapPacket>>> searchedSignature,
229 java.util.List<java.util.function.Function<<a href="../../../../../edu/uci/iotproject/trafficreassembly/layer2/Layer2Flow.html" title="class in edu.uci.iotproject.trafficreassembly.layer2">Layer2Flow</a>,java.lang.Boolean>> flowFilters,
230 int inclusionTimeMillis,
231 boolean isRangeBased,
232 double eps)</pre>
237 <!-- ============ METHOD DETAIL ========== -->
238 <ul class="blockList">
239 <li class="blockList"><a name="method.detail">
242 <h3>Method Detail</h3>
243 <a name="main-java.lang.String:A-">
246 <ul class="blockList">
247 <li class="blockList">
249 <pre>public static void main(java.lang.String[] args)
250 throws org.pcap4j.core.PcapNativeException,
251 org.pcap4j.core.NotOpenException,
252 java.io.IOException</pre>
254 <dt><span class="throwsLabel">Throws:</span></dt>
255 <dd><code>org.pcap4j.core.PcapNativeException</code></dd>
256 <dd><code>org.pcap4j.core.NotOpenException</code></dd>
257 <dd><code>java.io.IOException</code></dd>
261 <a name="gotPacket-org.pcap4j.core.PcapPacket-">
264 <ul class="blockList">
265 <li class="blockList">
267 <pre>public void gotPacket(org.pcap4j.core.PcapPacket packet)</pre>
269 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
270 <dd><code>gotPacket</code> in interface <code>org.pcap4j.core.PacketListener</code></dd>
274 <a name="onMatch-edu.uci.iotproject.detection.AbstractClusterMatcher-java.util.List-">
277 <ul class="blockList">
278 <li class="blockList">
280 <pre>public void onMatch(<a href="../../../../../edu/uci/iotproject/detection/AbstractClusterMatcher.html" title="class in edu.uci.iotproject.detection">AbstractClusterMatcher</a> clusterMatcher,
281 java.util.List<org.pcap4j.core.PcapPacket> match)</pre>
282 <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>
283 <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
284 of its associated cluster.</div>
286 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
287 <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>
288 <dt><span class="paramLabel">Parameters:</span></dt>
289 <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
290 pertaining to its associated cluster).</dd>
291 <dd><code>match</code> - The traffic that was deemed to match the cluster associated with <code>clusterMatcher</code>.</dd>
295 <a name="addObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">
298 <ul class="blockList">
299 <li class="blockList">
301 <pre>public void addObserver(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a> observer)</pre>
304 <a name="removeObserver-edu.uci.iotproject.detection.SignatureDetectorObserver-">
307 <ul class="blockListLast">
308 <li class="blockList">
309 <h4>removeObserver</h4>
310 <pre>public boolean removeObserver(<a href="../../../../../edu/uci/iotproject/detection/SignatureDetectorObserver.html" title="interface in edu.uci.iotproject.detection">SignatureDetectorObserver</a> observer)</pre>
319 <!-- ========= END OF CLASS DATA ========= -->
320 <!-- ======= START OF BOTTOM NAVBAR ====== -->
321 <div class="bottomNav"><a name="navbar.bottom">
324 <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
325 <a name="navbar.bottom.firstrow">
328 <ul class="navList" title="Navigation">
329 <li><a href="../../../../../overview-summary.html">Overview</a></li>
330 <li><a href="package-summary.html">Package</a></li>
331 <li class="navBarCell1Rev">Class</li>
332 <li><a href="package-tree.html">Tree</a></li>
333 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
334 <li><a href="../../../../../index-files/index-1.html">Index</a></li>
335 <li><a href="../../../../../help-doc.html">Help</a></li>
340 <li><a href="../../../../../edu/uci/iotproject/detection/layer2/Layer2SequenceMatcher.html" title="class in edu.uci.iotproject.detection.layer2"><span class="typeNameLink">Prev Class</span></a></li>
341 <li>Next Class</li>
344 <li><a href="../../../../../index.html?edu/uci/iotproject/detection/layer2/Layer2SignatureDetector.html" target="_top">Frames</a></li>
345 <li><a href="Layer2SignatureDetector.html" target="_top">No Frames</a></li>
347 <ul class="navList" id="allclasses_navbar_bottom">
348 <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
351 <script type="text/javascript"><!--
352 allClassesLink = document.getElementById("allclasses_navbar_bottom");
354 allClassesLink.style.display = "block";
357 allClassesLink.style.display = "none";
363 <ul class="subNavList">
364 <li>Summary: </li>
365 <li>Nested | </li>
366 <li>Field | </li>
367 <li><a href="#constructor.summary">Constr</a> | </li>
368 <li><a href="#method.summary">Method</a></li>
370 <ul class="subNavList">
371 <li>Detail: </li>
372 <li>Field | </li>
373 <li><a href="#constructor.detail">Constr</a> | </li>
374 <li><a href="#method.detail">Method</a></li>
377 <a name="skip.navbar.bottom">
380 <!-- ======== END OF BOTTOM NAVBAR ======= -->