写点什么

软件测试 | FTP 性能测试脚本开发(1)

  • 2023-05-23
    北京
  • 本文字数:2448 字

    阅读完需:约 8 分钟

FTP 是什么

FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”,用于在 Internet 上控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过把自己的 PC 与世界各地所运行 FTP 协议的服务器相连,访问服务器上的大量程序和信息。FTP 的主要作用是让用户连接一个远程计算机(这些计算机上运行着 FTP 服务器程序),查看远程计算机上有哪些文件,然后把文件从远程计算机上复制到本地计算机,或把本地计算机的文件传送到远程计算机上去。

1.工作原理

以下在文件为例,当测试人员启动 FTP 从远程计算机复制文件时,实际上启动了两个程序:一个是本地文件上的 FTP 客户程序,它向 FTP 服务器提出复制文件的请求;另一个是启动在远程计算机上的 FTP 服务器程序,它响应测试人员的请求,把测试人员指定的文件传送到测试人员的计算机中。FTP 采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装 FTP 客户程序。FTP 客户程序有字符界面和图形界面两种。字符界面的 FTP 的命令复杂、繁多,而图形界面的 FTP 客户程序操作上要简洁方便得多。

2.传输协议

简单地说,支持 FTP 协议的服务器就是 FTP 服务器,下面介绍一下什么是 FTP 协议(文件传输协议)。

一般来说,用互联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容。早期在 Interment 上实现文件传输并不是一件容易的事。我们知道 Internet 是一个非常复杂的计算机环境,有 PC,有工作站,有 MAC,大型机,而连接在 Internet 上的计算机有成千上万台,并且这些计算机可能运行不同的操作系统,有运行 UNIX 的服务器,也有运行 DOS、Windows 的 PC 和运行 Mac OS 是苹果机等,为解决各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的 FTP。基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵循同一种协议,这样用户就可以把自己的文件传送给别人,或者从其他的用户环境中获得文件。

3.服务器系统

与大多数 Internet 服务一样,FTP 也是一个客户机/服务器系统。用户通过一个支持 FTP 协议的客户机程序,连接到远程主机上的 FTP 服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程执行用户所发出的命令,并将执行的结果返货到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份备份,服务器会响应这条命令,将制定文件送至用户的机器上。客户机程序代表用户接受到这个文件,将其存放在用户目录中。

在 FTP 的使用中,用户经常遇到两个概念:“下载(Download)”和“上传(Upload)”。“下载”文件就是从远程主机复制文件至自己的计算机上:“上传”文件就是将文件从自己的计算机中复制至远程主机上。用 Ineter 语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

使用 FTP 时必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。也就是说,想要同哪一台计算机传送文件,就必须具有一台计算机的适当授权。换言之,除非有用户 ID 和口令,否则无法传送文件。这种情况违背了 Ineter 的开放性,Internet 上的 FTP 主机何止千万,不可能要求每个用户在每一台主机上都拥有账号。匿名 FTP 就是为解决这个问题而产生的。

匿名 FTP 是这样一种机制,即用户可通过它连接到远程主机上,并下载文件,而无须成为其注册用户。系统管理员建立了一个特殊的用户 ID,名为 anonymous,Ineter 上的任何人在任何地方都可使用该用户 ID。

通过 FTP 程序连接匿名 FTP 主机的方式同连接普通 FTP 主机的方式差不多,只是在要求提供用户标识 ID 时,必须输入“anonymous”,该用户 ID 的口令可以是任意的字符串。习惯上,用自己的 E-mail 地址作为命令,使系统维护程序能够记录下来谁在存取这些文件。

值得注意的是,匿名 FTP 不适用于所有 Internet 主机,它只适用于那些提供这项服务的主机。

当远程主机提供匿名 FTP 服务时,会制定某些目录向公众开发,允许匿名存取,系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名 FTP 主机都允许用户下载文件,而不允许用户上传文件,也就是说,用户可将匿名 FTP 主机上的所有文件复制到自己的机器上,但不能将自己机器上的任何一个文件复制到匿名 FTP 主机上。即使有些匿名 FTP 主机确实允许用户上传文件,用户也只能将文件上传至某一指定目录中。随后,系统管理员会去检查这些文件,将这些文件移至另一个公共下载目录中,供其他用户下载。利用这种方式,远程主机的用户就得到了保护,因为可避免有些人上传有问题的文件,如带有病毒的文件。

作为一个 Ineter 用户,可通过 FTP 在任意两台 Ineter 主机之间复制文件。实际上,多数人只有一个 Ineter 账户,FTP 主要用户下载公共文件,如共享软件、各公司技术支持文件等。Ineter 上有成千上万台匿名 FTP 主机,这些主机上存放着数不清的文件,供用户免费复制。实际上,几乎所有类型的信息、所有类型的计算机程序都可以在 Ineter 上找到。这时 Internet 吸引我们的重要原因之一。

4.用户分类

1)Real 账户

这类用户在 FTP 服务器上拥有账号。当这类用户登录 FTP 服务器时,其默认的主目录就是以其账号命名的目录。但也可以变更到其他目录中去,如系统的主目录等。

2)Guest 用户

在 FTP 服务器中我们往往会为不同的部门或者某个特定的用户设置一个账户。这个账户有个特点,就是只能够访问自己的主目录。服务器通过这种方式来保障 FTP 服务器上其他的文件的安全。这类账户,在 vsftpd 软件中就叫做 Guest 用户。Guest 用户只能够访问其主目录下的目录,而不得访问主目录以外的文件。

3)Anonymous(匿名)用户

这也是我们通常所说的匿名访问。这类用户在 FTP 服务器中没有指定账户,但仍然可以匿名访问某些公开的资源。

在组建 FTP 服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,Vsftpd 服务器会把建立的所有账户都归属为 Real 用户。但是,这往往不符合企业安全的需求。因为这类用户不仅可以访问自己的主目录,而且还可以访问其他用户的目录,这就给其他用户所在的空间带来一定的安全隐患。所以,企业要根据实际情况,修改用户所在的类别。

搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | FTP性能测试脚本开发(1)_测试_测吧(北京)科技有限公司_InfoQ写作社区