Вы можете начать с чтения RFC, управляющего протоколом FTP. После этого вы сможете понять, как работает протокол FTP, как он отправляет команды, ожидаемые ответы и т. Д.
Вы можете найти ссылку здесь: https://tools.ietf.org/html/rfc959
Кроме этого, вы можете взглянуть на этот репозиторий GitHub. Там вы найдете простой FTP-клиент, который я написал, когда был в универе. Класс FtpConnection
реализует большинство команд, которые вам понадобятся для работы.
Посмотрите на это и как они используются.
https://github.com/Kortex/Simple-FTP-Client