FTP主被动模式详解、FTP服务器的搭建及FileZilla的安装使用

2024-01-27 06:20

本文主要是介绍FTP主被动模式详解、FTP服务器的搭建及FileZilla的安装使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、FTP主被动模式详解

1.被动模式

2.主动模式

3.主被动模式的区别

二、FTP服务架设

1、环境要求

2、创建用户组

3、创建用户

4、安装FTP服务器 

5、配置FTP服务器 

6、设置目录权限 

7、重启服务器(可选)

三、FTP服务器连接验证 

1.本机浏览器验证

2.局域网访问验证

1.设置入站规则

2.设置访问

四、FileZilla的安装及使用 

1.什么是FileZilla

2.下载FileZilla

3.安装FileZilla

1. 服务端安装

2.客户端安装 

3.FileZilla的使用 

1.服务端的使用

1.1服务端的被动模式设置

2.2 设置防火强规则 

2.3 配置组

2.4 配置用户

2.服务端的使用 


前言:       

       简单了解下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可以为不同的用户设置访问不同的目录,这也是设置不同的用户的主要目的,需要注意的是不同的客户端是可以使用相同的用户登录的,只要知道密码可以。

        - 设置 -> 用户 -> “General” 项 点击【添加】按钮, 添加一个用户
        - ”Shared Folders”项, 添加该用户有权操作的目录,如果只用一个目录则必须为主目录,如果多个,则必须有一个为主目录
重复操作添加两个用户
       

2.服务端的使用 

        因为已经在服务端配置了被动方式,所以在连接时直接指定被动方式进行连接
        文件 -> 站点管理
        击【新站点】创建一个站点,输入主机,端口(默认为21 ),用户,密码
        点击传输设置,选择【被动】

         出现类似如下所示的界面,说明连接成功:

        将需要上传的文件右键上传或者拖动至远程站点即可进行文件上传 

        在服务端打开文件存放文章即可查看上传的文件

这篇关于FTP主被动模式详解、FTP服务器的搭建及FileZilla的安装使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/649311

相关文章

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注