Adding relaxed matching for UNB and UNSW negative experiments.
[pingpong.git] / Code / Projects / PacketLevelSignatureExtractor / execute_layer2_smarthome_intersignature_detection.sh
1 #!/bin/bash
2
3 #set -x # echo invoked commands to std out
4
5 # Base dir should point to the experimental_result folder which contains the subfolders:
6 # - 'smarthome' which contains the traces collected while other devices are idle
7 # - 'standalone' which contains signatures and the traces used to generate the signatures.
8 BASE_DIR=$1
9 readonly BASE_DIR
10
11 OUTPUT_DIR=$2
12 readonly OUTPUT_DIR
13
14 PCAPS_BASE_DIR="$BASE_DIR/smarthome"
15 readonly PCAPS_BASE_DIR
16
17 SIGNATURES_BASE_DIR="$BASE_DIR/standalone"
18 readonly SIGNATURES_BASE_DIR
19
20 PCAP_FILE[1]="$PCAPS_BASE_DIR/amazon-plug/wlan1/amazon-plug.wlan1.detection.pcap"
21 PCAP_FILE[2]="$PCAPS_BASE_DIR/arlo-camera/wlan1/arlo-camera.wlan1.detection.pcap"
22 PCAP_FILE[3]="$PCAPS_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/wlan1/blossom-sprinkler-quickrun.wlan1.detection.pcap"
23 PCAP_FILE[4]="$PCAPS_BASE_DIR/blossom-sprinkler/blossom-sprinkler-mode/wlan1/blossom-sprinkler-mode.wlan1.detection.pcap"
24 PCAP_FILE[5]="$PCAPS_BASE_DIR/dlink-plug/wlan1/dlink-plug.wlan1.detection.pcap"
25 PCAP_FILE[6]="$PCAPS_BASE_DIR/dlink-siren/wlan1/dlink-siren.wlan1.detection.pcap"
26 PCAP_FILE[7]="$PCAPS_BASE_DIR/ecobee-thermostat/ecobee-thermostat-hvac/wlan1/ecobee-thermostat-hvac.wlan1.detection.pcap"
27 PCAP_FILE[8]="$PCAPS_BASE_DIR/ecobee-thermostat/ecobee-thermostat-fan/wlan1/ecobee-thermostat-fan.wlan1.detection.pcap"
28 PCAP_FILE[9]="$PCAPS_BASE_DIR/kwikset-doorlock/wlan1/kwikset-doorlock.wlan1.detection.pcap"
29 PCAP_FILE[10]="$PCAPS_BASE_DIR/nest-thermostat/wlan1/nest-thermostat.wlan1.detection.pcap"
30 PCAP_FILE[11]="$PCAPS_BASE_DIR/rachio-sprinkler/rachio-sprinkler-quickrun/wlan1/rachio-sprinkler-quickrun.wlan1.detection.pcap"
31 PCAP_FILE[12]="$PCAPS_BASE_DIR/rachio-sprinkler/rachio-sprinkler-mode/wlan1/rachio-sprinkler-mode.wlan1.detection.pcap"
32 PCAP_FILE[13]="$PCAPS_BASE_DIR/ring-alarm/wlan1/ring-alarm.wlan1.detection.pcap"
33 PCAP_FILE[14]="$PCAPS_BASE_DIR/roomba-vacuum-robot/wlan1/roomba-vacuum-robot.wlan1.detection.pcap"
34 PCAP_FILE[15]="$PCAPS_BASE_DIR/sengled-bulb/sengled-bulb-onoff/wlan1/sengled-bulb-onoff.wlan1.detection.pcap"
35 PCAP_FILE[16]="$PCAPS_BASE_DIR/sengled-bulb/sengled-bulb-intensity/wlan1/sengled-bulb-intensity.wlan1.detection.pcap"
36 PCAP_FILE[17]="$PCAPS_BASE_DIR/st-plug/wlan1/st-plug.wlan1.detection.pcap"
37 PCAP_FILE[18]="$PCAPS_BASE_DIR/tplink-bulb/tplink-bulb-onoff/wlan1/tplink-bulb-onoff.wlan1.detection.pcap"
38 PCAP_FILE[19]="$PCAPS_BASE_DIR/tplink-bulb/tplink-bulb-color/wlan1/tplink-bulb-color.wlan1.detection.pcap"
39 PCAP_FILE[20]="$PCAPS_BASE_DIR/tplink-bulb/tplink-bulb-intensity/wlan1/tplink-bulb-intensity.wlan1.detection.pcap"
40 PCAP_FILE[21]="$PCAPS_BASE_DIR/tplink-plug/wlan1/tplink-plug.wlan1.detection.pcap"
41 PCAP_FILE[22]="$PCAPS_BASE_DIR/wemo-insight-plug/wlan1/wemo-insight-plug.wlan1.detection.pcap"
42 PCAP_FILE[23]="$PCAPS_BASE_DIR/wemo-plug/wlan1/wemo-plug.wlan1.detection.pcap"
43
44 for i in {1..23}
45 do
46     # ==================================================== AMAZON PLUG =====================================================
47     # DEVICE SIDE
48     ON_ANALYSIS="$SIGNATURES_BASE_DIR/amazon-plug/analyses/amazon-plug-onClusters-device-side.cls"
49     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/amazon-plug/analyses/amazon-plug-offClusters-device-side.cls"
50     ON_SIGNATURE="$SIGNATURES_BASE_DIR/amazon-plug/signatures/amazon-plug-onSignature-device-side.sig"
51     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/amazon-plug/signatures/amazon-plug-offSignature-device-side.sig"
52     RESULTS_FILE="$OUTPUT_DIR/amazon-plug/amazon-plug.wlan1.detection.pcap___device-side-${PCAP_FILE[i]}.detectionresults"
53     SIGNATURE_DURATION="4990"
54     EPSILON="10.0"
55     ON_SKIPPED_PACKETS="-1"
56     OFF_SKIPPED_PACKETS="-1"
57
58     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
59     if [ $i -ne 1 ]
60     then
61         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
62     fi
63     # ======================================================================================================================
64
65     # ==================================================== ARLO CAMERA =====================================================
66     # Has no device side signature.
67
68     # PHONE SIDE (TODO: may possibly be the .incomplete signatures)
69     ON_ANALYSIS="$SIGNATURES_BASE_DIR/arlo-camera/analyses/arlo-camera-onClusters-phone-side.cls"
70     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/arlo-camera/analyses/arlo-camera-offClusters-phone-side.cls"
71     ON_SIGNATURE="$SIGNATURES_BASE_DIR/arlo-camera/signatures/arlo-camera-onSignature-phone-side.sig"
72     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/arlo-camera/signatures/arlo-camera-offSignature-phone-side.sig"
73     RESULTS_FILE="$OUTPUT_DIR/arlo-camera/arlo-camera.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
74     SIGNATURE_DURATION="548"
75     EPSILON="10.0"
76     ON_SKIPPED_PACKETS="-1"
77     #ON_SKIPPED_PACKETS="8"
78     #OFF_SKIPPED_PACKETS="10"
79     OFF_SKIPPED_PACKETS="-1"
80
81     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
82     if [ $i -ne 2 ]
83     then
84         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
85     fi
86     # ======================================================================================================================
87
88     # ============================================= BLOSSOM SPRINKLER QUICK RUN ============================================
89     # DEVICE SIDE
90     ON_ANALYSIS="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/analyses/blossom-sprinkler-quickrun-onClusters-device-side.cls"
91     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/analyses/blossom-sprinkler-quickrun-offClusters-device-side.cls"
92     ON_SIGNATURE="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/signatures/blossom-sprinkler-quickrun-onSignature-device-side.sig"
93     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/signatures/blossom-sprinkler-quickrun-offSignature-device-side.sig"
94     RESULTS_FILE="$OUTPUT_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/blossom-sprinkler-quickrun.wlan1.detection.pcap___device-side-${PCAP_FILE[i]}.detectionresults"
95     SIGNATURE_DURATION="9274"
96     EPSILON="10.0"
97     ON_SKIPPED_PACKETS="-1"
98     #ON_SKIPPED_PACKETS="9"
99     #ON_SKIPPED_PACKETS="11" - from detection PCAP
100     #OFF_SKIPPED_PACKETS="4"
101     OFF_SKIPPED_PACKETS="-1"
102
103     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
104     if [ $i -ne 3 ]
105     then
106         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
107     fi
108
109     # PHONE SIDE
110     ON_ANALYSIS="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/analyses/blossom-sprinkler-quickrun-onClusters-phone-side.cls"
111     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/analyses/blossom-sprinkler-quickrun-offClusters-phone-side.cls"
112     ON_SIGNATURE="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/signatures/blossom-sprinkler-quickrun-onSignature-phone-side.sig"
113     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/signatures/blossom-sprinkler-quickrun-offSignature-phone-side.sig"
114     RESULTS_FILE="$OUTPUT_DIR/blossom-sprinkler/blossom-sprinkler-quickrun/blossom-sprinkler-quickrun.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
115     SIGNATURE_DURATION="3670"
116     EPSILON="10.0"
117     ON_SKIPPED_PACKETS="-1"
118     #ON_SKIPPED_PACKETS="28"
119     #ON_SKIPPED_PACKETS="30" - from detection PCAP
120     #OFF_SKIPPED_PACKETS="8"
121     OFF_SKIPPED_PACKETS="-1"
122
123     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
124     if [ $i -ne 3 ]
125     then
126         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
127     fi
128     # ======================================================================================================================
129
130     # ============================================== BLOSSOM SPRINKLER MODE ================================================
131     # PHONE SIDE
132     ON_ANALYSIS="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-mode/analyses/blossom-sprinkler-mode-onClusters-phone-side.cls"
133     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-mode/analyses/blossom-sprinkler-mode-offClusters-phone-side.cls"
134     ON_SIGNATURE="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-mode/signatures/blossom-sprinkler-mode-onSignature-phone-side.sig"
135     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/blossom-sprinkler/blossom-sprinkler-mode/signatures/blossom-sprinkler-mode-offSignature-phone-side.sig"
136     RESULTS_FILE="$OUTPUT_DIR/blossom-sprinkler/blossom-sprinkler-mode/blossom-sprinkler-mode.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
137     SIGNATURE_DURATION="1977"
138     EPSILON="10.0"
139     ON_SKIPPED_PACKETS="-1"
140     OFF_SKIPPED_PACKETS="-1"
141
142     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
143     if [ $i -ne 4 ]
144     then
145         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
146     fi
147     # ======================================================================================================================
148
149     # ==================================================== D-LINK PLUG =====================================================
150     # DEVICE SIDE
151     ON_ANALYSIS="$SIGNATURES_BASE_DIR/dlink-plug/analyses/dlink-plug-onClusters-device-side.cls"
152     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/dlink-plug/analyses/dlink-plug-offClusters-device-side.cls"
153     ON_SIGNATURE="$SIGNATURES_BASE_DIR/dlink-plug/signatures/dlink-plug-onSignature-device-side.sig"
154     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/dlink-plug/signatures/dlink-plug-offSignature-device-side.sig"
155     RESULTS_FILE="$OUTPUT_DIR/dlink-plug/dlink-plug.wlan1.detection.pcap___device-side-${PCAP_FILE[i]}.detectionresults"
156     SIGNATURE_DURATION="8866"
157     EPSILON="10.0"
158     #ON_SKIPPED_PACKETS="33"
159     ON_SKIPPED_PACKETS="-1"
160     #OFF_SKIPPED_PACKETS="33"
161     OFF_SKIPPED_PACKETS="-1"
162
163     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
164     if [ $i -ne 5 ]
165     then
166         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
167     fi
168
169     # PHONE SIDE
170     ON_ANALYSIS="$SIGNATURES_BASE_DIR/dlink-plug/analyses/dlink-plug-onClusters-phone-side.cls"
171     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/dlink-plug/analyses/dlink-plug-offClusters-phone-side.cls"
172     ON_SIGNATURE="$SIGNATURES_BASE_DIR/dlink-plug/signatures/dlink-plug-onSignature-phone-side.sig"
173     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/dlink-plug/signatures/dlink-plug-offSignature-phone-side.sig"
174     RESULTS_FILE="$OUTPUT_DIR/dlink-plug/dlink-plug.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
175     SIGNATURE_DURATION="193"
176     EPSILON="10.0"
177     ON_SKIPPED_PACKETS="-1"
178     #ON_SKIPPED_PACKETS="2"
179     #ON_SKIPPED_PACKETS="4" - from detection PCAP
180     #OFF_SKIPPED_PACKETS="4"
181     OFF_SKIPPED_PACKETS="-1"
182
183     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
184     if [ $i -ne 5 ]
185     then
186         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
187     fi
188     # ======================================================================================================================
189
190     # ==================================================== D-LINK SIREN ====================================================
191     # PHONE SIDE
192     ON_ANALYSIS="$SIGNATURES_BASE_DIR/dlink-siren/analyses/dlink-siren-onClusters-phone-side.cls"
193     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/dlink-siren/analyses/dlink-siren-offClusters-phone-side.cls"
194     ON_SIGNATURE="$SIGNATURES_BASE_DIR/dlink-siren/signatures/dlink-siren-onSignature-phone-side.sig"
195     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/dlink-siren/signatures/dlink-siren-offSignature-phone-side.sig"
196     RESULTS_FILE="$OUTPUT_DIR/dlink-siren/dlink-siren.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
197     SIGNATURE_DURATION="71"
198     EPSILON="10.0"
199     #ON_SKIPPED_PACKETS="3"
200     #OFF_SKIPPED_PACKETS="5"
201     ON_SKIPPED_PACKETS="-1"
202     OFF_SKIPPED_PACKETS="-1"
203
204     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
205     if [ $i -ne 6 ]
206     then
207         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
208     fi
209     # ======================================================================================================================
210
211     # =============================================== ECOBEE THERMOSTAT HVAC ===============================================
212     # PHONE SIDE
213     ON_ANALYSIS="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-hvac/analyses/ecobee-thermostat-hvac-onClusters-phone-side.cls"
214     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-hvac/analyses/ecobee-thermostat-hvac-offClusters-phone-side.cls"
215     ON_SIGNATURE="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-hvac/signatures/ecobee-thermostat-hvac-onSignature-phone-side.sig"
216     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-hvac/signatures/ecobee-thermostat-hvac-offSignature-phone-side.sig"
217     RESULTS_FILE="$OUTPUT_DIR/ecobee-thermostat/ecobee-thermostat-hvac/ecobee-thermostat-hvac.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
218     SIGNATURE_DURATION="733"
219     EPSILON="10.0"
220     ON_SKIPPED_PACKETS="-1"
221     OFF_SKIPPED_PACKETS="-1"
222
223     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
224     if [ $i -ne 7 ]
225     then
226         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
227     fi
228
229     # ======================================================================================================================
230
231     # =============================================== ECOBEE THERMOSTAT FAN ================================================
232     # PHONE SIDE
233     ON_ANALYSIS="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-fan/analyses/ecobee-thermostat-fan-onClusters-phone-side.cls"
234     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-fan/analyses/ecobee-thermostat-fan-offClusters-phone-side.cls"
235     ON_SIGNATURE="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-fan/signatures/ecobee-thermostat-fan-onSignature-phone-side.sig"
236     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/ecobee-thermostat/ecobee-thermostat-fan/signatures/ecobee-thermostat-fan-offSignature-phone-side.sig"
237     RESULTS_FILE="$OUTPUT_DIR/ecobee-thermostat/ecobee-thermostat-fan/ecobee-thermostat-fan.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
238     SIGNATURE_DURATION="1953"
239     EPSILON="10.0"
240     ON_SKIPPED_PACKETS="-1"
241     OFF_SKIPPED_PACKETS="-1"
242
243     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
244     if [ $i -ne 8 ]
245     then
246         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
247     fi
248
249     # ======================================================================================================================
250
251     # ================================================= KWIKSET DOORLOCK ===================================================
252     # Has no device side signature.
253
254     # PHONE SIDE
255     ON_ANALYSIS="$SIGNATURES_BASE_DIR/kwikset-doorlock/analyses/kwikset-doorlock-onClusters-phone-side.cls"
256     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/kwikset-doorlock/analyses/kwikset-doorlock-offClusters-phone-side.cls"
257     ON_SIGNATURE="$SIGNATURES_BASE_DIR/kwikset-doorlock/signatures/kwikset-doorlock-onSignature-phone-side.sig"
258     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/kwikset-doorlock/signatures/kwikset-doorlock-offSignature-phone-side.sig"
259     RESULTS_FILE="$OUTPUT_DIR/kwikset-doorlock/kwikset-doorlock.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
260     SIGNATURE_DURATION="3161"
261     EPSILON="10.0"
262     #ON_SKIPPED_PACKETS="12"
263     #OFF_SKIPPED_PACKETS="6"
264     #OFF_SKIPPED_PACKETS="33" - from detection PCAP
265     ON_SKIPPED_PACKETS="-1"
266     OFF_SKIPPED_PACKETS="-1"
267
268     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
269     if [ $i -ne 9 ]
270     then
271         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
272     fi
273     # ======================================================================================================================
274
275     # ================================================= NEST THERMOSTAT ====================================================
276     # Has no device side signature.
277
278     # PHONE SIDE
279     ON_ANALYSIS="$SIGNATURES_BASE_DIR/nest-thermostat/analyses/nest-thermostat-onClusters-phone-side.cls"
280     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/nest-thermostat/analyses/nest-thermostat-offClusters-phone-side.cls"
281     ON_SIGNATURE="$SIGNATURES_BASE_DIR/nest-thermostat/signatures/nest-thermostat-onSignature-phone-side.sig"
282     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/nest-thermostat/signatures/nest-thermostat-offSignature-phone-side.sig"
283     RESULTS_FILE="$OUTPUT_DIR/nest-thermostat/nest-thermostat.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
284     SIGNATURE_DURATION="1179"
285     EPSILON="10.0"
286     #ON_SKIPPED_PACKETS="12"
287     #OFF_SKIPPED_PACKETS="39"
288     ON_SKIPPED_PACKETS="-1"
289     OFF_SKIPPED_PACKETS="-1"
290
291     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
292     if [ $i -ne 10 ]
293     then
294         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
295     fi
296     # ======================================================================================================================
297
298     # ============================================== RACHIO SPRINKLER QUICK RUN ============================================
299     # DEVICE SIDE
300     ON_ANALYSIS="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-quickrun/analyses/rachio-sprinkler-quickrun-onClusters-device-side.cls"
301     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-quickrun/analyses/rachio-sprinkler-quickrun-offClusters-device-side.cls"
302     ON_SIGNATURE="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-quickrun/signatures/rachio-sprinkler-quickrun-onSignature-device-side.sig"
303     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-quickrun/signatures/rachio-sprinkler-quickrun-offSignature-device-side.sig"
304     RESULTS_FILE="$OUTPUT_DIR/rachio-sprinkler/rachio-sprinkler-quickrun/rachio-sprinkler-quickrun.wlan1.detection.pcap___device-side-${PCAP_FILE[i]}.detectionresults"
305     SIGNATURE_DURATION="2695"
306     EPSILON="10.0"
307     ON_SKIPPED_PACKETS="-1"
308     OFF_SKIPPED_PACKETS="-1"
309
310     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
311     if [ $i -ne 11 ]
312     then
313         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
314     fi
315     # ======================================================================================================================
316
317     # ================================================= RACHIO SPRINKLER MODE ==============================================
318     # DEVICE SIDE
319     ON_ANALYSIS="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-mode/analyses/rachio-sprinkler-mode-onClusters-device-side.cls"
320     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-mode/analyses/rachio-sprinkler-mode-offClusters-device-side.cls"
321     ON_SIGNATURE="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-mode/signatures/rachio-sprinkler-mode-onSignature-device-side.sig"
322     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/rachio-sprinkler/rachio-sprinkler-mode/signatures/rachio-sprinkler-mode-offSignature-device-side.sig"
323     RESULTS_FILE="$OUTPUT_DIR/rachio-sprinkler/rachio-sprinkler-mode/rachio-sprinkler-mode.wlan1.detection.pcap___device-side-${PCAP_FILE[i]}.detectionresults"
324     SIGNATURE_DURATION="2791"
325     EPSILON="10.0"
326     ON_SKIPPED_PACKETS="-1"
327     OFF_SKIPPED_PACKETS="-1"
328
329     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
330     if [ $i -ne 12 ]
331     then
332         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
333     fi
334     # ======================================================================================================================
335
336     # ===================================================== RING ALARM =====================================================
337     # DEVICE SIDE
338     ON_ANALYSIS="$SIGNATURES_BASE_DIR/ring-alarm/analyses/ring-alarm-onClusters-device-side.cls"
339     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/ring-alarm/analyses/ring-alarm-offClusters-device-side.cls"
340     ON_SIGNATURE="$SIGNATURES_BASE_DIR/ring-alarm/signatures/ring-alarm-onSignature-device-side.sig"
341     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/ring-alarm/signatures/ring-alarm-offSignature-device-side.sig"
342     RESULTS_FILE="$OUTPUT_DIR/ring-alarm/ring-alarm.wlan1.detection.pcap___device-side-${PCAP_FILE[i]}.detectionresults"
343     SIGNATURE_DURATION="665"
344     EPSILON="10.0"
345     ON_SKIPPED_PACKETS="-1"
346     OFF_SKIPPED_PACKETS="-1"
347
348     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
349     if [ $i -ne 13 ]
350     then
351         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
352     fi
353     # ======================================================================================================================
354
355     # ================================================= ROOMBA VACUUM ROBOT ================================================
356     # PHONE SIDE
357     ON_ANALYSIS="$SIGNATURES_BASE_DIR/roomba-vacuum-robot/analyses/roomba-vacuum-robot-onClusters-phone-side.cls"
358     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/roomba-vacuum-robot/analyses/roomba-vacuum-robot-offClusters-phone-side.cls"
359     ON_SIGNATURE="$SIGNATURES_BASE_DIR/roomba-vacuum-robot/signatures/roomba-vacuum-robot-onSignature-phone-side.sig"
360     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/roomba-vacuum-robot/signatures/roomba-vacuum-robot-offSignature-phone-side.sig"
361     RESULTS_FILE="$OUTPUT_DIR/roomba-vacuum-robot/roomba-vacuum-robot.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
362     SIGNATURE_DURATION="5959"
363     EPSILON="10.0"
364     ON_SKIPPED_PACKETS="-1"
365     OFF_SKIPPED_PACKETS="-1"
366
367     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
368     if [ $i -ne 14 ]
369     then
370         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
371     fi
372     # ======================================================================================================================
373
374     # =============================================== SENGLED BULB ON/OFF ==================================================
375     # PHONE SIDE
376     ON_ANALYSIS="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-onoff/analyses/sengled-bulb-onoff-onClusters-phone-side.cls"
377     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-onoff/analyses/sengled-bulb-onoff-offClusters-phone-side.cls"
378     ON_SIGNATURE="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-onoff/signatures/sengled-bulb-onoff-onSignature-phone-side.sig"
379     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-onoff/signatures/sengled-bulb-onoff-offSignature-phone-side.sig"
380     RESULTS_FILE="$OUTPUT_DIR/sengled-bulb/sengled-bulb-onoff/sengled-bulb-onoff.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
381     SIGNATURE_DURATION="10045"
382     EPSILON="10.0"
383     ON_SKIPPED_PACKETS="-1"
384     OFF_SKIPPED_PACKETS="-1"
385
386     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
387     if [ $i -ne 15 ]
388     then
389         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
390     fi
391     # ======================================================================================================================
392
393     # =============================================== SENGLED BULB INTENSITY ===============================================
394     # PHONE SIDE
395     ON_ANALYSIS="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-intensity/analyses/sengled-bulb-intensity-onClusters-phone-side.cls"
396     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-intensity/analyses/sengled-bulb-intensity-offClusters-phone-side.cls"
397     ON_SIGNATURE="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-intensity/signatures/sengled-bulb-intensity-onSignature-phone-side.sig"
398     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/sengled-bulb/sengled-bulb-intensity/signatures/sengled-bulb-intensity-offSignature-phone-side.sig"
399     RESULTS_FILE="$OUTPUT_DIR/sengled-bulb/sengled-bulb-intensity/sengled-bulb-intensity.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
400     SIGNATURE_DURATION="7888"
401     EPSILON="10.0"
402     ON_SKIPPED_PACKETS="-1"
403     OFF_SKIPPED_PACKETS="-1"
404
405     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
406     if [ $i -ne 16 ]
407     then
408         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
409     fi
410     # ======================================================================================================================
411
412     # ====================================================== ST PLUG =======================================================
413     # Has no device side signature.
414
415     # PHONE SIDE
416     ON_ANALYSIS="$SIGNATURES_BASE_DIR/st-plug/analyses/st-plug-onClusters-phone-side.cls"
417     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/st-plug/analyses/st-plug-offClusters-phone-side.cls"
418     ON_SIGNATURE="$SIGNATURES_BASE_DIR/st-plug/signatures/st-plug-onSignature-phone-side.sig"
419     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/st-plug/signatures/st-plug-offSignature-phone-side.sig"
420     RESULTS_FILE="$OUTPUT_DIR/st-plug/st-plug.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
421     SIGNATURE_DURATION="2445"
422     #ON_SKIPPED_PACKETS="136"
423     #OFF_SKIPPED_PACKETS="9"
424     ON_SKIPPED_PACKETS="-1"
425     OFF_SKIPPED_PACKETS="-1"
426
427     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
428     if [ $i -ne 17 ]
429     then
430         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
431     fi
432     # ======================================================================================================================
433
434     # ================================================= TP LINK BULB ON/OFF ================================================
435     # Has no device side signature.
436
437     # PHONE SIDE
438     ON_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-onoff/analyses/tplink-bulb-onoff-onClusters-phone-side.cls"
439     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-onoff/analyses/tplink-bulb-onoff-offClusters-phone-side.cls"
440     ON_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-onoff/signatures/tplink-bulb-onoff-onSignature-phone-side.sig"
441     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-onoff/signatures/tplink-bulb-onoff-offSignature-phone-side.sig"
442     RESULTS_FILE="$OUTPUT_DIR/tplink-bulb/tplink-bulb-onoff/tplink-bulb-onoff.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
443     SIGNATURE_DURATION="162"
444     EPSILON="10.0"
445     #ON_SKIPPED_PACKETS="9"
446     #OFF_SKIPPED_PACKETS="20"
447     ON_SKIPPED_PACKETS="-1"
448     OFF_SKIPPED_PACKETS="-1"
449
450     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
451     if [ $i -ne 18 ]
452     then
453         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
454     fi
455     # ======================================================================================================================
456
457     # ================================================ TP-LINK BULB COLOR ==================================================
458     # Has no device side signature.
459
460     # PHONE SIDE
461     ON_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-color/analyses/tplink-bulb-color-onClusters-phone-side.cls"
462     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-color/analyses/tplink-bulb-color-offClusters-phone-side.cls"
463     ON_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-color/signatures/tplink-bulb-color-onSignature-phone-side.sig"
464     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-color/signatures/tplink-bulb-color-offSignature-phone-side.sig"
465     RESULTS_FILE="$OUTPUT_DIR/tplink-bulb/tplink-bulb-color/tplink-bulb-color.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
466     SIGNATURE_DURATION="191"
467     EPSILON="10.0"
468     #ON_SKIPPED_PACKETS="9"
469     #OFF_SKIPPED_PACKETS="9"
470     ON_SKIPPED_PACKETS="-1"
471     OFF_SKIPPED_PACKETS="-1"
472
473     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
474     if [ $i -ne 19 ]
475     then
476         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
477     fi
478     # ======================================================================================================================
479
480     # ============================================== TP-LINK BULB INTENSITY ================================================
481     # Has no device side signature.
482
483     # PHONE SIDE
484     ON_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-intensity/analyses/tplink-bulb-intensity-onClusters-phone-side.cls"
485     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-intensity/analyses/tplink-bulb-intensity-offClusters-phone-side.cls"
486     ON_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-intensity/signatures/tplink-bulb-intensity-onSignature-phone-side.sig"
487     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-bulb/tplink-bulb-intensity/signatures/tplink-bulb-intensity-offSignature-phone-side.sig"
488     RESULTS_FILE="$OUTPUT_DIR/tplink-bulb/tplink-bulb-intensity/tplink-bulb-intensity.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
489     SIGNATURE_DURATION="209"
490     EPSILON="10.0"
491     #ON_SKIPPED_PACKETS="7"
492     #OFF_SKIPPED_PACKETS="7"
493     ON_SKIPPED_PACKETS="-1"
494     OFF_SKIPPED_PACKETS="-1"
495
496     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
497     if [ $i -ne 20 ]
498     then
499         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
500     fi
501     # ======================================================================================================================
502
503     # ==================================================== TP-LINK PLUG ====================================================
504     # DEVICE SIDE (both the 112, 115 and 556, 1293 sequences)
505     ON_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-plug/analyses/tplink-plug-onClusters-device-side.cls"
506     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-plug/analyses/tplink-plug-offClusters-device-side.cls"
507     ON_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-plug/signatures/tplink-plug-onSignature-device-side.sig"
508     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-plug/signatures/tplink-plug-offSignature-device-side.sig"
509     RESULTS_FILE="$OUTPUT_DIR/tplink-plug/tplink-plug.wlan1.detection.pcap___device-side-${PCAP_FILE[i]}.detectionresults"
510     SIGNATURE_DURATION="3660"
511     EPSILON="10.0"
512     #ON_SKIPPED_PACKETS="33"
513     #OFF_SKIPPED_PACKETS="33"
514     ON_SKIPPED_PACKETS="-1"
515     OFF_SKIPPED_PACKETS="-1"
516
517     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
518     if [ $i -ne 21 ]
519     then
520         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
521     fi
522
523     # DEVICE SIDE OUTBOUND (contains only those packets that go through the WAN port, i.e., only the 556, 1293 sequence)
524     ON_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-plug/analyses/tplink-plug-onClusters-device-side.cls"
525     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/tplink-plug/analyses/tplink-plug-offClusters-device-side.cls"
526     ON_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-plug/signatures/tplink-plug-onSignature-device-side-outbound.sig"
527     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/tplink-plug/signatures/tplink-plug-offSignature-device-side-outbound.sig"
528     RESULTS_FILE="$OUTPUT_DIR/tplink-plug/tplink-plug.wlan1.detection.pcap___device-side-outbound.detectionresults"
529     SIGNATURE_DURATION="224"
530     EPSILON="10.0"
531     #ON_SKIPPED_PACKETS="3"
532     #OFF_SKIPPED_PACKETS="4"
533     ON_SKIPPED_PACKETS="-1"
534     OFF_SKIPPED_PACKETS="-1"
535
536     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
537     ##./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
538
539     # Phone side does not make sense as it is merely a subset of the device side and does not differentiate ONs from OFFs.
540     # ======================================================================================================================
541
542     # ================================================== WEMO INSIGHT PLUG =================================================
543     # Has no device side signature.
544
545     # PHONE SIDE
546     ON_ANALYSIS="$SIGNATURES_BASE_DIR/wemo-insight-plug/analyses/wemo-insight-plug-onClusters-phone-side.cls"
547     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/wemo-insight-plug/analyses/wemo-insight-plug-offClusters-phone-side.cls"
548     ON_SIGNATURE="$SIGNATURES_BASE_DIR/wemo-insight-plug/signatures/wemo-insight-plug-onSignature-phone-side.sig"
549     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/wemo-insight-plug/signatures/wemo-insight-plug-offSignature-phone-side.sig"
550     RESULTS_FILE="$OUTPUT_DIR/wemo-insight-plug/wemo-insight-plug.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
551     SIGNATURE_DURATION="106"
552     EPSILON="10.0"
553     #ON_SKIPPED_PACKETS="5"
554     #OFF_SKIPPED_PACKETS="5"
555     ON_SKIPPED_PACKETS="-1"
556     OFF_SKIPPED_PACKETS="-1"
557
558     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
559     if [ $i -ne 22 ]
560     then
561         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
562     fi
563     # ======================================================================================================================
564
565     # ===================================================== WEMO PLUG ======================================================
566     # Has no device side signature.
567
568     # PHONE SIDE
569     ON_ANALYSIS="$SIGNATURES_BASE_DIR/wemo-plug/analyses/wemo-plug-onClusters-phone-side.cls"
570     OFF_ANALYSIS="$SIGNATURES_BASE_DIR/wemo-plug/analyses/wemo-plug-offClusters-phone-side.cls"
571     ON_SIGNATURE="$SIGNATURES_BASE_DIR/wemo-plug/signatures/wemo-plug-onSignature-phone-side.sig"
572     OFF_SIGNATURE="$SIGNATURES_BASE_DIR/wemo-plug/signatures/wemo-plug-offSignature-phone-side.sig"
573     RESULTS_FILE="$OUTPUT_DIR/wemo-plug/wemo-plug.wlan1.detection.pcap___phone-side-${PCAP_FILE[i]}.detectionresults"
574     SIGNATURE_DURATION="147"
575     EPSILON="10.0"
576     #ON_SKIPPED_PACKETS="4"
577     #OFF_SKIPPED_PACKETS="4"
578     ON_SKIPPED_PACKETS="-1"
579     OFF_SKIPPED_PACKETS="-1"
580
581     PROGRAM_ARGS="'${PCAP_FILE[i]}' '$ON_ANALYSIS' '$OFF_ANALYSIS' '$ON_SIGNATURE' '$OFF_SIGNATURE' '$RESULTS_FILE' '$SIGNATURE_DURATION' '$EPSILON' '$ON_SKIPPED_PACKETS' '$OFF_SKIPPED_PACKETS'"
582     if [ $i -ne 23 ]
583     then
584         ./gradlew run -DmainClass=edu.uci.iotproject.detection.layer2.Layer2SignatureDetector --args="$PROGRAM_ARGS"
585     fi
586     # ======================================================================================================================
587 done