Skip to content

Igor-Lacko/file-transfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FTOI - File Transfer Over ICMP

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.

Build

To build the project, use the provided Makefile:

make

This will generate the secret executable.

Usage

The application can run in either client or server mode. Note that root privileges (sudo) are required to open raw sockets.

Server (Listen Mode)

./secret -l [OPTIONS]

Client (Send/Receive Mode)

./secret -r <file_path> -s <destination_ip> [OPTIONS]

For a complete list of arguments and options, run:

./secret --help

Documentation

For a full description of the protocol, implementation details, and usage examples, please refer to the documentation:

Testing

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:

  1. First, in the tests folder create a virtual python environment:

    cd tests
    python3 -m venv .env
  2. Then, activate the environment:

    source .env/bin/activate
  3. Then the tests can be run with:

    sudo .env/bin/pytest

About

Client server application allowing transfering files through a hidden channel via ICMP/ICMPv6 Echo Request/Response messages.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors