Original Post
🔒 Locked
developing FTP client
Advertisement
There are a number of open source ftp clients; you can just get them and read their code. The Linux command-line ftp client would be a start; being command line might make it somewhat simpler in structure.
I don't quite understand why you want an FTP client, though, as FTP is fairly insecure, both from a cleartext password perspective, and from a port spoofing perspective. If you need to upload data over the web, I'd try to support HTTP POST with the option of running over HTTPS instead.
I don't quite understand why you want an FTP client, though, as FTP is fairly insecure, both from a cleartext password perspective, and from a port spoofing perspective. If you need to upload data over the web, I'd try to support HTTP POST with the option of running over HTTPS instead.
As you'll probably realise, FTP is a really crappy protocol.
It's crappy because it uses two sockets at once. Their data are related, but they are separate sockets. This leads to all sorts of problems with firewalls. It also historically caused security problems (i.e. "bounce" attacks).
If it's some part of another program, I recommend using another protocol. Hey, even TFTP doesn't have that problem (although it has its own problems, i.e. using UDP in a simplistic way makes for terrible performance).
Mark
It's crappy because it uses two sockets at once. Their data are related, but they are separate sockets. This leads to all sorts of problems with firewalls. It also historically caused security problems (i.e. "bounce" attacks).
If it's some part of another program, I recommend using another protocol. Hey, even TFTP doesn't have that problem (although it has its own problems, i.e. using UDP in a simplistic way makes for terrible performance).
Mark
Your biggest problem will probably be the poor UNIX era RPC of the text based "protocol". Specifically if you plan any kind of GUI interface, you'll need to write a parser that attempts to figure out what format directory listings are sent in and parse them. If the client only has to work with one FTP server this won't be a problem. If it's a general purpose client, you'll have lots of fun figuring out why it doesn't work with FTP Server XYZ.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement