(计算机专业毕业论文)ftp协议分析与扩展内容摘要:
byte | Opcode | ErrorCode | ErrMsg | 0 | Figure 54: ERROR 包 一个 ERROR 包,它的操作码是 5,它的格式如上所示。 此包可以被其它任何类型的包确认。 错误码指定错误的类型。 错误的值和错误的意义在附录中。 错误信息是供程序员使用的。 正常终止 传输的结束由 DATA 数据标记,其包括 0511 个字符。 这个包可以被其它数据包确认。 接收方在发出对最后数据包的确认后可以断开连接, 当然,适当的等待是比较好的,如果最后的确定包丢失可以再次传输。 如果发出确认后仍然收到最后数据包,可以确定最后的确认丢失。 发送最后一个 DATA 包的主机必须等待对此包的确认或超时。 如果响应是 ACK,传输完成。 如果发送方超时并不准备重新发送并且接收方有问题或网络有问题时,发送也正常结束。 当然实现时也可以是非正常结束,但无论如何连接都将被关闭。 9 早终结 如果请求不能被满足,或者在传输中发生错误,需要发送 ERROR 包。 这仅是一种传输友好的方式,这种包不会被确认也不会被重新传输,因此这种包可能永远不会被接收到。 因此 需要用超时来侦测错误。 ftp 与 tftp 的区别 ① FTP 是完整、面向会话、常规用途文件传输协议。 而 TFTP 用作 bones bare 特殊目的文件传输协议。 ② 交互使用 FTP。 TFTP 允许仅单向传输的文件。 FTP 提供身份验证。 而 TFTP 不。 ③ FTP 使用已知 TCP 端口号: 20 的数据和 21 用于连接对话框。 TFTP 用于 UDP 端口号 69 其文件传输活动。 ④ 因为 TFTP 不支持验证 WindowsNT ,所以 FTP 服务器服务不支持 TFTP。 ⑤ FTP 依赖于 TCP,是面向连接并提供可靠的控件。 TFTP 依赖 UDP,需要减少开销 , 几乎不提供控件。 ⑥ 简单文件传送协议 TFTP(Trivial File Transfer Protocol)是一个 TCP/IP 协议族中一个很小且易于实现的文件传送协议。 TFTP 也是使用客户服务器方式,但它使用 UDP数据报 ,因此 TFTP 需要有自己的差错改正措施。 TFTP 的主要特点是: ( 1)每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节。 ( 2)数据 PDU 也称为文件块 (block),每个块按序编号,从 1开始。 ( 3)支持 ASCII 码或二进制传送。 ( 4)可对文件进行读或写。 ( 5)使用很简单的首部。 ( 6) TFTP 只支持文件传输而不支持交互; ( 7) TFTP 没有一个庞大的命令集; ( 8)没有列目录的功能; ( 9)也不能对用户 进行身份鉴别。 TFTP 的工作很像停止等待协议。 例如: ( 1)发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号。 ( 2)发完数据后在规定时间内收不到确认就要重发数据 PDU。 ( 3)发送确认 PDU 的一方若在规定时间内收不到下一个文件块,也要重发确认 PDU。 这样就可保证文件的传送不致因某一个数据报的丢失而告失败。 TFTP 在一开始工作时,客户进程发送一个读请求 PDU 或写请求 PDU 给 TFTP 服务器进程,其熟知端口号码为 69。 TFTP 服务器进程要选择一个新的端口和 TFTP客户进程进行通信。 若文件长度恰好为 512 字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据 PDU;若文件长度不是 512 字节的整数倍,则最后传送数据 PDU的数据字段一定不满 512 字节,这正好可作为文件结束的标志。 FTP 模式分析 当 对一个 FTP 问题进行排错时候, 首先要问的一个问题是使用的是 port 模式的还是passive 模式。 因为这两种行为迥异,所以这两种模式引起的问题也不同;在过去,客户10 端缺省为 active(port)模式;近来,由于 Port 模式的安全问题,许多客户端的 FTP 应 用缺省为 Passive 模式。 FTP 支持两种模式。 这两种模式被称为“标准”(或 PORT,或“主动”)和“被动”(或PASV)。 “标准”模式 FTP 客户端会向 FTP 服务器发送 PORT 命令。 “被动”模式客户端会向FTP 服务器发送 PASV 命令。 这些命令是在建立 FTP 会话时通过 FTP 命令通道进行发送的。 2种模式 FTP 客户端都要建立一个到 FTP 服务器上 TCP 端口 21的连接。 客户选择大于 1024的端口发起连接,此连接会建立 FTP 命令通道。 不能列目录是因为 FTP 使用不同的通道来传递数据,这也是 FTP 不同于 HTTP 服务的地方 , HTTP 需要一条通道就可以了。 servu默认的方式就是 PORT 方式。 PORT 方式能连接、也能列目录、能下载文件 , PASV 方式能连接、不能列目录下载文件。 FTP 的主动模式 (Port 模式 ) 主动模式 在主动模式中, FTP 服务器绑定了两个端口: 21 和 20 (这两个端口是默认值,可以设成别的端口)。 其中 21端口负责客户端和服务器之间的命令传送。 一开始,由客户端主动连接服务端的 21 端口,并且向服务器发送相应的 FTP 命令。 另外一个端口 20 是负责客户端和服务端的数据传送。 但要注意,并不是客 户端主动连接服务端的 20 端口,而是在客户端创建一个使用匿名端口的服务端连接(在 Java 中就是创建一个 ServerSocket 对象,并且绑定端口是 0)。 然后客户端通过 21 端口将这个匿名端口通知服务端。 最后,服务端主动连接客户端的这个 匿名端口(所以这种模式叫主动模式,就是服务器主动连接客户端)。 主动模式的工作原理。 图 主动模式的工作原理 从上图可以看出,在主动模式中,在传送命令和数据时,建立连接的过程是相反的。 也就是说,在传送命令时,由客户端主动连接服务器的 21 端口。 而传送数据时,由服务器主动连接客 户端的匿名端口。 这种方式是 FTP 服务器最初的工作模式,但这种模式有很11 大的局限性。 如客户端通过代理上网,而且未做端口映射。 在这种情况下,服务端是无法主动和客户端建立连接的。 Port 模式的 FTP 步骤 如下: 1) 客户端发送一个 TCP 2) SYN( TCP 同步)包给服务器段众所周知的 FTP 控制端口 21,客户端使用暂时的端口作为它的源端口; 3) 服务器端发送 SYN 4) ACK(同步确认)包给客户端,源端口为 21,目的端口为客户端上使用的暂时端口; 5) 客户端发送一个 ACK(确认)包;客户端使用这个连接来发送 FTP 命令, 服务器端使用这个连接来发送 FTP 应答; 6) 当用户请求一个列表 (List)请求或者发起一个要求发送或者接受文件的请求,客户端软件使用 PORT 命令,这个命令包含了一个暂时的端口,客户端希望服务器在打开一个数据连接时候使用这个暂时端口; PORT 命令也包含了一个 IP 地址,这个 IP 地址通常是客户自己的 IP 地址,而且 FTP 也支持第三方( thirdparty)模式,第三方模式是客户端告诉服务器端打开与另台主机的连接; 7) 服务器端发送一个 SYN 包给客户端的暂时端口,源端口为 20,暂时端口为客户端在 PORT 命令中发送给服务器端 的暂时端口号; 8) 客户端以源端口为暂时端口,目的端口为 20 发送一个 SYN ACK 包; 9) 服务器端发送一个 ACK 包; 10) 发送数据的主机以这个连接来发送数据,数据以 TCP 段 (注: segment,第 4层的 PDU)形式发送(一些命令,如 STOR 表示客户端要发送数据, RETR 表示服务器段发送数据),这些 TCP 段都需要对方进行 ACK 确认(注:因为 TCP 协议是一个面向连接的协议) 11) 当数据传输完成以后,发送数据的主机以一个 FIN 命令来结束数据连接,这个FIN 命令需要另一台主机以 ACK 确认,另一台主机也发送一个 FIN 命令,这个 FIN 命令同样需要发送数据的主机以 ACK 确认; 12) 客户端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以 FIN 命令来关闭一个控制连接,服务器端以 ACK 包来确认客户端的 FIN,服务器同样也发送它的 FIN,客户端用 ACK 来确认。 下图图示了 FTP PORT 模式前几步步骤: 12 图 FTP PORT 模式 FTP 的 被动模式 (Passive 模式 ) 被动模式 被动模式和主动模式在传送命令的方式上是一样的。 它们的区别就在于数据的传输上。 被动模式在建立命令传输通道后,服 务端建立一个绑定到匿名端口的 ServerSocket对象。 并通过命令传输通道将这个匿名端口通知客户端,然后由客户端主动连接服务端的这 个匿名端口。 这对于服务端就是被动的,因此,这种模式叫被动模式。 如 下 图 描述了被动模式的工作原理。 图 ftp 被动工作原理 现在的大多数 FTP 客户端软件的默认工作模式都是被动模式。 因此,这种模式可以克服防火墙等的限制,并且客户端不需要有固定 ,这就是在服13 务端要为客户开大量的端口(大多数 FTP 服务器开的端口范围是 1024 ~ 5000,但有的服务器的范围达到 1024 ~ 65535)。 这对于服务器来说存在着一定的安全隐患。 因此,如果可能的话,最好还是采用主动模式。 II Passive 模式的 FTP 的步骤 1) 客户端发送一个 TCPSYN( TCP 同步)包给服务器段众所周知的 FTP 控制端口 21,客户端使用暂时的端口作为它的源端口; 2) 服务器端发送 SYNACK(同步确认)包给客户端,源端口为 21,目的端口为客户端上使用的暂时端口; 3) 客户端发送一个 ACK(确认)包;客户端使用这个连接来发送 FTP 命令,服务器端使用这个连接来发送 FTP 应答; 4) 当用户请求一个列表 (List)或者发送或接收文件时候,客户端软件发送 PASV 命令给服务器端表明客户端希望进入 Passive 模式; 5) 服务器端进行应答,应答包括服务器的 IP 地址和一个暂时的端口,这个暂时的端口是客户端在打开数据传输连接时应该使用的端口; 6) 客户端发送一个 SYN 包,源端口为客户端自己选择的一个暂时端口,目的端口为服务器在 PASV 应答命令中指定的暂时端口号; 7) 服务器端发送 SYNACK 包给客户端, 目的端口为客户端自己选择的暂时端口,源端口为PASV 应答中指定的暂时端口号; 8) 客户端发送一个 ACK 包; 9) 发送数据的主机以这个连接来发送数据,数据以 TCP 段 (注: segment,第 4层的 PDU)形式发送(一些命令,如 STOR 表示客户端要发送数据, RETR 表示服务器段发送数据),这些 TCP 段都需要对方进行 ACK 确认; 10) 当数据传输完成以后,发送数据的主机以一个 FIN 命令来结束数据连接,这个 FIN 命令需要另一台主机以 ACK 确认,另一台主机也发送一个 FIN 命令,这个 FIN 命令同样需要发送数据的主机以 ACK 确认; 11) 客户 端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以 FIN 命令来关闭一个控制连接,服务器端以 ACK 包来确认客户端的 FIN,服务器同样也发送它的 FIN,客户端用 ACK 来确认。 ftp 的缺陷 在网络 上 ,ftp 以明文的方式传输数据 ,明文在网络上传输是极不安全的 ,所以这就成了 ftp 非常重大的缺陷 .现在通过 sniffer 抓包软件对 ftp 通行进行抓包 ,得到如下。(计算机专业毕业论文)ftp协议分析与扩展
相关推荐
.............................................................. 30 通信系统设计方案 ................................................................................ 35 通风采暖工程 .................................
,在规定的投标截止时间之前,可以书面形式补充修改或撤回已提交的投标文件,并通知招标人。 补充、修改的内容为投标文件的组成部分。 23. 2 投标人的补充、修改或撤回通知 ,应按本须知第 20 条有 关规定密封、标志和递交并在投标文件密封袋上清楚标明 补充修改 或 ”撤回 ”字样。 23. 3 投标撤回通知书也可采用传真的方式,只要招标人在投标截止 时间 前收到此传真,但此传真件应满足下列条件 :
婴儿的好处。 三是安排落实 镇 、村 两 级 医务人 员产后访视, 医务 人员深入到 村 、 到户,到人 ,进村 入 户进行专门一对一的宣教指导 , 为准妈妈进行母乳喂养知识和技巧的讲解。 四是从源头抓起,对于来医院定点分娩的孕产妇,进行一份母乳喂养的宣传教育的测试,抵制母乳替代用品。 五是 利用 镇“人口学校”
与以往不同。 本次演习依据公司文件确定全公司所有生产性部门﹐包括﹕注塑 /生产部﹑工程部﹑装配部﹑仓务部﹑总务部﹑车床部八个部门。 演习前 5 分钟﹐由公司高层决定模拟事故发生的部门﹐并通知其部门主管。 上述 部门主管依据公司文件及部门应急行动方案进行指挥和控制。 四﹑应急准备 为确保本次消防演习的成功﹐系统管理部应在前期做如下准备工作﹐包括﹕ (一 )
洛阳 2020 150KW 135I 作备用 4 卷扬机 JD16 2 中国青岛 2020 15 1. 5T 穿钢绞线 5 钻机 KP2020 8 中国洛阳 1999 45 钻孔 6 污水泵 6 中国上海 2020 30cm3/h 基坑抽水 7 挖掘机 CAT320 2 中国上海 2020 750 土方及基坑 8 压路机 12T 1 中国徐州 1998 120 12t 引道及支架基础 9 压路机
享网络成果、共担物流产业发展重任”为宗旨,共同建设的物流公共信息平台。 平台以企业信息系统为基础、公共信息平台为载体、企业信息系统与数4 帔 帔 据交换平台联网为核心。 平台目前 建设了五大 物流公共应用中心,主要包括物流跟踪中心、信用中心、资源中心、交通物流运行监测中心、东北亚物流公共服务系统。 帔 项目 范围 帔 为了确保 本项目建设过程能够满足不同类型用户对物流信息和物流业务的需求