This repository contains the source code for the SnailLoad example webserver, as showcased on http://demo.snailload.com
The webserver demonstrates that TCP round trip times carry side-channel information about the current network activity on a victim's internet connection. The code shows how a Linux server process obtains network latency traces from a TCP connection initiated by the victim. The demo webserver slowly generates a BMP file from the measured latencies on the fly and progressively sends it to the victim. This demonstrates the most central claim of the SnailLoad paper: The network latency side channel can be observed from arbitrary TCP connections.
- Clone the repo:
git clone https://github.com/IAIK/SnailLoad.git
- Change into the
SnailLoad/demo_server
directory:cd SnailLoad/demo_server
. - Compile the server binary:
make
- Copy the
demo_server
binary andindex_html
to your virtual or dedicated server. - Log in to your server via SSH.
- If the server binary should use a TCP port below 1024, adjust the capabilities:
sudo setcap cap_net_bind_service+ep demo_server
- Start the server binary on the designated TCP port:
./demo_server -p $PORT
, with$PORT
being the port number.