《FTP协议介绍梁泽凡课件》由会员分享,可在线阅读,更多相关《FTP协议介绍梁泽凡课件(24页珍藏版)》请在金锄头文库上搜索。
1、ftp 介绍1FTP介绍介绍一一ftp的基本知识的基本知识二二ftp的基本原理的基本原理三三ftp的基本操作及应用的基本操作及应用FTP协议介绍梁泽凡课件ftp 介绍2ftp基本知识基本知识ftp的基本概念的基本概念1.FTP是是Protocol(文件传输协议)的缩(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。写,用来在两台计算机之间互相传送文件。从远程主机拷贝文件至自己的计算机上,从远程主机拷贝文件至自己的计算机上,称之为称之为“下载(下载(download)”文件。若将文件。若将文件从本地主机中拷贝至远程主机上,则文件从本地主机中拷贝至远程主机上,则称之为称之为“上载(上载(u
2、pload)”文件。文件。FTP在在RFC959可具体查询。可具体查询。FTP协议介绍梁泽凡课件ftp 介绍3ftp基本知识基本知识2.FTP服务工作模式:客户/服务器FTP协议介绍梁泽凡课件ftp 介绍4ftp基本知识基本知识3.FTP的传输有两种方式的传输有两种方式(1)ASCII传输模式传输模式用于传送用于传送ASCII码文本文件。码文本文件。(2)二进制传输模式:(逐字拷贝,不须二进制传输模式:(逐字拷贝,不须转译)转译)可传送文本和非文本可传送文本和非文本FTP协议介绍梁泽凡课件ftp 介绍5ftp基本知识基本知识4.匿名匿名FTP服务服务匿匿名名FTPFTP服服务务的的实实质质是是
3、:提提供供服服务务的的机机构构在在它它的的FTPFTP服服务务器器上上建建立立一一个个公公开开账账户户(一一般般为为anonymousanonymous),并并赋赋予予该该账账户户访访问问公公共共目录的权限,以便提供免费服务;目录的权限,以便提供免费服务;如如果果用用户户要要访访问问这这些些提提供供匿匿名名服服务务的的FTPFTP服服务务器器,一一般般不不需需要要输输入用户名与用户密码;入用户名与用户密码;大多数大多数FTPFTP服务都是匿名服务;服务都是匿名服务;为为了了保保证证FTPFTP服服务务器器的的安安全全,几几乎乎所所有有的的匿匿名名FTPFTP服服务务器器都都只只允允许用户下载文
4、件,而不允许用户上载文件。许用户下载文件,而不允许用户上载文件。FTP协议介绍梁泽凡课件ftp 介绍6ftp基本知识基本知识5.FTP协议有两种工作方式:协议有两种工作方式:一种方式叫做一种方式叫做Standard(也就是也就是PORT方式,主动方式方式,主动方式),一种是,一种是Passive(也就是也就是PASV,被动方式,被动方式)。Standard模式模式FTP的客户端发送的客户端发送PORT命令到命令到FTP服务服务器。器。Passive模式模式FTP的客户端发送的客户端发送PASV命命令到令到。FTP协议介绍梁泽凡课件ftp 介绍7FTP系统采用系统采用“客户客户/服务器服务器”模
5、型,由在用户模型,由在用户的本地计算机(客户端)上运行的的本地计算机(客户端)上运行的FTP客户程客户程序和在远程计算机(服务器端)上运行的序和在远程计算机(服务器端)上运行的FTP服务器程序所组成。服务器程序所组成。客户程序与服务程序之间通过面向连接的客户程序与服务程序之间通过面向连接的TCP协议进行通信,协议进行通信,TCP服务端口为服务端口为21。一个一个 FTP 服务器进程可同时为多个客户进程提服务器进程可同时为多个客户进程提供服务。供服务。FTP 的服务器进程由两大部分组成:的服务器进程由两大部分组成:一个一个主进程主进程,负责接受新的请求;另外有若干,负责接受新的请求;另外有若干个
6、个从属进程从属进程,负责处理单个请求。,负责处理单个请求。FTP工作的基本原理工作的基本原理FTP协议介绍梁泽凡课件ftp 介绍8在进行文件传输时,在进行文件传输时,FTP的客户和服务器之间要建立两个的客户和服务器之间要建立两个TCP连接:连接:l控制连接控制连接(ControlConnection):u客户程序与客户程序与FTP服务器的端口服务器的端口21建立控制连接建立控制连接,并在整个并在整个FTP会话过程中会话过程中维持连接;维持连接;u控制连接用于传输请求和应答信息;控制连接用于传输请求和应答信息;u由由FTP客户端发起控制连接。客户端发起控制连接。l数据连接数据连接(DataCon
7、nection):):u数据连接用于传输文件;数据连接用于传输文件;u每传输一个文件都要建立一个数据连接(在每传输一个文件都要建立一个数据连接(在FTP服务器的端口服务器的端口2020););u由由FTP服务器发起数据连接。服务器发起数据连接。FTP工作的基本原理工作的基本原理FTP协议介绍梁泽凡课件ftp 介绍9FTP工作的基本原理工作的基本原理(1)FTP服务器运行服务器运行FTPd守护进程,等待用户的守护进程,等待用户的FTP请请求。求。(2)用户运行)用户运行FTP命令命令,请求请求FTP服务器为其服务。服务器为其服务。例:例:FTP202.119.2.197(3)FTPd守护进程收到
8、用户的守护进程收到用户的FTP请求后,派生出子进请求后,派生出子进程程FTP与用户进程与用户进程FTP交互,建立文件传输控制连接,使交互,建立文件传输控制连接,使用用TCP端口端口21。(4)用户输入)用户输入FTP子命令,服务器接收子命令,如果命子命令,服务器接收子命令,如果命令正确,双方各派生一个数据传输进程令正确,双方各派生一个数据传输进程,建立数据连接,建立数据连接,使用使用TCP端口端口20,进行数据传输。进行数据传输。(5)本次子命令的数据传输完,拆除数据连接,结束进)本次子命令的数据传输完,拆除数据连接,结束进程。程。(6)用户继续输入)用户继续输入FTP子命令,重复(子命令,重
9、复(4)、()、(5)的过)的过程,直至用户输入程,直至用户输入quit命令,双方拆除控制连接,结束文命令,双方拆除控制连接,结束文件传输,结束件传输,结束FTP进程。进程。FTP协议介绍梁泽凡课件ftp 介绍10工作过程工作过程n建立控制连接(客户端发起)建立控制连接(客户端发起) 客户端请求与服务器的端口为客户端请求与服务器的端口为21建立控制连接,建立后,建立控制连接,建立后,客户端使用这个连接来发送客户端使用这个连接来发送FTP命令,服务器端使用这命令,服务器端使用这个连接来发送个连接来发送FTP应答;应答;n建立数据连接建立数据连接 当用户发出一个文件传输请求时,服务器端在端口当用户
10、发出一个文件传输请求时,服务器端在端口为为20请求与客户端建立一个数据连接;请求与客户端建立一个数据连接;n文件传输文件传输 数据连接建立后,发送数据的一方使用这个连接把数据连接建立后,发送数据的一方使用这个连接把文件传送给对方;文件传送给对方;FTP工作的基本原理工作的基本原理FTP协议介绍梁泽凡课件ftp 介绍11FTP工作的基本原理工作的基本原理断开数据连接断开数据连接当一个文件传输完成后,服务器请求结束数据当一个文件传输完成后,服务器请求结束数据连接;连接;断开控制连接断开控制连接当客户端结束会话时,由客户端向服务器端当客户端结束会话时,由客户端向服务器端请求关闭控制连接。请求关闭控制
11、连接。FTP协议介绍梁泽凡课件ftp 介绍12FTP工作的基本原理工作的基本原理主动主动FTP与被动与被动FTPFTP协议介绍梁泽凡课件ftp 介绍13FTP工作的基本原理工作的基本原理主动传输模式主动传输模式客户端向服务器的客户端向服务器的FTP端口(默认是端口(默认是21)发)发送连接请求,服务器接受送连接请求,服务器接受连接并建立一条命令链路。连接并建立一条命令链路。当需要传送数据时,客户当需要传送数据时,客户端在命令链路上用端在命令链路上用PORT命令告诉服务器:命令告诉服务器:“我打我打开了开了*端口,你过来连端口,你过来连接我接我”。于是服务器从。于是服务器从20端口向客户端的端口
12、向客户端的*端口端口发送连接请求,建立一条发送连接请求,建立一条数据链路来传送数据数据链路来传送数据FTP协议介绍梁泽凡课件ftp 介绍14FTP工作的基本原理工作的基本原理被动传输模式被动传输模式客户端向服务器的客户端向服务器的FTP端口(默认是端口(默认是21)发)发送连接请求,服务器接受送连接请求,服务器接受连接,建立一条命令链路。连接,建立一条命令链路。当需要传送数据时,服务当需要传送数据时,服务器在命令链路上用器在命令链路上用PASV命令告诉客户端:命令告诉客户端:“我打我打开了开了*端口,你过来连端口,你过来连接我接我”。于是客户端向服。于是客户端向服务器的务器的*端口发送连接端口
13、发送连接请求,建立一条数据链路请求,建立一条数据链路来传送数据。来传送数据。FTP协议介绍梁泽凡课件ftp 介绍15ftp的基本操作及应用的基本操作及应用ftp基本命令举例基本命令举例FTPhost例如例如: % %ftpusername:test实名登录实名登录password:* 或:或:username:anonymous匿名登录匿名登录password:FTP协议介绍梁泽凡课件ftp 介绍16(1 1)帮助命令组)帮助命令组l列出所有的列出所有的ftpftp命令命令uftpftp?uftpftphelpl列出某个列出某个ftpftp命令的使用说明命令的使用说明u例如:例如:列出列出op
14、enopen命令的使用说明命令的使用说明ftpftphelpopen(2 2)连接命令组)连接命令组lftpftpopenhost连接远程主机连接远程主机lftpftpclose 结束当前连接,不退出结束当前连接,不退出ftpftplftpftpdisconnect 结束当前连接,不退出结束当前连接,不退出ftpftplftpftpbye 终止所有连接,退出终止所有连接,退出ftpftplftpftpquit 终止所有连接,退出终止所有连接,退出ftp ftp FTP协议介绍梁泽凡课件ftp 介绍17(3 3)目录操作与列表命令组)目录操作与列表命令组lftppwd列出当前目录名列出当前目录名
15、lftpcd进入下一级目录进入下一级目录lftpls remote-dir local-file 将远程目将远程目录中的文件列表存入本地文件中录中的文件列表存入本地文件中FTP协议介绍梁泽凡课件ftp 介绍18(4 4)文件传输命令组)文件传输命令组l上传文件上传文件uftpftpputlocal-file remote-file 若不指定若不指定远程文件名,则远程文件名同本地文件名远程文件名,则远程文件名同本地文件名uftpftpmputlocal-files 一次上传多个文件一次上传多个文件l下载文件下载文件uftpftpget local-file remote-file若不指定本地文件
16、名若不指定本地文件名,则本地文件名同远程文件名,则本地文件名同远程文件名uftpftpmgetremote-files 一次下载多个文件一次下载多个文件FTP协议介绍梁泽凡课件ftp 介绍19(5 5)文件类型操作命令组)文件类型操作命令组lftpftpascii 设置设置传输文件的类型为文本传输文件的类型为文本lftpftpbinary 设置设置传输文件的类型为二进制传输文件的类型为二进制(6 6)文件属性操作命令组)文件属性操作命令组lftpftpchmod moderemote-file u设置文件权限,权限由设置文件权限,权限由modemode规定规定u例如:例如:ftpftpchmo
17、d 666 aachmod 666 aa 使使同组用户和其他用户都有读写权同组用户和其他用户都有读写权(7 7)查看文件内容命令)查看文件内容命令lftpftpget-u只只显示远程文件的内容,显示远程文件的内容,- -代表本地代表本地(8 8)其他)其他lrename、delete,mdelete,size,FTP协议介绍梁泽凡课件ftp 介绍20ftp的基本操作及应用的基本操作及应用ftp客户端软件举例客户端软件举例ftp服务器软件举例服务器软件举例Serv-USamiWashingtonUniversityFTP(用于(用于UNIX系系统)统)CuteFTP LeapFTP FlashF
18、XP WS-FTP FTP协议介绍梁泽凡课件ftp 介绍21ftp的基本操作及应用的基本操作及应用FTP服务器端的注意事项服务器端的注意事项一、一、FTP服务器是公网服务器是公网IP,用公网动态域名;或是内网,用公网动态域名;或是内网IP,用内网专业,用内网专业版版TrueHost1、服务器如果安装了防火墙,请记住要在防火墙上打开、服务器如果安装了防火墙,请记住要在防火墙上打开FTP端端口口(默认是(默认是21)。)。2、所有、所有FTP服务器软件都支持服务器软件都支持PORT方式。至于方式。至于PASV方式方式,大部分,大部分FTP服务器软件都支持。支持服务器软件都支持。支持PASV方式的方
19、式的FTP服务器软件,也可以设置为只服务器软件,也可以设置为只工作在工作在PORT方式上。方式上。3、为了、为了PASV方式能正常工作,需要在方式能正常工作,需要在FTP服务器软件上为服务器软件上为PASV方方式指定可用的端口范围(设置方法)。此外,还要在服务器的防火墙上打开式指定可用的端口范围(设置方法)。此外,还要在服务器的防火墙上打开这些端口。当客户端以这些端口。当客户端以PASV方式连接服务器的时候,服务器就会在这个端口方式连接服务器的时候,服务器就会在这个端口范围里挑选一个端口出来,给客户端连接。范围里挑选一个端口出来,给客户端连接。二、二、FTP服务器是内网服务器是内网IP,用内网
20、动态域名标准版,用内网动态域名标准版cmxnatproxy这种情这种情况下,况下,FTP服务器不需要做特殊设置,只要支持服务器不需要做特殊设置,只要支持PASV方式就可以了。大部分方式就可以了。大部分FTP服务器软件都支持服务器软件都支持PASV方式。方式。FTP协议介绍梁泽凡课件ftp 介绍22ftp的基本操作及应用的基本操作及应用FTP客户端的注意事项客户端的注意事项(请注意:选择用(请注意:选择用PASV方式还是方式还是PORT方式登录方式登录FTP服务器,选择权服务器,选择权在在FTP客户端,而不是在客户端,而不是在FTP服务器。)服务器。)一、客户端只有内网一、客户端只有内网IP,没
21、有公网,没有公网IP从上面的从上面的FTP基础知识可知,如基础知识可知,如果用果用PORT方式,因为客户端没有公网方式,因为客户端没有公网IP,FTP将无法连接客户端建将无法连接客户端建立数据链路。因此,在这种情况下,客户端必须要用立数据链路。因此,在这种情况下,客户端必须要用PASV方式,才方式,才能连接能连接FTP服务器。大部分服务器。大部分FTP站长发现自己的服务器有人能登录上,站长发现自己的服务器有人能登录上,有人登录不上,典型的错误原因就是因为客户端没有公网有人登录不上,典型的错误原因就是因为客户端没有公网IP,但用了,但用了IE作为作为FTP客户端来登录(客户端来登录(IE默认使用
22、默认使用PORT方式)。方式)。二、客户端有公网二、客户端有公网IP,但安装了防火墙如果用,但安装了防火墙如果用PASV方式登录方式登录FTP服服务器,因为建立数据链路的时候,是由客户端向服务器发送连接请求,务器,因为建立数据链路的时候,是由客户端向服务器发送连接请求,没有问题。反过来,如果用没有问题。反过来,如果用PORT方式登录方式登录FTP服务器,因为建立数服务器,因为建立数据链路的时候,是由服务器向客户端发送连接请求,此时连接请求会据链路的时候,是由服务器向客户端发送连接请求,此时连接请求会被防火墙拦截。如果要用被防火墙拦截。如果要用PORT方式登录方式登录FTP服务器,请在防火墙上服
23、务器,请在防火墙上打开打开1024以上的高端端口。以上的高端端口。FTP协议介绍梁泽凡课件ftp 介绍23ftp的基本操作及应用的基本操作及应用三、连接用内网标准版三、连接用内网标准版cmxnatproxy搭建的搭建的FTP服服务,必须要用务,必须要用PASV方式。连接任何公网方式。连接任何公网FTP服务服务器、或用内网专业版器、或用内网专业版TrueHost搭建的搭建的FTP服务器,服务器,PORT方式和方式和PASV方式都可以使用。当然,使用方式都可以使用。当然,使用PORT方式的时候,还要满足上面的两个条件。方式的时候,还要满足上面的两个条件。四、常见的四、常见的FTP客户端软件客户端软件PORT方式与方式与PASV方方式的切换方法。大部分式的切换方法。大部分FTP客户端默认使用客户端默认使用PASV方式。方式。IE默认使用默认使用PORT方式。方式。FTP协议介绍梁泽凡课件ftp 介绍24TheEndThankyou!FTP协议介绍梁泽凡课件