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
- 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
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
Have a look at the license file for details