软件测试 | FTP性能测试脚本开发(1)
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霍格沃兹的干货都很硬核