ftp协议
FTP协议将使用两条单独的TCP连接,一条专用于发送FTP命令,称为控制连接,另一条则专用于传递数据, 称为数据连接。
1)控制连接
客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP 21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP控制连接。
2)数据连接
FTP控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。(这是大多数ftp客户端的传输模式)
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
示例:
PORT模式:
图1暂缺
在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第2步中,FTP服务器给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一个"ACK"。
PASV模式:
图2暂缺
在第1步中,客户端的命令端口与服务器的命令端口建立连接,并发送命令“PASV”。然后在第2步中,服务器返回命令"PORT 2024",告诉客户端(服务器)用哪个端口侦听数据连接。在第3步中,客户端初始化一个从自己的数据端口到服务器端指定的数据端口的数据连接。最后服务器在第4 步中给客户端的数据端口返回一个"ACK"响应。
----------------------------------------------------------------
主要用到的命令为:USER,PASS,TYPE,SIZE,REST,CWD,PWD,RETR,PASV,PORT,QUIT;
备注:对于主动与被动模式的差异,在于主动服务器管理比较方便,比较安全。能指定端口被外面连接,因此是常用的模式,而被动则是客户端比较好管理。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wqf363/archive/2007/02/10/1507150.aspx
分享到:
相关推荐
FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与实现FTP协议解析与...
【设计题目】:FTP 协议的实现 【设计目的】: 1) 加深对 TCP/IP 协议的理解。 2) 了解 FTP 协议的工作原理。 3) 掌握用 MFC 编写 FTP 协议的实现程序(也可自选工具)。 【设计任务】: 在 Visual C++6. 0 的...
ftp 协议相关ftp 协议相关ftp 协议相关ftp 协议相关ftp 协议相关
ftp协议 也是自己网上下载的 可以参考下,最近在研究linux的usb驱动这块……以作备份;
FTP协议解析与实现源码FTP协议解析与实现源码FTP协议解析与实现源码FTP协议解析与实现源码FTP协议解析与实现源码FTP协议解析与实现源码FTP协议解析与实现源码FTP协议解析与实现源码
文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输协议(FTP)操作文件传输...
主要是FTP协议分析实验,通过模拟实验进行交换机配置,FenixFTP协议工作原理。
HTTP与FTP协议基础
简单的实现FTP功能的程序,一个关于服务端的搭建演示,要配合一些辅助工具
一个ftp协议客户端源码,C语言写的
Ftp协议:RFC959和HTTP协议:RFC2616
用ftp协议下载ftp服务器上的文件。支持需要输入用户名密码的ftp服务器。
实现HTTP协议和FTP协议的多线程下载
【协议分析】【FTP 协议分析】
android bluetooth FTP协议文档
socket FTP协议文件传输系统 vc++ 6.0源码
个人实现的ftp协议源码,供大家研究学习之用。
JAVA实现FTP协议文件上传
该文件是ftp客户端上传文件到ftp服务器时,网络抓包工具抓取的ftp协议数据,对ftp学习和开发具有极大的参考价值