目录
前言:
简单了解下FTP,FTP是什么?
FTP(文件传输协议)是一种用于在网络上进行文件传输的标准协议。通过FTP,用户可以从服务器上下载或上传文件,实现文件的远程访问和共享。
FTP协议可以在多种网络环境下工作,包括局域网、互联网和广域网等。它使用TCP/IP协议作为传输层协议,提供可靠的、面向连接的数据传输服务。
FTP服务器是指运行FTP协议的计算机,通常用于存储和管理文件。客户端是指使用FTP协议进行文件传输的计算机或应用程序。
除了常见的主动模式和被动模式外,FTP还有其他一些功能和特点,例如支持多种数据传输模式(二进制和文本模式)、支持登录验证、支持文件权限和目录结构等。
在实际应用中,FTP通常用于网站的主机服务、文件存储和备份、软件更新、数据迁移等方面。同时,也有一些安全措施可以加强FTP服务器的安全性,例如使用SSL加密通信、设置用户权限和访问控制等。
一、FTP主被动模式详解
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式(如果是IPv6,则分别是EPRT和EPSV)。主动被动都是相对于服务器来说的
1.被动模式
FTP默认使用被动模式传输数据,如图所示FTP登录成功后,客户端向服务器发送PASV指令,告诉服务器使用的被动模式。服务器接受指令后,开放一个随机端口(端口大于1024),并将该端口信息回复客户端。客户端接受到服务器传来的端口信息后,建立一条数据链路来传送数据。
2.主动模式
如图所示FTP登录成功后,由客户端开放一个随机端口(端口大于1024)后向服务器发送PORT指令,告诉服务器使用的主动模式。于是服务器从20端口向客户端开放的随机端口发送连接请求,建立一条数据链路来传送数据。
3.主被动模式的区别
由上面的连接图可以得出,二者的区别主要在于建立数据传输连接的时候,主模式的连接发起方为服务器端,使用20号端口连接客户端的端口建立数据连接;被动模式连接发起方为客户端,客户端使用端口号+1去连接服务器的端口建立数据连接;
二、FTP服务架设
本篇以 windows server 2008 为例,操作均在VMware 16 pro 搭建的windows server 2008 环境下完成。
1、环境要求
安装有windows server 2008或者其他服务器版本的window操作系统的机器
2、创建用户组
server 2008对用户组和用户的管理比较严格,而且我们作为一个ftp服务器,肯定涉及到非常多的用户,单独使用用户来管理工作量非常大而且不显示,所以这里我们首先创建一个用户组ftpGroup
打开 服务器管理器、左侧菜单:配置 -> 本地用户和组 -> 组 在组上右键 -> 新建组 填入组名,点击创建
3、创建用户
左侧菜单:配置 -> 本地用户和组 -> 用户 在用户上右键 -> 新用户 填入条件、创建
创建完成后找到刚创好的用户右键 -> 属性 -> 隶属于,将图中原有的隶属关系删除,添加
在新弹出的窗口中点击高级,再次弹出窗口、立即查找找到之前创建好的组,确定。
4、安装FTP服务器
左侧菜单:角色 在角色上右键 -> 添加角色,进行下一步,找到web服务器(IIS)进行两次下一步后找到并勾选ftp服务器继续下一步安装等待完成即可
5、配置FTP服务器
左侧菜单:角色 -> web服务器 -> internet信息服务(IIS)管理器。 在网站上右键->添加FTP站点。填写站点名称,选择物理路径,点击下一步。 站点名称不要包含中文、物理路径为本地文件夹、没有SSL证书,选择无,下一步,身份验证选择基本 授权选择指定角色或用户组。 ftpGroup (这里使用我们第一步创建的ftp分组) 权限(读写权限)完成。
6、设置目录权限
找到磁盘文件,右键->属性、切换到安全标签,点击编辑、点击添加、高级设置、立即查找找到ftpGroup确定即可
7、重启服务器(可选)
由于涉及用户组的变更,可能需要重启后才能生效。建议重启服务器后再测试连接。 否则可能导致无法连接ftp服务器
在服务器管理器中找到上述操作创建的ftpserver,在右侧菜单中点击重新启动
三、FTP服务器连接验证
1.本机浏览器验证
Win + R 打开命令行窗口 输入ftp:\\localhost。用户名为 ftptest 上述操作中创建的用户、登录后显示页面
2.局域网访问验证
1.设置入站规则
左侧菜单:配置 ->高级安全 Windows 防火墙 -> 入站规则,找到“FTP 服务器(FTP 流入量)”右键属性,在程序和服务一栏中复制图中指示的部分
左侧菜单:配置 ->高级安全 Windows 防火墙 -> 入站规则、右键新建规则。选中程序,下一步、在程序路径中粘贴上述操作复制的路径,紧接着弹出窗口,是、重复下一步完成操作
2.设置访问
Win + R 打开命令行窗口 输入cmd 打开黑窗口,在黑窗口中输入 telnet 192.168.36.136 21
Win + E 打开文件资源管理器 输入ftp://192.168.36.136/ 弹出登录身份输入密码后登录完成操作
四、FileZilla的安装及使用
1.什么是FileZilla
FileZilla是一个免费开源的 FTP 软件,分为 客户端 版本和服务器版本,具备所有的FTP软件功能。 可控性 、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而 FileZilla Server 则是一个小巧并且可靠的支持FTP&SFTP的 FTP服务器软件。
2.下载FileZilla
下载地址:FileZilla - The free FTP solution
如图所示,一个为客户端,一个为服务端。我们两个都进行下载。在主机中安装客户端,虚拟机中则安装服务端。
3.安装FileZilla
1. 服务端安装
安装的过程非常简单,直接下一步就可以了,需要说明的是,下图中的端口指的是FileZilla服务器的管理端口,不是ftp传输时使用的端口,直接使用默认即可
安装时会提示输入filezilla服务器的管理密码,输入自己容易记住的密码即可
2.客户端安装
客户端的安装非常简单,直接下一步就可以了
3.FileZilla的使用
1.服务端的使用
1.1服务端的被动模式设置
进入服务端后点击菜单中的编辑、打开设置、找到被动模式设置。在被动模式设置中勾选自定义端口范围中输入端口范围
如:50000 - 50010,设置完成后确定。 然后需要将上面设置的端口范围定义到防火墙的入站规则中
2.2 设置防火强规则
2.3 配置组
- 设置 -> 组 -> “General”项 点击【添加】按钮, 添加一个组
2.4 配置用户
使用FileZilla可以为不同的用户设置访问不同的目录,这也是设置不同的用户的主要目的,需要注意的是不同的客户端是可以使用相同的用户登录的,只要知道密码可以。


2.服务端的使用

出现类似如下所示的界面,说明连接成功:
将需要上传的文件右键上传或者拖动至远程站点即可进行文件上传
在服务端打开文件存放文章即可查看上传的文件