Реализация FTP с использованием BSD сокетов в C - PullRequest
1 голос
/ 05 марта 2012

Мне нужно написать программу в сокетах BSD, которая ведет себя как протокол передачи файлов для передачи содержимого файла.Он должен использовать два TCP-соединения между клиентом и сервером.

Если это не код, предоставьте любой другой справочный материал, такой как блок-схема или алгоритм реализации.

Ответы [ 2 ]

3 голосов
/ 05 марта 2012

Попробуйте просмотреть доступную документацию по FTP здесь .

1 голос
/ 05 марта 2012

Если вам нужно придерживаться исторической реализации FTP, ответ ard должен быть полезен.Убедитесь, что ваша реализация не страдает от уязвимости отказов FTP , которая позволяет злоумышленникам «скрывать» свой IP-адрес при выполнении сканирования портов TCP.

Однако я хотел бы предложить, чтобыподход с двумя соединениями является неправильным - он значительно усложняет обход NAT.Кроме того, поскольку историческая спецификация FTP не определяет формат списка каталогов, более сложно анализировать с целью создания графических инструментов (и читатели могут запутаться).

SFTP протокол не страдает этими проблемами.Конечно, это также значительно сложнее;тем не менее, он может проходить через брандмауэры NAT намного надежнее и обеспечивает однозначный анализ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...