Skip to content

A study of File transfer over FTP comparing Socket Programming (ftplib, pyftpdlib) and Filezilla

Notifications You must be signed in to change notification settings

Swapneel01/File-transfer-Using-FTP-through-Socket-Programming-and-FileZilla

Repository files navigation

File-transfer-Using-FTP-through-Socket-Programming-and-FileZilla

A prerequisite for all the programs above is the fact that all the PCs involved, both the server and the client should be connected to the same WiFi network and the IP address of the server should be entered and changed in the code. We have also included the screenshots as well as the packet captures using WireShark which is a very popular packet sniffing software through which the packets can be analysed and request made by the client or the server can be seen.

Message Transfer

We have used socket programming to transfer messages on the command prompt from the client to the server and then the server replies with the same message.

File Transfer

FileZilla

We have used FileZilla which is a very popular FTP client available for free (download here) and for the server we made use of Universal FTP server which is available for free from the Microsoft Store (download here). We connected the 2, transferred the files and captured the packets so that they can be compared to the FTP implementation using Python.

FTP

On the server side we have made use of pyftpdlib (more info here) and for the client we have used ftplib (more info here). The server supports multithreading as well, as in multiple clients can log in at the same time and access the server.

TCP

We have made use of Socket Programming, but before that we have read the text files, transferred the contents as message and again stored it as a text file on the client side.


In all the cases above, the server should be running before the client, this is very important.