分享技术,记录生活,在互联网上留下属于自己的一亩三分地。

FTP详解基础知识

默认笔记 novadmin 43℃ 0评论

一、FTP详解

英文名称“File Transfer Protocol(文件传输协议)”;

FTP传输方式有两种:ASCII传输方式和二进制(Binary)传输方式;ASCII传输一般是文本传输,二进制传输一般是数据库、应用程序、图片等;

ASCII和二进制传输方式不同点在于回车换行处理:在ASCII传输方式则将回车换行转换为本机系统的回车字符,在二进制(Binary)传输方式下,FTP不对数据进行任何处理。

ASCII模式下会转换文件,不能说是不同系统对回车换行解释不同,而是不同的系统有不同的行结束符。UNIX系统下结束符是一个字节,即十六进制的0A,而Windows系统是两个字节,即十六进制的0D0A,所以当用户用ASCII方式从UNIX的FTP Server下载文件到Windows系统上时(不管是二进制还是文本文件),每检测到一个字节是0A,就会自动插入一个0D,所以如果用户文件是二进制文件,如可执行文件、压缩包等,经过传输就不可用了。如果用户的文件是UNIX下的文本文件,则用ASCII传输方式是正确的,要是误用了二进制(Binary)传输方式,则在Windows上看这个文件是没有换行的,里面是一个个的黑方块。

一般ftp的客户端会自动辨别传输方式。

二、FTP传输的被动模式和主动模式

FTP在默认情况下支持两种模式:一种模式是Standard(也就是PORT方式,主动模式),一种模式是Passive(也就是PASV,被动模式)。

主动模式的FTP客户端是发送“PORT”命令到FTP服务器,然后再进行相关操作。被动模式的FTP客户端这是发送“PASV”命令到FTP服务器,再进行相关操作。

主动模式下的FTP客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候会在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP Server必须和客户端建立一个新的连接用来传送数据。

被动模式在建立控制通道的时候和主动模式类似,但建立连接后发送的不是PORT命令,而是PASV命令。FTP服务器收到PASV命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传输数据的请求,客户端连接FTP服务器的这个端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP服务器不再需要建立一个新的客户端之间的连接。

三、常用的FTP程序

FTP 服务端有Server-U FTP Server、IIS FTP Server、G6FTP Server;

FTP 客户端有FlashFXP、LeapFTP、SmartFTP。

转载请注明:Nov » FTP详解基础知识

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址