Adding Javadoc documentation.
[pingpong.git] / Code / Projects / PacketLevelSignatureExtractor / javadoc / edu / uci / iotproject / util / PcapPacketUtils.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>PcapPacketUtils</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="PcapPacketUtils";
16         }
17     }
18     catch(err) {
19     }
20 //-->
21 var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9};
22 var tabs = {65535:["t0","All Methods"],1:["t1","Static 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>Prev&nbsp;Class</li>
52 <li><a href="../../../../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
53 </ul>
54 <ul class="navList">
55 <li><a href="../../../../index.html?edu/uci/iotproject/util/PcapPacketUtils.html" target="_top">Frames</a></li>
56 <li><a href="PcapPacketUtils.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.util</div>
95 <h2 title="Class PcapPacketUtils" class="title">Class PcapPacketUtils</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.util.PcapPacketUtils</li>
103 </ul>
104 </li>
105 </ul>
106 <div class="description">
107 <ul class="blockList">
108 <li class="blockList">
109 <hr>
110 <br>
111 <pre>public final class <span class="typeNameLabel">PcapPacketUtils</span>
112 extends java.lang.Object</pre>
113 <div class="block">Utility methods for inspecting <code>PcapPacket</code> properties.</div>
114 </li>
115 </ul>
116 </div>
117 <div class="summary">
118 <ul class="blockList">
119 <li class="blockList">
120 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
121 <ul class="blockList">
122 <li class="blockList"><a name="constructor.summary">
123 <!--   -->
124 </a>
125 <h3>Constructor Summary</h3>
126 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
127 <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
128 <tr>
129 <th class="colOne" scope="col">Constructor and Description</th>
130 </tr>
131 <tr class="altColor">
132 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#PcapPacketUtils--">PcapPacketUtils</a></span>()</code>&nbsp;</td>
133 </tr>
134 </table>
135 </li>
136 </ul>
137 <!-- ========== METHOD SUMMARY =========== -->
138 <ul class="blockList">
139 <li class="blockList"><a name="method.summary">
140 <!--   -->
141 </a>
142 <h3>Method Summary</h3>
143 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
144 <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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
145 <tr>
146 <th class="colFirst" scope="col">Modifier and Type</th>
147 <th class="colLast" scope="col">Method and Description</th>
148 </tr>
149 <tr id="i0" class="altColor">
150 <td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;</code></td>
151 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#clusterToListOfPcapPackets-org.apache.commons.math3.stat.clustering.Cluster-">clusterToListOfPcapPackets</a></span>(org.apache.commons.math3.stat.clustering.Cluster&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;cluster)</code>
152 <div class="block">Transform a <code>Cluster</code> of <code>PcapPacketPair</code> objects into a <code>List</code> of <code>List</code> of
153  <code>PcapPacket</code> objects.</div>
154 </td>
155 </tr>
156 <tr id="i1" class="rowColor">
157 <td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;</code></td>
158 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#concatSequences-java.util.List-java.util.List-">concatSequences</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
159                java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</code>
160 <div class="block">Concatenate sequences in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
161 </td>
162 </tr>
163 <tr id="i2" class="altColor">
164 <td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;</code></td>
165 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#extractRangeCorePoints-java.util.List-double-int-">extractRangeCorePoints</a></span>(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;pairs,
166                       double&nbsp;eps,
167                       int&nbsp;minPts)</code>
168 <div class="block">Extract core point range in the form of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
169 </td>
170 </tr>
171 <tr id="i3" class="rowColor">
172 <td class="colFirst"><code>static java.lang.String</code></td>
173 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getDestinationIp-org.pcap4j.core.PcapPacket-">getDestinationIp</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
174 <div class="block">Gets the destination IP (in decimal format) of an IPv4 packet.</div>
175 </td>
176 </tr>
177 <tr id="i4" class="altColor">
178 <td class="colFirst"><code>static int</code></td>
179 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getDestinationPort-org.pcap4j.core.PcapPacket-">getDestinationPort</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
180 <div class="block">Gets the destination port of a TCP packet.</div>
181 </td>
182 </tr>
183 <tr id="i5" class="rowColor">
184 <td class="colFirst"><code>static org.pcap4j.util.MacAddress</code></td>
185 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getEthDstAddr-org.pcap4j.core.PcapPacket-">getEthDstAddr</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
186 <div class="block">Gets the destination address of the Ethernet part of <code>packet</code>.</div>
187 </td>
188 </tr>
189 <tr id="i6" class="altColor">
190 <td class="colFirst"><code>static org.pcap4j.util.MacAddress</code></td>
191 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getEthSrcAddr-org.pcap4j.core.PcapPacket-">getEthSrcAddr</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
192 <div class="block">Gets the source address of the Ethernet part of <code>packet</code>.</div>
193 </td>
194 </tr>
195 <tr id="i7" class="rowColor">
196 <td class="colFirst"><code>static java.lang.String</code></td>
197 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getSourceIp-org.pcap4j.core.PcapPacket-">getSourceIp</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
198 <div class="block">Gets the source IP (in decimal format) of an IPv4 packet.</div>
199 </td>
200 </tr>
201 <tr id="i8" class="altColor">
202 <td class="colFirst"><code>static int</code></td>
203 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#getSourcePort-org.pcap4j.core.PcapPacket-">getSourcePort</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
204 <div class="block">Gets the source port of a TCP packet.</div>
205 </td>
206 </tr>
207 <tr id="i9" class="rowColor">
208 <td class="colFirst"><code>static boolean</code></td>
209 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isAck-org.pcap4j.core.PcapPacket-">isAck</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
210 <div class="block">Checks if <code>packet</code> wraps a TCP packet th        at has the ACK flag set.</div>
211 </td>
212 </tr>
213 <tr id="i10" class="altColor">
214 <td class="colFirst"><code>static boolean</code></td>
215 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isConservativeChecking-java.util.List-java.util.List-double-">isConservativeChecking</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
216                       java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;otherSignature,
217                       double&nbsp;eps)</code>
218 <div class="block">Check if there is any overlap between the signature stored in this class and another signature.</div>
219 </td>
220 </tr>
221 <tr id="i11" class="rowColor">
222 <td class="colFirst"><code>static boolean</code></td>
223 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isDestination-org.pcap4j.core.PcapPacket-java.lang.String-int-">isDestination</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet,
224              java.lang.String&nbsp;ip,
225              int&nbsp;port)</code>
226 <div class="block">Helper method to determine if the given combination of IP and port matches the destination of the given packet.</div>
227 </td>
228 </tr>
229 <tr id="i12" class="altColor">
230 <td class="colFirst"><code>static boolean</code></td>
231 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isDstIpLocal-org.pcap4j.core.PcapPacket-">isDstIpLocal</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
232 <div class="block">Checks if the destination IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address,
233  i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
234 </td>
235 </tr>
236 <tr id="i13" class="rowColor">
237 <td class="colFirst"><code>static boolean</code></td>
238 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isRangeBasedMatching-java.util.List-double-java.util.List...-">isRangeBasedMatching</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
239                     double&nbsp;eps,
240                     java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;...&nbsp;otherSignatures)</code>
241 <div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).</div>
242 </td>
243 </tr>
244 <tr id="i14" class="altColor">
245 <td class="colFirst"><code>static boolean</code></td>
246 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isSource-org.pcap4j.core.PcapPacket-java.lang.String-int-">isSource</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet,
247         java.lang.String&nbsp;ip,
248         int&nbsp;port)</code>
249 <div class="block">Helper method to determine if the given combination of IP and port matches the source of the given packet.</div>
250 </td>
251 </tr>
252 <tr id="i15" class="rowColor">
253 <td class="colFirst"><code>static boolean</code></td>
254 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isSrcIpLocal-org.pcap4j.core.PcapPacket-">isSrcIpLocal</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
255 <div class="block">Checks if the source IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address, i.e.,
256  if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
257 </td>
258 </tr>
259 <tr id="i16" class="altColor">
260 <td class="colFirst"><code>static boolean</code></td>
261 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isSyn-org.pcap4j.core.PcapPacket-">isSyn</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
262 <div class="block">Checks if <code>packet</code> wraps a TCP packet that has the SYN flag set.</div>
263 </td>
264 </tr>
265 <tr id="i17" class="rowColor">
266 <td class="colFirst"><code>static boolean</code></td>
267 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#isTcp-org.pcap4j.core.PcapPacket-">isTcp</a></span>(org.pcap4j.core.PcapPacket&nbsp;packet)</code>
268 <div class="block">Determines if a given <code>PcapPacket</code> wraps a <code>TcpPacket</code>.</div>
269 </td>
270 </tr>
271 <tr id="i18" class="altColor">
272 <td class="colFirst"><code>static void</code></td>
273 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#printSignatures-java.util.List-java.io.PrintWriter-boolean-">printSignatures</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
274                java.io.PrintWriter&nbsp;resultsWriter,
275                boolean&nbsp;printToOutput)</code>
276 <div class="block">Print signatures in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
277 </td>
278 </tr>
279 <tr id="i19" class="rowColor">
280 <td class="colFirst"><code>static void</code></td>
281 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#removeSequenceFromSignature-java.util.List-int-">removeSequenceFromSignature</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
282                            int&nbsp;sequenceIndex)</code>
283 <div class="block">Remove a sequence in a signature object.</div>
284 </td>
285 </tr>
286 <tr id="i20" class="altColor">
287 <td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;</code></td>
288 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#sortSequences-java.util.List-">sortSequences</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures)</code>
289 <div class="block">Sort the sequences in the <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
290 </td>
291 </tr>
292 <tr id="i21" class="rowColor">
293 <td class="colFirst"><code>static java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;</code></td>
294 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/uci/iotproject/util/PcapPacketUtils.html#useRangeBasedMatching-java.util.List-java.util.List-">useRangeBasedMatching</a></span>(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
295                      java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;corePointRange)</code>
296 <div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).</div>
297 </td>
298 </tr>
299 </table>
300 <ul class="blockList">
301 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
302 <!--   -->
303 </a>
304 <h3>Methods inherited from class&nbsp;java.lang.Object</h3>
305 <code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
306 </ul>
307 </li>
308 </ul>
309 </li>
310 </ul>
311 </div>
312 <div class="details">
313 <ul class="blockList">
314 <li class="blockList">
315 <!-- ========= CONSTRUCTOR DETAIL ======== -->
316 <ul class="blockList">
317 <li class="blockList"><a name="constructor.detail">
318 <!--   -->
319 </a>
320 <h3>Constructor Detail</h3>
321 <a name="PcapPacketUtils--">
322 <!--   -->
323 </a>
324 <ul class="blockListLast">
325 <li class="blockList">
326 <h4>PcapPacketUtils</h4>
327 <pre>public&nbsp;PcapPacketUtils()</pre>
328 </li>
329 </ul>
330 </li>
331 </ul>
332 <!-- ============ METHOD DETAIL ========== -->
333 <ul class="blockList">
334 <li class="blockList"><a name="method.detail">
335 <!--   -->
336 </a>
337 <h3>Method Detail</h3>
338 <a name="getEthSrcAddr-org.pcap4j.core.PcapPacket-">
339 <!--   -->
340 </a>
341 <ul class="blockList">
342 <li class="blockList">
343 <h4>getEthSrcAddr</h4>
344 <pre>public static&nbsp;org.pcap4j.util.MacAddress&nbsp;getEthSrcAddr(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
345 <div class="block">Gets the source address of the Ethernet part of <code>packet</code>.</div>
346 <dl>
347 <dt><span class="paramLabel">Parameters:</span></dt>
348 <dd><code>packet</code> - The packet for which the Ethernet source address is to be extracted.</dd>
349 <dt><span class="returnLabel">Returns:</span></dt>
350 <dd>The source address of the Ethernet part of <code>packet</code>.</dd>
351 </dl>
352 </li>
353 </ul>
354 <a name="getEthDstAddr-org.pcap4j.core.PcapPacket-">
355 <!--   -->
356 </a>
357 <ul class="blockList">
358 <li class="blockList">
359 <h4>getEthDstAddr</h4>
360 <pre>public static&nbsp;org.pcap4j.util.MacAddress&nbsp;getEthDstAddr(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
361 <div class="block">Gets the destination address of the Ethernet part of <code>packet</code>.</div>
362 <dl>
363 <dt><span class="paramLabel">Parameters:</span></dt>
364 <dd><code>packet</code> - The packet for which the Ethernet destination address is to be extracted.</dd>
365 <dt><span class="returnLabel">Returns:</span></dt>
366 <dd>The destination address of the Ethernet part of <code>packet</code>.</dd>
367 </dl>
368 </li>
369 </ul>
370 <a name="isTcp-org.pcap4j.core.PcapPacket-">
371 <!--   -->
372 </a>
373 <ul class="blockList">
374 <li class="blockList">
375 <h4>isTcp</h4>
376 <pre>public static&nbsp;boolean&nbsp;isTcp(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
377 <div class="block">Determines if a given <code>PcapPacket</code> wraps a <code>TcpPacket</code>.</div>
378 <dl>
379 <dt><span class="paramLabel">Parameters:</span></dt>
380 <dd><code>packet</code> - The <code>PcapPacket</code> to inspect.</dd>
381 <dt><span class="returnLabel">Returns:</span></dt>
382 <dd><code>true</code> if <code>packet</code> wraps a <code>TcpPacket</code>, <code>false</code> otherwise.</dd>
383 </dl>
384 </li>
385 </ul>
386 <a name="getSourceIp-org.pcap4j.core.PcapPacket-">
387 <!--   -->
388 </a>
389 <ul class="blockList">
390 <li class="blockList">
391 <h4>getSourceIp</h4>
392 <pre>public static&nbsp;java.lang.String&nbsp;getSourceIp(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
393 <div class="block">Gets the source IP (in decimal format) of an IPv4 packet.</div>
394 <dl>
395 <dt><span class="paramLabel">Parameters:</span></dt>
396 <dd><code>packet</code> - The packet for which the IPv4 source address is to be extracted.</dd>
397 <dt><span class="returnLabel">Returns:</span></dt>
398 <dd>The decimal representation of the source IP of <code>packet</code> <em>iff</em> <code>packet</code> wraps an
399          <code>IpV4Packet</code>.</dd>
400 <dt><span class="throwsLabel">Throws:</span></dt>
401 <dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
402 </dl>
403 </li>
404 </ul>
405 <a name="getDestinationIp-org.pcap4j.core.PcapPacket-">
406 <!--   -->
407 </a>
408 <ul class="blockList">
409 <li class="blockList">
410 <h4>getDestinationIp</h4>
411 <pre>public static&nbsp;java.lang.String&nbsp;getDestinationIp(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
412 <div class="block">Gets the destination IP (in decimal format) of an IPv4 packet.</div>
413 <dl>
414 <dt><span class="paramLabel">Parameters:</span></dt>
415 <dd><code>packet</code> - The packet for which the IPv4 source address is to be extracted.</dd>
416 <dt><span class="returnLabel">Returns:</span></dt>
417 <dd>The decimal representation of the destination IP of <code>packet</code> <em>iff</em> <code>packet</code> wraps an
418          <code>IpV4Packet</code>.</dd>
419 <dt><span class="throwsLabel">Throws:</span></dt>
420 <dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
421 </dl>
422 </li>
423 </ul>
424 <a name="getSourcePort-org.pcap4j.core.PcapPacket-">
425 <!--   -->
426 </a>
427 <ul class="blockList">
428 <li class="blockList">
429 <h4>getSourcePort</h4>
430 <pre>public static&nbsp;int&nbsp;getSourcePort(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
431 <div class="block">Gets the source port of a TCP packet.</div>
432 <dl>
433 <dt><span class="paramLabel">Parameters:</span></dt>
434 <dd><code>packet</code> - The packet for which the source port is to be extracted.</dd>
435 <dt><span class="returnLabel">Returns:</span></dt>
436 <dd>The source port of the <code>TcpPacket</code> encapsulated by <code>packet</code>.</dd>
437 <dt><span class="throwsLabel">Throws:</span></dt>
438 <dd><code>java.lang.IllegalArgumentException</code> - if <code>packet</code> does not encapsulate a <code>TcpPacket</code>.</dd>
439 </dl>
440 </li>
441 </ul>
442 <a name="getDestinationPort-org.pcap4j.core.PcapPacket-">
443 <!--   -->
444 </a>
445 <ul class="blockList">
446 <li class="blockList">
447 <h4>getDestinationPort</h4>
448 <pre>public static&nbsp;int&nbsp;getDestinationPort(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
449 <div class="block">Gets the destination port of a TCP packet.</div>
450 <dl>
451 <dt><span class="paramLabel">Parameters:</span></dt>
452 <dd><code>packet</code> - The packet for which the destination port is to be extracted.</dd>
453 <dt><span class="returnLabel">Returns:</span></dt>
454 <dd>The destination port of the <code>TcpPacket</code> encapsulated by <code>packet</code>.</dd>
455 <dt><span class="throwsLabel">Throws:</span></dt>
456 <dd><code>java.lang.IllegalArgumentException</code> - if <code>packet</code> does not encapsulate a <code>TcpPacket</code>.</dd>
457 </dl>
458 </li>
459 </ul>
460 <a name="isSource-org.pcap4j.core.PcapPacket-java.lang.String-int-">
461 <!--   -->
462 </a>
463 <ul class="blockList">
464 <li class="blockList">
465 <h4>isSource</h4>
466 <pre>public static&nbsp;boolean&nbsp;isSource(org.pcap4j.core.PcapPacket&nbsp;packet,
467                                java.lang.String&nbsp;ip,
468                                int&nbsp;port)</pre>
469 <div class="block">Helper method to determine if the given combination of IP and port matches the source of the given packet.</div>
470 <dl>
471 <dt><span class="paramLabel">Parameters:</span></dt>
472 <dd><code>packet</code> - The packet to check.</dd>
473 <dd><code>ip</code> - The IP to look for in the ip.src field of <code>packet</code>.</dd>
474 <dd><code>port</code> - The port to look for in the tcp.port field of <code>packet</code>.</dd>
475 <dt><span class="returnLabel">Returns:</span></dt>
476 <dd><code>true</code> if the given ip+port match the corresponding fields in <code>packet</code>.</dd>
477 </dl>
478 </li>
479 </ul>
480 <a name="isDestination-org.pcap4j.core.PcapPacket-java.lang.String-int-">
481 <!--   -->
482 </a>
483 <ul class="blockList">
484 <li class="blockList">
485 <h4>isDestination</h4>
486 <pre>public static&nbsp;boolean&nbsp;isDestination(org.pcap4j.core.PcapPacket&nbsp;packet,
487                                     java.lang.String&nbsp;ip,
488                                     int&nbsp;port)</pre>
489 <div class="block">Helper method to determine if the given combination of IP and port matches the destination of the given packet.</div>
490 <dl>
491 <dt><span class="paramLabel">Parameters:</span></dt>
492 <dd><code>packet</code> - The packet to check.</dd>
493 <dd><code>ip</code> - The IP to look for in the ip.dst field of <code>packet</code>.</dd>
494 <dd><code>port</code> - The port to look for in the tcp.dstport field of <code>packet</code>.</dd>
495 <dt><span class="returnLabel">Returns:</span></dt>
496 <dd><code>true</code> if the given ip+port match the corresponding fields in <code>packet</code>.</dd>
497 </dl>
498 </li>
499 </ul>
500 <a name="isSrcIpLocal-org.pcap4j.core.PcapPacket-">
501 <!--   -->
502 </a>
503 <ul class="blockList">
504 <li class="blockList">
505 <h4>isSrcIpLocal</h4>
506 <pre>public static&nbsp;boolean&nbsp;isSrcIpLocal(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
507 <div class="block">Checks if the source IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address, i.e.,
508  if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
509 <dl>
510 <dt><span class="paramLabel">Parameters:</span></dt>
511 <dd><code>packet</code> - The packet for which the source IP address is to be examined.</dd>
512 <dt><span class="returnLabel">Returns:</span></dt>
513 <dd><code>true</code> if <code>packet</code> wraps a <code>IpV4Packet</code> for which the source IP address is a local IP
514          address, <code>false</code> otherwise.</dd>
515 <dt><span class="throwsLabel">Throws:</span></dt>
516 <dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
517 </dl>
518 </li>
519 </ul>
520 <a name="isDstIpLocal-org.pcap4j.core.PcapPacket-">
521 <!--   -->
522 </a>
523 <ul class="blockList">
524 <li class="blockList">
525 <h4>isDstIpLocal</h4>
526 <pre>public static&nbsp;boolean&nbsp;isDstIpLocal(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
527 <div class="block">Checks if the destination IP address of the <code>IpV4Packet</code> contained in <code>packet</code> is a local address,
528  i.e., if it pertains to subnet 10.0.0.0/8, 172.16.0.0/16, or 192.168.0.0/16.</div>
529 <dl>
530 <dt><span class="paramLabel">Parameters:</span></dt>
531 <dd><code>packet</code> - The packet for which the destination IP address is to be examined.</dd>
532 <dt><span class="returnLabel">Returns:</span></dt>
533 <dd><code>true</code> if <code>packet</code> wraps a <code>IpV4Packet</code> for which the destination IP address is a local
534          IP address, <code>false</code> otherwise.</dd>
535 <dt><span class="throwsLabel">Throws:</span></dt>
536 <dd><code>java.lang.NullPointerException</code> - if <code>packet</code> does not encapsulate an <code>IpV4Packet</code>.</dd>
537 </dl>
538 </li>
539 </ul>
540 <a name="isSyn-org.pcap4j.core.PcapPacket-">
541 <!--   -->
542 </a>
543 <ul class="blockList">
544 <li class="blockList">
545 <h4>isSyn</h4>
546 <pre>public static&nbsp;boolean&nbsp;isSyn(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
547 <div class="block">Checks if <code>packet</code> wraps a TCP packet that has the SYN flag set.</div>
548 <dl>
549 <dt><span class="paramLabel">Parameters:</span></dt>
550 <dd><code>packet</code> - A <code>PcapPacket</code> that is suspected to contain a <code>TcpPacket</code> for which the SYN flag is set.</dd>
551 <dt><span class="returnLabel">Returns:</span></dt>
552 <dd><code>true</code> <em>iff</em> <code>packet</code> contains a <code>TcpPacket</code> for which the SYN flag is set,
553          <code>false</code> otherwise.</dd>
554 </dl>
555 </li>
556 </ul>
557 <a name="isAck-org.pcap4j.core.PcapPacket-">
558 <!--   -->
559 </a>
560 <ul class="blockList">
561 <li class="blockList">
562 <h4>isAck</h4>
563 <pre>public static&nbsp;boolean&nbsp;isAck(org.pcap4j.core.PcapPacket&nbsp;packet)</pre>
564 <div class="block">Checks if <code>packet</code> wraps a TCP packet th        at has the ACK flag set.</div>
565 <dl>
566 <dt><span class="paramLabel">Parameters:</span></dt>
567 <dd><code>packet</code> - A <code>PcapPacket</code> that is suspected to contain a <code>TcpPacket</code> for which the ACK flag is set.</dd>
568 <dt><span class="returnLabel">Returns:</span></dt>
569 <dd><code>true</code> <em>iff</em> <code>packet</code> contains a <code>TcpPacket</code> for which the ACK flag is set,
570          <code>false</code> otherwise.</dd>
571 </dl>
572 </li>
573 </ul>
574 <a name="clusterToListOfPcapPackets-org.apache.commons.math3.stat.clustering.Cluster-">
575 <!--   -->
576 </a>
577 <ul class="blockList">
578 <li class="blockList">
579 <h4>clusterToListOfPcapPackets</h4>
580 <pre>public static&nbsp;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;clusterToListOfPcapPackets(org.apache.commons.math3.stat.clustering.Cluster&lt;<a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis">PcapPacketPair</a>&gt;&nbsp;cluster)</pre>
581 <div class="block">Transform a <code>Cluster</code> of <code>PcapPacketPair</code> objects into a <code>List</code> of <code>List</code> of
582  <code>PcapPacket</code> objects.</div>
583 <dl>
584 <dt><span class="paramLabel">Parameters:</span></dt>
585 <dd><code>cluster</code> - A <code>Cluster</code> of <a href="../../../../edu/uci/iotproject/analysis/PcapPacketPair.html" title="class in edu.uci.iotproject.analysis"><code>PcapPacketPair</code></a> objects that needs to be transformed.</dd>
586 <dt><span class="returnLabel">Returns:</span></dt>
587 <dd>A <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects as the result of the transformation.</dd>
588 </dl>
589 </li>
590 </ul>
591 <a name="concatSequences-java.util.List-java.util.List-">
592 <!--   -->
593 </a>
594 <ul class="blockList">
595 <li class="blockList">
596 <h4>concatSequences</h4>
597 <pre>public static&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;concatSequences(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
598                                                                                                          java.util.List&lt;<a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3">Conversation</a>&gt;&nbsp;conversations)</pre>
599 <div class="block">Concatenate sequences in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.
600  We cross-check these with <code>List</code> of <code>Conversation</code> objects to see
601  if two <code>List</code> of <code>PcapPacket</code> objects actually belong to the same <code>Conversation</code>.</div>
602 <dl>
603 <dt><span class="paramLabel">Parameters:</span></dt>
604 <dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of
605           <code>PcapPacket</code> objects that needs to be checked and concatenated.</dd>
606 <dd><code>conversations</code> - A <code>List</code> of <a href="../../../../edu/uci/iotproject/trafficreassembly/layer3/Conversation.html" title="class in edu.uci.iotproject.trafficreassembly.layer3"><code>Conversation</code></a> objects as reference for concatenation.</dd>
607 <dt><span class="returnLabel">Returns:</span></dt>
608 <dd>A <code>List</code> of <code>List</code> of <code>List</code> of
609           <code>PcapPacket</code> objects as the result of the concatenation.</dd>
610 </dl>
611 </li>
612 </ul>
613 <a name="sortSequences-java.util.List-">
614 <!--   -->
615 </a>
616 <ul class="blockList">
617 <li class="blockList">
618 <h4>sortSequences</h4>
619 <pre>public static&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;sortSequences(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures)</pre>
620 <div class="block">Sort the sequences in the <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.
621  The purpose of this is to sort the order of sequences in the sequence list. For detection purposes, we need
622  to know if one sequence occurs earlier/later in time with respect to the other sequences for more confidence
623  in detecting the occurrence of an event.</div>
624 <dl>
625 <dt><span class="paramLabel">Parameters:</span></dt>
626 <dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects that needs sorting.
627                    We assume that innermost <code>List</code> of <code>PcapPacket</code> objects have been sorted ascending
628                    by timestamps. By the time we use this method, we should have sorted it when calling the
629                    <code>clusterToListOfPcapPackets</code> method.</dd>
630 <dt><span class="returnLabel">Returns:</span></dt>
631 <dd>A sorted <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</dd>
632 </dl>
633 </li>
634 </ul>
635 <a name="printSignatures-java.util.List-java.io.PrintWriter-boolean-">
636 <!--   -->
637 </a>
638 <ul class="blockList">
639 <li class="blockList">
640 <h4>printSignatures</h4>
641 <pre>public static&nbsp;void&nbsp;printSignatures(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
642                                    java.io.PrintWriter&nbsp;resultsWriter,
643                                    boolean&nbsp;printToOutput)</pre>
644 <div class="block">Print signatures in <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
645 <dl>
646 <dt><span class="paramLabel">Parameters:</span></dt>
647 <dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of
648           <code>PcapPacket</code> objects that needs to be printed.</dd>
649 <dd><code>resultsWriter</code> - PrintWriter object to write into log file.</dd>
650 <dd><code>printToOutput</code> - Boolean to decide whether to print out to screen or just log file.</dd>
651 </dl>
652 </li>
653 </ul>
654 <a name="extractRangeCorePoints-java.util.List-double-int-">
655 <!--   -->
656 </a>
657 <ul class="blockList">
658 <li class="blockList">
659 <h4>extractRangeCorePoints</h4>
660 <pre>public static&nbsp;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;extractRangeCorePoints(java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&nbsp;pairs,
661                                                                                                 double&nbsp;eps,
662                                                                                                 int&nbsp;minPts)</pre>
663 <div class="block">Extract core point range in the form of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects.</div>
664 <dl>
665 <dt><span class="paramLabel">Parameters:</span></dt>
666 <dd><code>pairs</code> - The pairs for core points extraction.</dd>
667 <dd><code>eps</code> - Epsilon value for the DBSCAN algorithm.</dd>
668 <dd><code>minPts</code> - minPts value for the DBSCAN algorithm.</dd>
669 <dt><span class="returnLabel">Returns:</span></dt>
670 <dd>A <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects that contains core points range
671           in the first and second element.</dd>
672 </dl>
673 </li>
674 </ul>
675 <a name="isRangeBasedMatching-java.util.List-double-java.util.List...-">
676 <!--   -->
677 </a>
678 <ul class="blockList">
679 <li class="blockList">
680 <h4>isRangeBasedMatching</h4>
681 <pre>public static&nbsp;boolean&nbsp;isRangeBasedMatching(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
682                                            double&nbsp;eps,
683                                            java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;...&nbsp;otherSignatures)</pre>
684 <div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
685  We go for a conservative approach (strict matching) when there is no range or there are ranges but the
686  ranges overlap across multiple signatures, e.g., ON and OFF signatures.</div>
687 <dl>
688 <dt><span class="paramLabel">Parameters:</span></dt>
689 <dd><code>signature</code> - The signature we want to check and overwrite if needed.</dd>
690 <dd><code>eps</code> - Epsilon value for the DBSCAN algorithm.</dd>
691 <dd><code>otherSignatures</code> - Other signatures we want to check against this signature.</dd>
692 <dt><span class="returnLabel">Returns:</span></dt>
693 <dd>A boolean that is True when range-based matching is used.</dd>
694 </dl>
695 </li>
696 </ul>
697 <a name="useRangeBasedMatching-java.util.List-java.util.List-">
698 <!--   -->
699 </a>
700 <ul class="blockList">
701 <li class="blockList">
702 <h4>useRangeBasedMatching</h4>
703 <pre>public static&nbsp;java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;useRangeBasedMatching(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
704                                                                                                                java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;corePointRange)</pre>
705 <div class="block">Test the conservativeness of the signatures (basically whether we want strict or range-based matching).
706  We go for a conservative approach (strict matching) when there is no range or there are ranges but the
707  ranges overlap across multiple signatures, e.g., ON and OFF signatures.</div>
708 <dl>
709 <dt><span class="paramLabel">Parameters:</span></dt>
710 <dd><code>signature</code> - The signature we want to check and overwrite if needed.</dd>
711 <dd><code>corePointRange</code> - The core points range of this signature.</dd>
712 <dt><span class="returnLabel">Returns:</span></dt>
713 <dd>A boolean that is True when range-based matching is used.</dd>
714 </dl>
715 </li>
716 </ul>
717 <a name="isConservativeChecking-java.util.List-java.util.List-double-">
718 <!--   -->
719 </a>
720 <ul class="blockList">
721 <li class="blockList">
722 <h4>isConservativeChecking</h4>
723 <pre>public static&nbsp;boolean&nbsp;isConservativeChecking(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signature,
724                                              java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;otherSignature,
725                                              double&nbsp;eps)</pre>
726 <div class="block">Check if there is any overlap between the signature stored in this class and another signature.
727  Conditions:
728  1) If both signatures do not have any range, then we need to do conservative checking (return true).
729  2) If both signatures have the same number of packets/packet lengths, then we check the range; if the
730     numbers of packets/packet lengths are different then we assume that there is no overlap.
731  3) If there is any range in the signatures, then we need to check for overlap.
732  4) If there is overlap for EVERY packet/packet length, then we return true (conservative checking);
733     otherwise false (range-based checking).</div>
734 <dl>
735 <dt><span class="paramLabel">Parameters:</span></dt>
736 <dd><code>signature</code> - A <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects to be checked
737                   for overlaps with the other signature.</dd>
738 <dd><code>otherSignature</code> - A <code>List</code> of <code>List</code> of <code>List</code> of <code>PcapPacket</code> objects to be checked
739                        for overlaps with the signature.</dd>
740 <dd><code>eps</code> - Epsilon value for the DBSCAN algorithm.</dd>
741 <dt><span class="returnLabel">Returns:</span></dt>
742 <dd>A boolean that is true if there is an overlap; false otherwise.</dd>
743 </dl>
744 </li>
745 </ul>
746 <a name="removeSequenceFromSignature-java.util.List-int-">
747 <!--   -->
748 </a>
749 <ul class="blockListLast">
750 <li class="blockList">
751 <h4>removeSequenceFromSignature</h4>
752 <pre>public static&nbsp;void&nbsp;removeSequenceFromSignature(java.util.List&lt;java.util.List&lt;java.util.List&lt;org.pcap4j.core.PcapPacket&gt;&gt;&gt;&nbsp;signatures,
753                                                int&nbsp;sequenceIndex)</pre>
754 <div class="block">Remove a sequence in a signature object.</div>
755 <dl>
756 <dt><span class="paramLabel">Parameters:</span></dt>
757 <dd><code>signatures</code> - A <code>List</code> of <code>List</code> of <code>List</code> of
758           <code>PcapPacket</code> objects.</dd>
759 <dd><code>sequenceIndex</code> - An index for a sequence that consists of {<code>List</code> of <code>List</code> of
760           <code>PcapPacket</code> objects.</dd>
761 </dl>
762 </li>
763 </ul>
764 </li>
765 </ul>
766 </li>
767 </ul>
768 </div>
769 </div>
770 <!-- ========= END OF CLASS DATA ========= -->
771 <!-- ======= START OF BOTTOM NAVBAR ====== -->
772 <div class="bottomNav"><a name="navbar.bottom">
773 <!--   -->
774 </a>
775 <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
776 <a name="navbar.bottom.firstrow">
777 <!--   -->
778 </a>
779 <ul class="navList" title="Navigation">
780 <li><a href="../../../../overview-summary.html">Overview</a></li>
781 <li><a href="package-summary.html">Package</a></li>
782 <li class="navBarCell1Rev">Class</li>
783 <li><a href="package-tree.html">Tree</a></li>
784 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
785 <li><a href="../../../../index-files/index-1.html">Index</a></li>
786 <li><a href="../../../../help-doc.html">Help</a></li>
787 </ul>
788 </div>
789 <div class="subNav">
790 <ul class="navList">
791 <li>Prev&nbsp;Class</li>
792 <li><a href="../../../../edu/uci/iotproject/util/PrintUtils.html" title="class in edu.uci.iotproject.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
793 </ul>
794 <ul class="navList">
795 <li><a href="../../../../index.html?edu/uci/iotproject/util/PcapPacketUtils.html" target="_top">Frames</a></li>
796 <li><a href="PcapPacketUtils.html" target="_top">No&nbsp;Frames</a></li>
797 </ul>
798 <ul class="navList" id="allclasses_navbar_bottom">
799 <li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
800 </ul>
801 <div>
802 <script type="text/javascript"><!--
803   allClassesLink = document.getElementById("allclasses_navbar_bottom");
804   if(window==top) {
805     allClassesLink.style.display = "block";
806   }
807   else {
808     allClassesLink.style.display = "none";
809   }
810   //-->
811 </script>
812 </div>
813 <div>
814 <ul class="subNavList">
815 <li>Summary:&nbsp;</li>
816 <li>Nested&nbsp;|&nbsp;</li>
817 <li>Field&nbsp;|&nbsp;</li>
818 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
819 <li><a href="#method.summary">Method</a></li>
820 </ul>
821 <ul class="subNavList">
822 <li>Detail:&nbsp;</li>
823 <li>Field&nbsp;|&nbsp;</li>
824 <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
825 <li><a href="#method.detail">Method</a></li>
826 </ul>
827 </div>
828 <a name="skip.navbar.bottom">
829 <!--   -->
830 </a></div>
831 <!-- ======== END OF BOTTOM NAVBAR ======= -->
832 </body>
833 </html>