【问题标题】:Implementation of FTP using BSD sockets in C在 C 中使用 BSD 套接字实现 FTP
【发布时间】:2012-03-05 02:07:52
【问题描述】:

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

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

【问题讨论】:

  • 为什么不直接使用现有的 FTP API?

标签: c sockets ftp


【解决方案1】:

尝试浏览可用的 FTP 文档here

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      相关资源
      最近更新 更多