在学习FTP文件上传下载之前,了解一些FTP的基础知识,并学习搭建FTP服务器。

什么是FTP

定义: FTP(File Transfer Protocol )文件传输协议,是用于计算机文件的客户机和服务器之间的计算机网络上的传送标准的网络协议。

模型: FTP建立在客户端 - 服务器模型架构上,并在客户端和服务器之间使用单独的控制和数据连接。

登录方式: FTP用户可以使用明文登录协议进行身份验证,通常以用户名和密码的形式进行身份验证,但如果服务器配置为允许,则可以匿名连接。为了保护用户名和密码,并加密内容的安全传输,FTP经常固定与SSL / TLS(FTPS)。有时也使用SSH文件传输协议(SFTP)来代替; 它在技术上是不同的。

工作模式: FTP可以以主动或被动模式运行,这决定了数据连接的建立方式。在这两种情况下,客户端从随机(通常是非特权的)端口 N到FTP服务器命令端口21 创建TCP控制连接。

安全: FTP不是被设计成一个安全的协议,并有许多安全弱点。 FTP不加密其流量; 所有的传输都是明文形式的,任何能够在网络上执行数据包捕获(嗅探)的用户都可以读取用户名,密码,命令和数据。在创建诸如TLS或SSL之类的加密机制之前设计的许多互联网协议规范(例如SMTP,Telnet,POP和IMAP)都会遇到这个问题。

  • 蛮力攻击
  • FTP反弹攻击
  • 盗取港口(猜测下一个开放的港口并篡改合法的连接)
  • 欺骗攻击
  • 用户名枚举

这个问题的常见解决方案包括:

  • 使用不安全协议的安全版本,例如FTPS替代FTP,TelnetS替代Telnet。
  • 使用另一个可以处理作业的更安全的协议,例如SSH文件传输协议(SFTP)或安全复制协议(SCP)。
  • 使用安全外壳(SSH)或虚拟专用网络(v*n)等安全通道。

常见的FTP软件

  • Server-U
    Serv-U是一种被广泛运用的FTP服务器端软件,支持3x/9x/ME/NT/2K/2000/xp等全Windows系列。可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。 它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全等。通过使用Serv-U,用户能够将任何一台PC 设置成一个FTP 服务器。

  • FileZilla
    是一款经典的开源FTP解决方案,FileZilla_Server包括FileZilla客户端FileZillaServer 。其中,FileZillaServer的功能比起商业软件FTP Serv-U毫不逊色。无论是传输速度还是安全性方面,都是非常优秀的一款。

  • VsFTP
    VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
    安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。
  • IIS FTP
    IIS是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和Windows Server 2003一起发行,但在Windows XP Home版本上并没有IIS。IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。

搭建FTP服务器

搭建FTP服务器

在window7下,搭建IIS FTP服务器。这里只列出简单的步骤,更详细的图文介绍见参考资料。

  1. 安装FTP服务器
    • 打开“控制面板”的“程序和功能”,进入到“程序和功能”的界面,
    • 选择左侧的“打开或关闭Windows功能”,打开“Windows”功能对话框:
    • 展开“Internet信息服务”节点,选中“FTP服务器”子节点。
  2. 启动Microsoft FTP Service
    • 在“服务”中,启动Microsoft FTP Service。
  3. 在IIS中添加FTP站点
    • 打开“控制面板”的“管理工具”,选择进入“Internet信息服务(IIS)管理器”界面。
    • “网站”右键选择“添加FTP站点”,然后依次操作。
  4. 登录

遇到的问题

1.在配置ip地址时,只能选择“全部未分配”或者设置127.0.0.1,设置成本机ip无法访问,用127.0.0.1可以访问。该问题在部署本地web项目时也会遇到。
原因与解决:使用了QQ电脑管家的wifi共享精灵,可能是复合网路冲突了,关闭了就可以。


2.无法启动IIS服务
在“服务”中无法启动World Wide Web Publishing Services
原因与解决:缺少c:\inetpub\temp\apppools目录,可能被误删了,创建一个空的目录就可以了。


参考资料

File Transfer Protocol - Wikipedia
iis(互联网信息服务)_百度百科
FTP服务器_百度百科
在Win7的IIS上搭建FTP服务及用户授权
Windows 7 IIS 无法启动终极解决方案
Tomcat通过ip不能访问,但localhost和127.0.0.1可以访问

相关文章: