在C中使用BSD套接字实现FTP

时间:2012-03-05 02:07:53

标签: c sockets ftp

我需要在BSD套接字中编写一个程序,其行为类似于传输文件内容的文件传输协议。它必须在客户端和服务器之间使用两个TCP连接。

如果不是代码,请提供任何其他参考资料,例如实施的流程图或算法。

2 个答案:

答案 0 :(得分:3)

尝试浏览可用的FTP文档here

答案 1 :(得分:1)

如果您需要遵守历史FTP实施,ard's answer应该会有所帮助。确保您的实施不会受到允许攻击者在执行TCP端口扫描时“隐藏”其IP地址的FTP bounce vulnerability的影响。

但是,我想建议双连接方法是错误的 - 它使NAT遍历变得更加复杂。此外,由于历史FTP规范没有指定目录列表格式,因此更难以解析创建图形工具的意图(并且人类读者可能会感到困惑)。

SFTP协议不会遇到这些问题。当然,它也复杂得多;但是,它可以更可靠地遍历NAT防火墙,并提供明确的解析。