华为HCIA-Datacom网络技术学习指南
上QQ阅读APP看书,第一时间看更新

1.1.2 FTP

FTP是Internet中广泛使用的文件传输协议,用于在Internet上控制文件的双向传输。不同的操作系统有不同的FTP应用程序,而所有这些应用程序在传输文件时都遵守同一种协议。FTP屏蔽了计算机操作系统的各种细节,可以减小或消除在不同操作系统中处理文件的不兼容性,因而适合在不同操作系统之间传送文件。FTP 只提供文件传输的基本服务。它使用传输控制协议(Transmission Control Protocol,TCP)实现可靠传输。

在使用FTP的过程中,用户会遇到两个概念——“下载”(Download)和“上传”(Upload)。“下载”文件就是将文件从远程主机复制到本地计算机中,“上传”文件就是将文件从本地计算机复制到远程主机中。下面通过抓包工具Wireshark来分析FTP工作的过程。

首先在虚拟机中安装Windows Server 2012 R2服务器和FTP服务,然后在客户端(这里以Windows 10操作系统为例)利用抓包工具分析FTP客户端访问FTP服务器的数据包,观察FTP客户端访问FTP服务器的交互过程。在FTP服务器上设置禁止FTP的某些方法,以实现对FTP服务器的安全访问,比如禁止删除FTP服务器中的文件。

当运行抓包工具开始抓包后,通过FTP客户端上传一个test.txt文件,并将其重命名为abc.txt,最后删除FTP服务器上的abc.txt文件。抓包工具会捕获FTP客户端发送的全部请求以及FTP服务器返回的全部响应。如图1-8所示,右击其中的一个FTP数据包,在弹出菜单中单击“追踪流”→“TCP流”,出现图1-9所示的窗口。该窗口中显示了FTP客户端访问FTP服务器交互过程产生的所有数据。在该窗口中可以看到FTP中的方法,其中,STOR方法用于上传test.txt,CWD方法用于改变工作目录,RNFR方法用于重命名test.txt,DELE方法用于删除abc.txt文件。通过抓包工具还可看到FTP的其他方法,如使用FTP客户端在FTP服务器上创建文件夹、删除文件夹、下载文件等操作对应的方法。

图1-8 启用追踪流功能

图1-9 FTP客户端访问FTP服务器交互过程示意