一.FTP相关知识
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动(积极)式和被动(消极)式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求, 服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的 XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。主动跟被动,关键在于是不是服务器建立了数据链路。如果是即主动(积极)模式,反之,则为被动(消极)模式。
FTP命令
命令划分 |
命令码 |
命令名称 |
备注 |
访问控制命令 |
USER |
用户名 |
|
PASS |
口令 |
此命令紧跟USER命令,在某些站点它是完成访问控制不可缺少的一步 |
|
ACCT |
ACCOUNT |
||
CWD |
改变工作目录 |
||
CDUP |
回到上一层目录 |
||
SMNT |
结构加载 |
此命令使用户在不改变登录或帐户信息的情况下加载另一个文件系统数据结构。传输参数也不变。参数是文件目录或与系统相关的文件集合 |
|
REIN |
重新初始化 |
||
QUIT |
退出登录 |
||
传输参数命令 |
PORT |
数据端口 |
参数是要使用的数据连接端口 |
PASV |
被动 |
此命令要求服务器DTP在指定的数据端口侦听,进入被动接收请求的状态,参数是主机和端口地址。
|
|
TYPE |
表示类型 |
||
STRU |
文件结构 |
F - 文件(非记录结构),它是默认值 R - 记录结构 P - 页结构 |
|
MODE |
传输模式 |
S - 流(默认值) B - 块 C - 压缩
|
|
FTP服务命令 |
RETR |
获得文件 |
使服务器DTP传送指定路径内的文件复本到服务器或用户DTP |
STOR |
保存 |
||
STOU |
唯一保存 |
此命令和STOR差不多,此命令要求在此目录下的文件名是唯一的 |
|
APPE |
附加 |
||
ALLO |
分配 |
||
REST |
重新开始 |
||
RNFR |
重命名 |
||
RNTO |
重命名为 |
此命令和上面的命令共同完成对文件的重命名。
|
|
ABOR |
放弃 |
||
DELE |
删除 |
||
RMD |
删除目录 |
||
MKD |
创建目录 |
||
PWD |
打印工作目录 |
||
LIST |
列表 |
如果路径指定一个目录或许多文件,返回指定路径下的文件列表。如果路径名指定一个文件,服务器返回文件的当前信息,参数为空表示用户当前的工作目录或默认目录 |
|
NLST |
|||
SITE |
站点参数 |
服务器用来提供服务器系统信息 |
|
SYST |
系统 |
确定服务器上运行的操作系统。 |
|
STAT |
状态 |
返回控制连接状态 |
|
HELP |
帮助 |
||
NOOP |
等待 |
此命令不产生什么实际动作,它仅使服务器返回OK。 |
有关FTP协议的详细,请阅读相关的RFC文档,这里不做赘述。
相关推荐
Apache FTPServer是一款开源的FTP服务器软件,它是Apache MINA项目的一部分,用于构建高性能、可扩展的网络应用。这篇笔记主要围绕Apache FTPServer的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了...
从零开始介绍Apache FtpServer,并一步一步教你配置Apache FtpServer,更高级的应用,教你用写代码控制Apache FtpServer及集成到自己的应用中 <!--ftp端口 --> <!--绑定的服务器IP地址,多网卡的时候使用...
Apache FTPServer是一款开源的FTP服务器软件,它是Apache软件基金会的一部分,设计用于提供可靠且高效的文件传输服务。在本文中,我们将深入探讨如何安装和配置Apache FTPServer,以及它的一些核心特性。 首先,让...
Apache Ftpserver是一款开源的FTP服务器软件,由Apache软件基金会维护。它提供了高度可配置性和模块化设计,使得用户可以根据需求定制自己的FTP服务环境。在本资料包中,你将获得Apache Ftpserver的全套资源,包括...
Apache FTPServer:Apache 软件基金会开发的一款 FTP 服务器,支持多种操作系统,功能强大、灵活。 FileZilla Server:一个免费的 FTP 服务器,支持多种操作系统,易于使用。 VSFTP:一个安全、稳定的 FTP 服务器...
这是在eclipse上创建的项目,下载源码包导入即可。 在运行之前自己在MySQL上创建数据库,名如:ftpserver,再导入里面提供的...有了这套源码,不出十分钟你就可以搞懂怎么在你的Spring项目里面整合Apache FTPServer了。
- **用户管理器**:设置为 `<userManager class="org.apache.ftpserver.usermanager.impl.DatabaseUserManager"/>` 以便于与数据库进行集成。 - **虚拟主机**:定义 `<virtualHost>` 元素来指定服务器的虚拟主机...
Apache FTPServer是一款开源的FTP服务器,它允许用户通过FTP协议上传和下载文件。与Mysql的结合配置,主要是为了实现用户认证、权限管理和日志记录等功能的数据库化,提高系统的可扩展性和安全性。以下是关于"apache...
Apache_FtpServer配置详解
- `org\apache\ftpserver\usermanager\impl\AbstractUserManager.class` 修改这些类的主要目的是让其支持新的表结构,并实现在验证过程中对源IP地址的检查。 通过以上步骤,我们可以有效地配置并使用Apache FTP...
Apache FTP Server是一个开源的FTP服务器,它允许用户通过FTP协议上传、下载文件。这个服务器是用Java语言编写的,因此可以在任何支持Java的平台上运行,包括Windows、Linux、Unix等操作系统。Apache FTP Server的...
Apache FTPServer是一款开源的FTP(File Transfer Protocol)服务器软件,主要负责在互联网上进行文件传输。这个特定的压缩包“apache-ftpserver-1.1.1.zip”包含了该服务器软件的v1.1.1版本,适用于Linux和Windows...
Apache FtpServer是一款开源的FTP服务器,它基于Java平台,为用户提供了一种灵活且可扩展的方式来搭建和管理FTP服务。Apache FtpServer以其强大的功能、良好的稳定性和丰富的配置选项深受IT专业人士的喜爱。以下是对...
1. 下载:首先,你需要从Apache官方网站(http://mina.apache.org/ftpserver/download.html)下载最新版本的Apache FtpServer。 2. 解压:下载后,将压缩包解压到任意目录。 3. 配置环境变量:为了方便运行,你可以...
Apache FtpServer是一个100%纯Java的、基于现有开放式协议基础上、完整、小巧的FTP服务器。此外,FtpServer还可以作为Windows服务器、Unix / Linux后台程序或是被嵌入在Java应用程序而独立运行。有了MINA...
Java使用Apache FtpServer实现嵌入式FTP服务器是一项常见的任务,尤其在开发集成测试或部署自动化流程时。Apache FtpServer是一个开源项目,它提供了一个轻量级且可嵌入的FTP服务器,允许开发者在Java应用程序中直接...
apache ftpserver 源码嵌入eclipse工程版,所有配置已配好,myserver.java右键 run as java aplication 运行即可。登录名:admin 密码:admin 还有一个名字一样的资源,也是我上传的,那个账号找不回来了
Apache FTPServer是一个开源的FTP服务器项目,它提供了一个强大、灵活且可扩展的平台来管理文件传输服务。这个服务器是基于Java实现的,因此具备跨平台性,可以在多种操作系统上运行,包括Windows、Linux和Mac OS等...
Apache FTPServer是一款开源的FTP服务器软件,它基于Java平台,提供了强大的可扩展性和高度的定制性。本篇文章将深入探讨Apache FTPServer的配置、使用以及API的详细操作,旨在帮助用户更好地理解和应用这款服务器。...
Java中的Apache FtpServer库为开发人员提供了一个强大的框架,用于在Java应用程序中轻松地创建和管理FTP服务器。Apache FtpServer提供了丰富的API,可以定制服务器的行为,满足各种需求。本篇文章将深入探讨如何利用...