Difference between revisions of "VRDPI"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Project Development Blog)
(Project Development Blog)
Line 50: Line 50:
 
* Added static methods for retrieving adapter configuration to PacketHelper.
 
* Added static methods for retrieving adapter configuration to PacketHelper.
 
* Created Podium class and podium widget dialog to let the user setup and initiate the packet capture.
 
* Created Podium class and podium widget dialog to let the user setup and initiate the packet capture.
 +
[[File:Screenshot3-27-17.jpg|thumb|right|350px|Podium control widget, VRDPI]]
 +
 +
==== 3/27/17 ====
 +
* Debugged and improved the Podium widget
 +
* Created AdapterButton class to contain the buttons which display the adapter list on the podium.

Revision as of 16:39, 27 March 2017

Contents

Project Overview

The VRDPI is intended to be a tool for deep packet capture and analysis in Virtual Reality. Using standard virtual reality controls (Oculus Touch, Vive Motion Controllers) users will be able to select a network interface to capture and a duration of the capture. Packet capture will be completed in the background (seperate thread) and the results will be displayed inside VR.


Project Goals

  • Render deep packet inspection results in a virtual reality environment. Utilizing the WinPCap library, Unreal Engine 4 with 99% C++ UE4 API.
  • Renders each TCP/UDP session in the form of a packet column. The packet columns representing each session’s packet stream are arrayed in front of the user after capture in the form of a semi-arc.
  • Users will utilize standard VR motion controller interface patterns to navigate the VR environment. Including VR teleportation, direct controller to object manipulations, and controller to remote object at a distance manipulations.
  • User can also resize a packet to make the data displayed on its front face larger and more clear.
  • Information inside the packet is divided into layers which represent each layer of the network stack. Frame layer, Ethernet layer, IP layer, TCP layer, and finally the application layer.
  • Each layer will be color coded. Each layer will display its data in hexadecimal format.

Developer

  • Marlon West

Project Adviser

  • Jurgen Schulze

Technologies

  • Unreal Engine v4.15.1
  • WinPCap Library v4.1.2
  • Oculus Rift
  • HTC Vive

Project Development Blog

3/23/17

First Screenshot of VRDPI
  • Created VRDPI Unreal Engine 4.15.1 Project using the C++ template.
  • Imported relevant class files from DemoA project.
  • Created large (5km x 5km) floor.
  • Created "Target" material in Photoshop (2000x2000) for origin floor indicator. Imported into UE4 as texture.
  • Created blender model for podium. Imported into UE4 as static mesh.
First Packet Capture of VRDPI


3/24/17

  • Created PacketHelper class and linked the WinPCap static library into the project.
  • Extended PacketHelper as a child of FRunnable UE4 class in order to make the packet capture multithreaded.
  • Successfully tested packet capture in VR.


3/25/17

  • Researched how to properly integrate C style callbacks with UE4.
  • Reconfigured PacketHelper class to push data back to PlayerController object.


3/26/17

  • Created PacketHolder class to contain individual packets.
  • Added static methods for retrieving adapter configuration to PacketHelper.
  • Created Podium class and podium widget dialog to let the user setup and initiate the packet capture.
Podium control widget, VRDPI

3/27/17

  • Debugged and improved the Podium widget
  • Created AdapterButton class to contain the buttons which display the adapter list on the podium.