FTP协议的工作流程
发布时间:2020-12-25 09:45:56 所属栏目:安全 来源:网络整理
导读:FTP 与大多数 Internet 服务一样,使用的也是“客户端/服务器”模式。 用户通过一个支持 FTP 协议的客户机程序,连接在远程主机上的 FTP 服务器程序。通过在客户端向服务器端发送 FTP 命令,服务器执行该命令,并将执行结果返回给客户端。由于“控制连接”的
FTP 与大多数 Internet 服务一样,使用的也是“客户端/服务器”模式。 建立连接阶段该阶段是 FTP 客户端通过 TCP 三次握手与FTP服务器端进行建立连接。客户端向 FTP 服务器发出建立连接请求,FTP 服务器对请求进行应答。如果 FTP 服务器上的 21 端口是启用的,可以接受来自其他主机的请求,给出应答 220,表示服务就绪,即告诉客户端需要的 FTP 服务已经准备好了。 返回应答以后,FTP 服务器需要客户端进行身份认证,向客户端发送身份认证请求。 身份认证阶段身份认证是指客户端需要向FTP服务提供登录所需的用户名和密码。FTP 服务器对客户端输入的用户名和密码都会给出相应的应答。如果客户端输入的用户名和密码正确,将成功登录FTP服务器,此时进入 FTP 会话。命令交互阶段在 FTP 会话中,用户可以执行 FTP 命令进行文件传输,如查看目录信息、上传或下载文件等。客户端输入要执行的 FTP 命令后,服务器同样会给出应答。如果输入的执命令正确,服务器会将命令的执行结果返回给客户端。执行结果返回完成后,服务器继续给出应答。断开连接阶段当客户端不再与 FTP 服务器进行文件传输时,需要断开连接。客户端向 FTP 服务器发送断开连接请求,服务器收到断开连接后给出相应的应答。验证工作流程为了能够更好地理解FTP客户端与服务器的工作流程,下面以一个简单的实例进行讲解。【实例】已知 FTP 服务器的 IP 地址为 192.168.59.135。使用一个主机作为 FTP 客户端与 FTP 服务器进行文件传输。 这里查看 FTP 服务器上目录 content 中的信息。执行命令如下: root@daxueba:~# ftp 为了方便分析,下面将按照 FIP 的 4 个工作流程阶段进行分析。建立连接ftp> open 192.168.59.135 #客户端请求建立连接 Connected to 192.168.59.135. 220 Welcome #服务器应答,应答码为220以上输出信息显示客户端向 FTP 服务器 192.168.59.135 发起了连接请求,服务器给出了对应的应答码 220,表示成功建立了连接。 身份认证Name (192.168.59.135:root): sm #客户端输入的用户名(明文显示),这里为sm 331 User name ok,need password. #服务器应答,应答码为331 Password: #客户端输入的密码 230 User logged in,proceed. #服务器应答,应答码为230以上输出信息显示了客户端输入的用户名和密码,并显示了对应的应答码。用户名的应答码为 331,表示还需要客户端输入密码;密码的应答码为 230,表示登录成功。 命令交互Remote system type is UNIX. Using binary mode to transfer files. ftp> dir content #客户端执行的命令 200 Connected. #服务器应答,应答码为200 150 Start of file list. #服务器应答,应答码为150 -rwxrwxrwx 1 ftp ftp 18 Sep 11 14:47 file-3.txt #目录列表信息 -rwxrwxrwx 1 ftp ftp 18 Sep 11 14:47 file-1.txt #目录列表信息 -rwxrwxrwx 1 ftp ftp 18 Sep 11 14:47 file-2.txt #目录列表信息 226 Transfer complete. #服务器应答,应答码为226以上输出信息显示了用户名要执行的命令 dir content,表示显示 FTP 服务器上 content 的目录列表信息;服务器给出了应答,这里给出了两个应答码。应答码为 200,表示 FTP 服务器可以执行该命令;应答码为 150,表示服务器已经准备好了目录列表,打开数据连接,将执行结果发送给客户端。 这里显示的目录列表信息可以看到 content 中有 3 个文件 file-1.txt,file-2.txt 和 file-3.txt。输出信息最后一行显示了服务器的应答码 226,表示执行结果已经返回。 断开连接ftp> quit #客户端指定的断开FTP子命令 221 Service closing control connection. #服务器应答,应答码为221以上输出信息显示了客户端执行的断开连接的 FTP 子命令 quit。最后一行显示了服务器的应答,应答码为 221,表示服务器确认退出登录。 (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |