This project implements a custom protocol encapsulated in ICMP Echo/Echo Reply messages for trasferring encrypted files. It was created as part of the ISA (Network Applications and Network Administration) course on the Brno University of Technology.
To build the project, use the provided Makefile:
makeThis will generate the secret executable.
The application can run in either client or server mode. Note that root privileges (sudo) are required to open raw sockets.
./secret -l [OPTIONS]./secret -r <file_path> -s <destination_ip> [OPTIONS]For a complete list of arguments and options, run:
./secret --helpFor a full description of the protocol, implementation details, and usage examples, please refer to the documentation:
- Manual:
doc/manual.pdf - Manpage:
doc/secret.1(View withman -l ./doc/secret.1)
A small set of automated tests written in Python were written for the program. They can be found in the tests folder and require Python 3.
To run the tests:
-
First, in the
testsfolder create a virtual python environment:cd tests python3 -m venv .env -
Then, activate the environment:
source .env/bin/activate -
Then the tests can be run with:
sudo .env/bin/pytest