Skip to content

NEU-SNS/wehe-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wehe

This software is licensed under the Apache License (see LICENSE.txt).

How to run a replay step by step:

Set up Wehe server:

  • Follow the steps in rootcahowto.txt to generate a self-signed certificate for secured communication.
  • Change the folders.txt to where the replay files are ( e.g., /replayTraces/Amazon_12122018/ by default)
  • Start the replay servers by ./restartServers.sh

Using the Wehe app to test:

  • Assume the server address is 1.2.3.4. Change the default setting in Settings to manually set the server address to 1.2.3.4 before running a Wehe test.

Using the python Wehe client:

  • Assume the server address is 1.2.3.4. Add another entry in class Instance in python_lib.py for 'test_server : 1.2.3.4' . You can then run a replay of the recorded traffic
python replay_client.py --pcap_folder=the/dir/to/pcap --serverInstance= test_server

How to create your own replay

Record the traffic by using tcpdump, e.g., running tcpdump while watching a video and save the pcap file as app1.pcap. We will use the parser script to process the pcap and create the replay files (in JSON format) that can be used by the client and server.

Assume the pcap is stored in the/dir/to/pcap.

On the client:

  • Create the pickle with original payload
sudo python replay_parser.py --pcap_folder=the/dir/to/pcap
  • To randomize the payload in the original traffic (replace the original content with random strings)
sudo python replay_parser.py --pcap_folder=the/dir/to/pcap --randomPayload=True --pureRandom=True
  • Do bit inversion in the original traffic (invert every bit in the content)
sudo python replay_parser.py --pcap_folder=the/dir/to/pcap --randomPayload=True --bitInvert=True
  • Copy the replay directory (the/dir/to/pcap) to the server via scp

Containerization

This API has been containerized. To run it within a container first go to the cloned directory and build with

sudo docker build . -t wehe

Then run with

sudo docker run -v <where/the/certs/are>:/wehe/ssl -v <where/to/save/the/output/on/host>:/data/RecordReplay --env SUDO_UID=$UID --net=host -itd wehe

Remove d from -itd to run outside of detached mode and see the output in STDOUT

About

Wehe server and desktop client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages