1、 本 科 毕 业 论 文 (科研训练、毕业设计 ) 网络服务器 FTP 客户端 的 设计与实现 The Design and Implementation of FTP Client for Network Server 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 校外 指导教师: 校内 指导教师: 年 月 摘要 由于网络 环境越来越复杂,企业网络的安装和维护的难度大大增加,给网络管理员带来了沉重的负担。为了简化当今企业级用户网络安装 和 维护的难度,加强企业网络的安全,富士通公司推出了新的网络服务器。该设备集路由器、 UTM、负载平衡等功能于一体,大大简化
2、了企业网络的复杂性,提升网络安装和维护的效率。 由于在使用过程中,经常需要从设备中向外部传送文件或从外部获取文件,因此需要为该设备提供一款 FTP 客户端软件。与普通 FTP 客户端相比,应该具备文件过滤功能,只能对 系统中 特定的文件进行操作。由于 这些 文件在系统中分布在不同的文件夹中,因此 如何实现一种简便、有效、 易扩展 的文件过滤机制成为本系统的研究重点。 本文主要研究如下几个方面的内容 : 第一、如何利用 Linux 系统中常见的配置文件机制来创建一个适合本系统的文件过滤体制。 第二、由于配置文件位于不同的系统路径中,如何解决 FTP 客户端的本地工作目录问题。 第三、 介绍了如何
3、对该 FTP 客户端进行测试。 关键词 :文件过滤; FTP; Linux Abstract As the network grows large, the installation and maintenance of the enterprise network turns out to be very hard, which has become the burden of network administrator. To simplify this work and strengthen the security of enterprise network., Fujitsu com
4、pany introduces a new series of network server. It integrates the function of router, UTM, load-balance, etc, which could sharply simplify the complexity of enterprise network and improve the efficiency of installation and maintenance. During the daily work, we often need to upload file to outside s
5、erver or download file into the server. So, we need a specified FTP client to finish this job. Compared to common FTP client, it must have a file filtering, so we can only operate on some certain files. Because these files are in different paths, its the point to realize a easy, efficient, upgradeab
6、le file-filter mechanism. The whole work mainly focuses on the following aspects: 1. How to create a adequate mechanism referring to the existed configuration file custom in Linux. 2. As the files are in different paths, how to solve the local working directory. 3. How to test the FTP client is expl
7、ained. Key words: File-filter; FTP; Linux 目录 第一章 绪论 . 1 1.1 选题背景与意义 . 1 1.2 现阶段研究状况 . 1 1.3 本文的主要内容和结构 . 1 第二章 背景知识 . 3 2.1 产品介绍 . 3 2.2 系统结构介绍 . 3 2.2.1 系统总体结构 . 3 2.2.2 CLI 系统结构 . 4 2.3 FTP 客户端需求介绍 . 6 2.3.1 FTP 模块存在形式 . 6 2.3.2 FTP 模块 FD 部分文档 . 6 2.4 本章小结 . 9 第三章 FTP 客户端原理 . 10 3.1 FTP 协议简介 . 10
8、3.2 FTP 客户端工作流程 . 10 3.3 本章小结 . 11 第四章 定制 FTP 客户端的设 计与实现 . 12 4.1 系统设计 . 12 4.1.1 系统结构设计 . 12 4.1.2 系统流程 . 12 4.1.3 系统流程图 . 13 4.2 详细设计 . 15 4.2.1 本地工作目录 . 15 4.2.2 过滤规则文件 . 15 4.2.3 上传操作流程图 . 16 4.2.4 下载操作流程图 . 18 4.3 模块测试 . 19 4.3.1 命令输入测试 . 19 4.3.2 消息检查 . 19 4.3.3 全路由 测 试 . 19 4.4 系统运行效果图 . 19 4
9、.5 本章小结 . 21 第五章 总结 . 22 致谢 . 23 参考文献 . 24 CONTENTS Chapter 1 Introduction . 1 1.1 The Research Topics Background and Significance . 1 1.2 The Status Quo . 1 1.3 The Main Work and Structure of This Thesis . 1 Chapter 2 Background Knowledge . 3 2.1 Production Introduction . 3 2.2 System Structure Int
10、roduction . 3 2.2.1 System Introduction . 3 2.2.2 CLI Module Introduction . 4 2.3 FTP Client Requirement Introduction. 6 2.3.1 The Form of the FTP Client . 6 2.3.2 FD Document for FTP module . 6 2.4 Chapter Summary. 9 Chapter 3 How FTP Works . 10 3.1 File Transfer Protocol . 10 3.2 FTP Client Work F
11、low. 10 3.3 Chapter Summary. 11 Chapter 4 The Design and Implementation of FTP . 12 4.1 System Design . 12 4.1.1 System Structure Design . 12 4.1.2 System Flow. 12 4.1.3 System Flow Graph. 13 4.2 Detailed Design . 15 4.2.1 Local Working Directory . 15 4.2.2 File-filter Rule File . 15 4.2.3 Upload Fl
12、ow Graph. 16 4.2.4 Download Flow Graph. 18 4.3 Module Test. 19 4.3.1 Command Input Test . 19 4.3.2 Message Check . 19 4.3.3 All Route Test. 19 4.4 System Running Graph . 19 4.5 Chapter Summary. 21 Chapter 5 Summary . 22 Acknowledgement . 23 Reference . 24 网络服务器 FTP 客户端的设计与实现 1 第一章 绪论 1.1 选题背景 与意义 本项
13、目来源于 企业实际项目。该项目主要内容是为网络服务器开发命令行解析器,负责处理用户输入的命令并完成用户指定的内容。其中一个模块就是要在该系统中提供一个 FTP 客户端,用以从服务器 外部获取文件或向服务器外部传送文件。其中最重要的功能则是要实现 文件的过滤。由于服务器自身系统中并非所有文件均可公开,如何实现一种 合适的 机制来保证文件过滤对该系统有着至关重要的作用。 1.2 现阶段研究状况 目前, FTP 协议应用广泛。各种平台下的 FTP 客户端和服务器端层出不穷,功能也大致相同。 在 Linux 系统下,更是有大量的 开源 FTP 客户端工具,这些工具都提供了通用的文件下载、上传等功能。然
14、而,都不具备文件过滤的功能,因此更不存在成熟的文件过滤机制。因此,我们需要在这类基本的 FTP 客户端基础上建立一种简易、易扩展 的文件过滤机制。 1.3 本文的主要 内容和 结构 本文主要讲述了如何在开源 FTP 的 基础上,设计文件过滤机制 从而满足项目的需求。本文主要讲述以下 几个部分的内容: ( 1)该服务器系统的结构 ( 2) FTP 客户端的基本原理 ( 3) 过滤机制创建 本文后续章节安排如下: 第二章、介绍该服务器及其软件系统,阐述 FTP 客户端的运行环境, 从而对系统流程有详细的认识。 第三章、分析 FTP 客户端工作的主要原理从而对其改造打下基础。 第四章、详细介绍过滤机
15、制的设计,以及如何建立一个合理的文件过滤机制 。网络服务器 FTP 客户端的设计与实现 2 并且讲解在项目中如何对其进行测试。最后展示系统运行效果。 最后总结本文的研究工作和结果,并就本文的后续研究提出自己的思考、见解和展望。 网络服务器 FTP 客户端的设计与实现 3 第二章 背景知识 本章主要介绍该 FTP 客户端运行的硬件环境和软件环境,以及 FTP 客户端的需求。为系统的开发奠定知识基础。 硬件环境主要对该网络服务器功 能和特性进行简要介绍。 软件环境主要介绍该网络服务器软件系统的总体结构,对 Monitor, CLI,Web, Engine 这几个模块的功能和环境做简要介绍。由于 F
16、TP客户端隶属于 CLI系统,因此对于 CLI 系统进行了更为详细的介绍。 最后,对于此次 FTP 客户端的具体功能,通过项目开发文档做简要说明。 2.1 产品介绍 当今社会,计算机网络成为企业发展必不可少的因素。然而,面对越来越多的 攻击手段,企业网络的安全受到严重威胁,普通的网络路由器远远不能满足安全等方面的要求,因此富士通公司在研究了现阶段企业网络 的新形势后,推出了一系列新型的网络服务器。该系列产品是一套综合网络设备,除了常见网络设备的交换 /路由功能,还提供了 VPN、 IIOP、带宽控制、负载均衡、路由控制、 PPPoE、DHCP、 DNS、 NAT 等网络控制功能 1。在安全上,
17、增加了访问控制、状态检测、攻击防御等防火墙功能,大大简化了网络的安装和维护。该网络服务器不仅提供了传统的命令行配置界面,同时提供了 Web 配置界面以及基于 JRE 的监控模块,降低了对网络管理员的要 求,简化了设备的配置和维护。 2.2 系统结构介绍 2.2.1 系统总体结构 如图 2-1, 该系统主要模块及其功能现简要介绍如下: ( 1) Engine:负责直接与系统硬件交互,提供了一系列接口由 CLI 模块调用,完成用户命令的配置。 ( 2) CLI:即 Command Line Interpreter,负责与 Engine 交互,接受来自命令行和 Web 界面的命令,经过分析、处理后调用 Engine 提供的 API 完成命令