1 package edu.uci.iotproject;
3 import org.pcap4j.core.*;
4 import org.pcap4j.packet.*;
5 import org.pcap4j.packet.DnsPacket;
6 import org.pcap4j.packet.namednumber.DnsResourceRecordType;
8 import java.io.EOFException;
9 import java.net.Inet4Address;
10 import java.net.UnknownHostException;
12 import java.util.concurrent.TimeoutException;
15 * This is a system that reads PCAP files to compare
16 * patterns of DNS hostnames, packet sequences, and packet
17 * lengths with training data to determine certain events
18 * or actions for smart home devices.
20 * @author Janus Varmarken
21 * @author Rahmadi Trimananda (rtrimana@uci.edu)
27 public static void main(String[] args) throws PcapNativeException, NotOpenException, EOFException, TimeoutException, UnknownHostException {
28 //final String fileName = "/users/varmarken/Desktop/wlan1.local.dns.pcap";
29 final String fileName = "/home/rtrimana/pcap_processing/smart_home_traffic/Code/Projects/SmartPlugDetector/pcap/wlan1.local.remote.dns.pcap";
31 // ====== Debug code ======
34 handle = Pcaps.openOffline(fileName, PcapHandle.TimestampPrecision.NANO);
35 } catch (PcapNativeException pne) {
36 handle = Pcaps.openOffline(fileName);
38 FlowPatternFinder fpf = new FlowPatternFinder(handle, FlowPattern.TP_LINK_LOCAL_ON);
41 // ========================