RodrigoSobral2000 / Assignment_2019_IRC

A socket server transferring encrypted (or not) data throught TCP/UDP to a client, while a backup on a proxy is done.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Networks Assignment


Used Technologies 💻


About 📋

A TCP and UDP data transfer application that allows you to request data (encripted or not) from a server using TCP or UDP protocols.

It also allows you to intercepting it with a proxy server.

Here's an illustration

App Model


Running it 🏃

  • Run server
gcc -Wall server.c -o server
./server <port> <max clients>
  • Run proxy
gcc -Wall proxy.c -o proxy
./proxy <port>
...
show # prints the client and server IP addresses, ports and used transfer protocol (TCP/UDP)
save # (dis)ables the backup option, this is, saving the last sent file
losses <number> # define the percentage of lost bytes during an UDP transfer
  • Run client
gcc -Wall client.c -o client
./client <proxy address> <server address> <port> <UDP/TCP>
...
list # sends a file listing request to the server
quit # shuts down the client
download <tcp/udp> <enc/nor> file_name # downloads a file from the server and saves it on downloads folder

Contributors

Licenciatura Engenharia Informática - Universidade de Coimbra
Introdução às Redes de Comunicação - 2019/2020
Coimbra, 17 de dezembro de 2019

🎓 Rodrigo Sobral 🎓 Gustavo Bizarro


License 🔗

Have a look at the license file for details


About

A socket server transferring encrypted (or not) data throught TCP/UDP to a client, while a backup on a proxy is done.

License:MIT License


Languages

Language:C 100.0%