1. 介绍 【程序编程相关:有关cmos密码破解及原理】 文件传输协议(file transfer protocol, ftp) 【推荐阅读:Sub7中的公用密码的发现】 2. 概览 【扩展信息:加密技术面面观】 ftp的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明与可靠高效地传送数据.虽然我们也可以手工使用它,但是它的主要作用是供程序使用的.在阅读本文之前最好能够阅读tcp协议标准规范与telnet协议标准规范. 在本节中我们将讨论一些表面上的问题,有些名词的定义请参阅tcp与telnet参考文献.我们先介绍一下(1)字节大小,在ftp中字节大小有两个:逻辑字节大小与用于传输的字节大小.后者通常是8位,而前者可不一定是多少了.传输字节不必等于逻辑字节大小,也不必对数据结构进行解释.(2)控制连接是建立在user-pit与server-pi之间用于交换命令与应答的通信链路.(3)数据连接是传输数据的全双工连接.传输数据可以发生在服务器dtp与用户dtp之间也可以发生在两个服务器dtp之间.(4)dtp:数据传输过程(dtp)建立与管理数据连接,dtp可以是主动的也可以是被动的.(5)eor代表记录尾.(6)ntv代表网络虚拟终端,它的定义与在telnet协议中的定义一致.(7)nvfs代表网络虚拟文件系统.(8)ftp可以传输非连续的文件,这些文件的一部分称为页.(9)pi代表协议解释器.(10)服务器dtp代表一种传输过程,它通常处于“主动”状态,它与侦听端口建立数据连接,它还可以为传输与存储设置参数,并根据pi的指令传输数据.当然,dtp也可以转入“被动”状态.(11)服务器ftp进程,它是与用户ftp进程一起工作的,它由pi与dtp组成.至于用户ftp进程则是由pi,dtp与用户接口组成的.下图是ftp服务示意图: 注意:数据连接是双向的,它不用整个时间都存在.上图中用户pi开始控制连接,控制连接与telnet协议很象.在开始阶段,标准ftp命令由用户pi产生并通过控制连接传送到服务器进程.服务器pi向用户pi返回标准应答.ftp命令指定数据连接参数与文件系统操作.用户dtp在特定数据端口侦听,服务器开始数据连接并以指定的参数开始数据传输.数据端口不必在开始ftp命令的机器上,但用户或用户ftp进程必须确定它在指定的数据端口上侦听.这个数据连接是全双工的. 在另外一种情况下,用户或许希望在两个主机间传送文件,不是两个本地主机.用户在两台主机间建立控制连接,然后规划数据连接.用这种方式,控制信息由用户pi获得,但是数据在服务器dtp之间传送.下面就是一个例子: 协议要求数据传输在处理时打开控制连接.在完成ftp服务后由用户中止控制连接,而服务器具体操作.如果在未接收命令时关闭了控制连接,服务器也会关闭数据传输.... 下一页