Network Traffic based Application Identification Demonstrator (Net AI) GUI. Kenny Nguyen 4150864@swin.edu.au



Similar documents
IT6503 WEB PROGRAMMING. Unit-I

Creating a Simple, Multithreaded Chat System with Java

Upload Data in Web Dynpro Table from a Text File with Delimiters

Building a Multi-Threaded Web Server

Java Programming Unit 10. Stock Price Quotes with URL, Sockets, and RMI

Network Communication

CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus

Using NetBeans IDE to Build Quick UI s Ray Hylock, GISo Tutorial 3/8/2011

Semester Thesis Traffic Monitoring in Sensor Networks

Java Network Programming. The java.net package contains the Socket class. This class speaks TCP (connection-oriented protocol).

Socket-based Network Communication in J2SE and J2ME

An apparatus for P2P classification in Netflow traces

public static void main(string[] args) { System.out.println("hello, world"); } }

First Java Programs. V. Paúl Pauca. CSC 111D Fall, Department of Computer Science Wake Forest University. Introduction to Computer Science

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

Java the UML Way: Integrating Object-Oriented Design and Programming

Adding HTML5 to your Android applications. Martin Gunnarsson & Pär Sikö

DEVELOPING CONTRACT - DRIVEN WEB SERVICES USING JDEVELOPER. The purpose of this tutorial is to develop a java web service using a top-down approach.

Early Recognition of Encrypted Applications

Lesson: All About Sockets

Chapter 2 Quality of Service (QoS)

How To Classify Network Traffic In Real Time

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR

Module 1: Sensor Data Acquisition and Processing in Android

Introduction to Wireshark Network Analysis

Network Trace Analysis

CS506 Web Design and Development Solved Online Quiz No. 01

INPUT AND OUTPUT STREAMS

Using LDAP Authentication in a PowerCenter Domain

Andover Continuum. Network Security Configuration Guide

R&S AFQ100A, R&S AFQ100B I/Q Modulation Generator Supplement

Clustering with Tomcat. Introduction. O'Reilly Network: Clustering with Tomcat. by Shyam Kumar Doddavula 07/17/2002

Software Design. Software Design. Software design is the process that adds implementation details to the requirements.

String sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.

DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7

Computing Concepts with Java Essentials

MULTI WAN TECHNICAL OVERVIEW

NetFlow Analytics for Splunk

Basic Programming and PC Skills: Basic Programming and PC Skills:

Configuring SonicWALL TSA on Citrix and Terminal Services Servers

Specialized Programme on Web Application Development using Open Source Tools

Liferay, Alfresco, SSO and LDAP Full Integration

Witango Application Server 6. Installation Guide for Windows

Java Appletek II. Applet GUI

KNIME TUTORIAL. Anna Monreale KDD-Lab, University of Pisa

Near Real Time Online Flow-based Internet Traffic Classification Using Machine Learning (C4.5)

Ad Hoc Reporting. Usage and Customization

JAVA FRAMEWORK FOR SIGNATURE BASED NETWORK INTRUSION DETECTION SYSTEM

Dev Articles 05/25/07 11:07:33

The Java I/O System. Binary I/O streams (ascii, 8 bits) The decorator design pattern Character I/O streams (Unicode, 16 bits)

Snoopy. Objective: Equipment Needed. Background. Procedure. Due Date: Nov 1 Points: 25 Points

Mobile Solutions for Data Collection. Sarah Croft and Laura Pierik

Call Centre: Supervisor Tasks. Call Centre Supervisor Interface

Chapter 5 Configuring QoS

VisuSniff: A Tool For The Visualization Of Network Traffic

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Novell Identity Manager

COSC 6397 Big Data Analytics. Mahout and 3 rd homework assignment. Edgar Gabriel Spring Mahout

Help on the Embedded Software Block

Project Proposal. Data Storage / Retrieval with Access Control, Security and Pre-Fetching

Running a Program on an AVD

BCA 421- Java. Tilak Maharashtra University. Bachelor of Computer Applications (BCA) 1. The Genesis of Java

Mail User Agent Project

It has a parameter list Account(String n, double b) in the creation of an instance of this class.

Create, Link, or Edit a GPO with Active Directory Users and Computers

Applets, RMI, JDBC Exam Review

JAVA Program For Processing SMS Messages

Web Development using PHP (WD_PHP) Duration 1.5 months

Accessing PostgreSQL through JDBC via a Java SSL tunnel

Parallels Plesk Panel

Java - gently. Originaux. Prérequis. Objectifs

Installation and Operation Manual Portable Device Manager, Windows version

What is an I/O Stream?

CYBER SCIENCE 2015 AN ANALYSIS OF NETWORK TRAFFIC CLASSIFICATION FOR BOTNET DETECTION

CRYPTOGRAPHY 456 ANDROID SECURE FILE TRANSFER W/ SSL

Embedded BI made easy

Advanced Network Programming Lab using Java. Angelos Stavrou

HP IMC User Behavior Auditor

BHARATHIAR UNIVERSITY COIMBATORE SCHOOL OF DISTANCE EDUCATION

How to develop your own app

GUIs with Swing. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2012

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

Explain the relationship between a class and an object. Which is general and which is specific?

Working With Virtual Hosts on Pramati Server

ANDROID INTRODUCTION TO ANDROID

Network FAX Driver. Operation Guide

Multicast monitoring and visualization tools. A. Binczewski R. Krzywania R. apacz

Swing. A Quick Tutorial on Programming Swing Applications

Visualising Java Data Structures as Graphs

Visual Firewall Rule Builder

Transcription:

Network Traffic based Application Identification Demonstrator (Net AI) GUI Kenny Nguyen 4150864@swin.edu.au Supervisor: Sebastian Zander CAIA INTERNSHIP Outline Motivation Design Implementation Demonstration Conclusion and Future work http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 2 Swinburne University of Technology 1

Motivation Involve with CAIA (research community, great place to learn) Passion for programming Algorithm GUI application http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 3 Why Packet Classification Simple: Fair Dinkum Business No longer depends on: Port Identification Stateful Reconstruction Signature-based method Alternative (Proposal): Machine Learning Algorithm Identify end-host application Priority Traffic Queuing Meet the demand of QOS requirement Detection, Security, Surveillance Traverse efficiently, problem-free, with high performance http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 4 Swinburne University of Technology 2

Design Use Model View Controller. Object - Oriented Design (Modularity) Heuristics Rules of thumb : Structure of individual classes and objects Collaboration, containment, association Inheritance, including multi inheritance Then easy to accommodate new requirements. http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 5 Design Packet Sniffing (Online) Traces (Offline) Receiving Socket (DatagramSocket) Model, Training (Weka) Packet Classification Machine Learning (Weka) Model (DefaultTableModel) Control (TableSorter) View (JTable) GUI A P P L I C A T I O N Incoming Traffic Receiving Traffic Classification Model View Control Ready Reckoner http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 6 Swinburne University of Technology 3

Implementation (aka Coding) Java (Platform Independent, wide spectrum) Java Version 1.5 Java AWT and Swing packages Thread, HashMap, StringTokenizer. http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 7 Implementation try { BufferedReader reader = new BufferedReader(new FileReader("license.txt")); JTextArea text = new JTextArea(8, 50); String line; while ((line = reader.readline())!= null) { text.append(line); text.append("\n"); } text.setcaretposition(0); text.setfont(new Font("Dialog", Font.PLAIN, 12)); text.seteditable(false); text.setforeground(new Color(0,0,225)); JOptionPane.showMessageDialog( pane, new JScrollPane(text), "Licensing: Please email Grenville Armitage <garmitage@swin.edu.au> ", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("swin.jpg")); } http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 8 Swinburne University of Technology 4

Implementation try { File f = new File("port.txt"); FileInputStream fis = new FileInputStream(f); BufferedInputStream bis = new BufferedInputStream(fis); dis = new BufferedReader(new InputStreamReader(bis)); // read the first record of the database while ( (dbrecord = dis.readline())!= null) { StringTokenizer st = new StringTokenizer(dbRecord); key = st.nexttoken(); value = ""; while (st.hasmoretokens()) { value = value + " " + st.nexttoken(); } portnumber.put(key,value); } } http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 9 Implementation public int compare(object o1, Object o2) { String s1 = (String) o1; String s2 = (String) o2; int index = s1.indexof(" "); String s1prefix = s1.substring((index + 1)); double s1number = Double.parseDouble(s1.substring(0, index)); index = s2.indexof(" "); String s2prefix = s2.substring((index + 1)); double s2number = Double.parseDouble(s2.substring(0, index)); if (!s1prefix.equals(s2prefix)) { return s1prefix.compareto(s2prefix); } else { return s1number > s2number? 1 : s1number < s2number? -1 : 0; } } http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 10 Swinburne University of Technology 5

Demonstration http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 11 Conclusion Running and testing under java 1.5 successfully. Easy to use GUI application Monitor & Classify network traffic Separate active and completed traffic Learning from Project Strengthen programming, research skills Day to day professionalism http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 12 Swinburne University of Technology 6

Future work Save file in different format (CSV, XML, Excel Style Sheet, etc). Open traffic capture (flow statistics) file into table to analyse Create new Panel to analyse network traffic and provide statistic. Implement configuration dialog Implement filter function http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 13 We re there Thank you for listening Questions http://caia.swin.edu.au 4150864@swin.edu.au 17 February 2006 Page 14 Swinburne University of Technology 7