《最新网络工程设计实验报告.doc》由会员分享,可在线阅读,更多相关《最新网络工程设计实验报告.doc(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络工程设计实验报告(可以直接使用,可编辑 优秀版资料,欢迎下载)网络工程设计报告班级:通信1202姓名:尹默成学号:202131003114小型企业网设计一.企业网络需求分析为适应企业信息化的发展,满足日益增长的通信需求和网络的稳定运行,今天的企业网络建设比传统企业网络建设有更高的要求,主要表现在如下几个方面。带宽性能需求现代企业网络应具有更高的带宽,更强大的性能,以满足用户日益增长的通信需求.随着计算机技术的高速发展,基于网络的各种应用日益增多,今天的企业网络已经发展成为一个多业务承载平台。不仅要继续承载企业的办公自动化,Web浏览等简单的数据业务,还要承载涉及企业生产运营的各种业务应用系
2、统数据,以及带宽和时延都要求很高的IP 、视频会议等多媒体业务。因此,数据流量将大大增加,尤其是对核心网络的数据交换能力提出了前所未有的要求。另外,随着千兆位端口成本的持续下降,千兆位到桌面的应用会在不久的将来成为企业网的主流。从2004年全球交换机市场分析可以看到,增长最迅速的就是10 Gbps级别机箱式交换机,可见,万兆位的大规模应用已经真正开始。所以,今天的企业网络已经不能再用百兆位到桌面千兆位骨干来作为建网的标准,核心层及骨干层必须具有万兆位级带宽和处理性能,才能构筑一个畅通无阻的高品质”企业网,从而适应网络规模扩大,业务量日益增长的需要。稳定可靠需求现代企业的网络应具有更全面的可靠性
3、设计,以实现网络通信的实时畅通,保障企业生产运营的正常进行。随着企业各种业务应用逐渐转移到计算机网络上来,网络通信的无中断运行已经成为保证企业正常生产运营的关键。现代大型企业网络在可靠性设计方面主要应从以下3个方面考虑。1、设备的可靠性设计:不仅要考察网络设备是否实现了关键部件的冗余备份,还要从网络设备整体设计架构、处理引擎种类等多方面去考察.2、业务的可靠性设计:网络设备在故障倒换过程中,是否对业务的正常运行有影响。3、链路的可靠性设计:以太网的链路安全来自于多路径选择,所以在企业网络建设时,要考虑网络设备是否能够提供有效的链路自愈手段,以及快速重路由协议的支持。应用服务需求现代企业网络应具
4、备更智能的网络管理解决方案,以适应网络规模日益扩大,维护工作更加复杂的需要。当前的网络管理能力的要求已经上升到了业务层次,传统的网络设备的智能已经不能有效支持网络管理需求的发展。比如,网络调试期间最消耗人力与物力的线缆故障定位工作,网络运行期间对不同用户灵活的服务策略部署、访问权限控制、以及网络日志审计和病毒控制能力等方面的管理工作,由于受网络设备功能本身的限制,都还属于费时、费力的任务。所以现代的大型企业网络迫切需要网络设备具备支撑”以应用为中心”的智能网络运营维护的能力,并能够有一套智能化的管理软件,将网络管理人员从繁重的工作中解脱出来. 企业网分层网络结构图二.企业网详细拓扑图三. 划分
5、IP地址由于IP地址紧张,分配给此公司的IP地址远远不能满足需求。为满足公司内部的科研,办公等用途,将使用NAT地址转换技术实现与因特网公网地址合法互连。 我们这里采用C类地址,为了便于维护与交流,我们将用地址的第4段对每个办公室的每台机器进行编号,如市场部1采用192。168。90。101,市场部-2采用192。168。90.102 以此类推.四. IP地址列表部门名编号IP网段默认网关市场部1192.168。90。101市场部2研发部1192。168。90.201192.168.90。1研发部2192.168。90.202质量监督部1192。168.40。101192。168。40。1质量
6、监督部2192.168。40。102财务部1192。168。40。201192。168。40。1财务部2192.168。40。1维修部-192。168。50.2192.168。40.1总经理-192。168。80。2192。168。40.1五. Cisco Packet Tracer仿真拓扑图本次实验使用的Cisco Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境13.用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。可以学习I
7、OS的配置、锻炼故障排查能力。网络拓扑结构15是指用各种传输介质互相连接各种设备的物理布局,指构成网络的成员之间物理的或逻辑的排列方式。主要有两种类型,即总线型与星型。拓扑结构的选择不但与网络需求、地理概况相关,同时也与传输媒体及媒体访问控制方法紧密相连。在选择网络拓扑结构时,需要考虑到可量。在一个在总线型网络中,由于各计算机共享一条通信电缆,网络中某个节点出现故障,将导致整个网络瘫痪.因此,目前这类结构的网络已趋于淘汰。而星型网络在网络中某个节点出现故障时不会影响整个网络的运行。其缺点是每个计算机都要占用一条专用的通信线路,并且需要额外的通信设备,将导致成本的增加。但是,由于目前各种硬件设备
8、价格都已非常便宜,所以,现在绝大部分局域网都采用了这种结构。六. 实验设备的配置1. 对二层交换机的配置 以二层交换机switch0为例:SwitchSwitchenableSwitch#configure terminalSwitch(config)vlan 10Switch(config)interface FastEthernet0/1Switch(configif)switchport access vlan 10Switch(config)#interface FastEthernet0/2Switch(config-if)switchport access vlan 10Switc
9、h(config)#interface FastEthernet0/3Switch(config-if)switchport access vlan 102. 对三层交换机的配置 以三层switch0为例:SwitchSwitchenableSwitch#configure terminalSwitch(config)vlan 10Switch(config)interface FastEthernet0/1Switch(config-if)switchport access vlan 20Switch(configif)interface FastEthernet0/2Switch(conf
10、ig-if)#switchport access vlan 20Switch(configif)interface FastEthernet0/5Switch(config-if)#switchport access vlan 20Switch(config-if)#interface FastEthernet0/3Switch(configif)#switchport mode trunkSwitch(configif)interface FastEthernet0/5Switch(configif)#switchport access vlan 203. 对路由器的配置 以router0为
11、例 Router0enRouter0#configure terminalRouter0(config)#interface fa0/0Router0(config-if)ip address 192.168。50。1 255.255。255。0Router0(config-if)interface fa0/1Router0(configif)ip address 192.168。60.1 255.255。255。0Router0(configif)#interface eth1/0Router0(config-if)ip address 192.168。70.1 255。255。255。0R
12、outer0(configif)exitRouter0(config)router ripRouter0(configrouter)#version 2Router0(configrouter)#network 192.168。60。0Router0(config-router)#network 192.168。70。0六。仿真结果1.随意选取一个主机,观察其是否能自动获取IP地址。经测试,DHCP功能正常.2.通信结果取市场部1和总经理通信:取维修部和总经理通信:取质量监督部研发部通信:网络安全实验报告冰河木马实验网络10-2班 XXX 08103635一、 实验目的通过学习冰河木马远程控制
13、软件的使用,熟悉使用木马进行网络攻击的原理和方法。二、 实验内容1、 在计算机A上运行冰河木马客户端,学习其常用功能;2、 在局域网内另一台计算机B上种入冰河木马(服务器),用计算机A控制计算机B;3、 打开杀毒软件查杀冰河木马;4、 再次在B上种入冰河木马,并手动删除冰河木马,修改注册表和文件关联。三、 实验准备1、 在两台计算机上关闭杀毒软件;2、 下载冰河木马软件;3、 阅读冰河木马的关联文件。四、 实验要求1、 合理使用冰河木马,禁止恶意入侵他人电脑和网络;2、 了解冰河木马的主要功能;3、 记录实验步骤、实验现象、实验过程中出现的意外情况及解决方法;4、 总结手动删除冰河木马的过程。
14、五、 实验过程作为一款流行的远程控制工具,在面世的初期,冰河就曾经以其简单的操作方法和强大的控制力令人胆寒,可以说达到了谈冰色变的地步。鉴于此,我们就选用冰河完成本次实验。若要使用冰河进行攻击,则冰河的安装(是目标主机感染冰河)是首先必须要做的。冰河控制工具中有三个文件:Readme.txt,G_Client。exe,以及G_Server。exe。Readme。txt简单介绍冰河的使用。G_Client.exe是监控端执行程序,可以用于监控远程计算机和配置服务器。G_Server。exe是被监控端后台监控程序(运行一次即自动安装,开机自启动,可任意改名,运行时无任何提示)。运行G_Server
15、。exe后,该服务端程序直接进入内存,并把感染机的7626端口开放.而使用冰河客户端软件(G_Client.exe)的计算机可以对感染机进行远程控制。冰河木马的使用:1、 自动跟踪目标机屏幕变化,同时可以完全模拟键盘及鼠标输入,即在同步被控端屏幕变化的同时,监控端的一切键盘及鼠标操作将反映在被控端屏幕(局域网适用)。2、 记录各种口令信息:包括开机口令、屏保口令、各种共享资源口令及绝大多数在对话框中出现的口令信息。3、 获取系统信息:包括计算机名、注册公司、当前用户、系统路径、操作系统版本、当前显示分辨率、物理及逻辑磁盘信息等多项系统数据。4、 限制系统功能:包括远程关机、远程重启计算机、锁定
16、鼠标、锁定系统热键及锁定注册表等多项功能限制。5、 远程文件操作:包括创建、上传、下载、复制、伤处文件或目录、文件压缩、快速浏览文本文件、远程打开文件(正常方式、最小化、最大化、隐藏方式)等多项文件操作功能。6、 注册表操作:包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表操作功能.7、 发送信息:以四种常用图标向被控端发送简短信息.8、 点对点通讯:以聊天室形式同被控端进行在线交谈等。入侵目标主机:首先运行G_Client.exe,扫描主机。查找IP地址:在“起始域”编辑框中输入要查找的IP地址,本实验搜索IP地址“219。219。68.*”网段的计算机,点“开始搜索”按钮,在
17、右边列表框中显示检测到已经在网上的计算机的IP地址。搜索框内有显示状态为ERR的主机,是因为这些主机上没有种马,即没有安装服务器。实验中,我选择控制的主机的IP为“”。在命令控制台中操作:口令类命令:系统命令及口令历史口令击键记录控制类命令:抓捕屏幕发送信息进程管理窗口管理系统控制鼠标控制其他控制网络类命令:网络信息-查看共享文件类命令:文件复制注册表读写:键值读取设置类命令:服务器端配置读取服务器配置修改服务器配置六、实验小结对于计算机木马的概念,我们都还局限在很窄的层面,通过对冰河木马的学习并使用它完成本次实验,认识到木马是怎样侵入到我们的计算机并获得所需要的信息的.对木马病毒的防护建议:
18、1、及时下载系统补丁,修补系统漏洞;2、提高防范意识,不要打开陌生人的可以邮件和附件,其中可能隐藏病毒;3、如果电脑出现无故重启、桌面异常、速度变慢等情况,注意检查是否已中病毒;4、使用杀毒软件和防火墙,配置好运行规则。目录1 绪论21.1 研究背景21。2 主要工作22 相关知识介绍22。1 FTP 工作原理22.2 FTP工作模式32.3 FTP 传输模式42.3.1 ASCII传输方式52。3.2 二进制传输方式53 FTP客户端的设计53.1设计目的及工具选择53.1.1 设计目的53.1。2 设计工具53。2 客户端主要模块设计63。2.1 客户端连接模块63。2.2 上传模块83.
19、2.3 下载模块114 调试与操作说明154。1 运行方法154.2运行结果155 课程设计总结17参考文献17FTP客户端的设计与实现FTP 是Internet 上用来传送文件的协议。它是为了我们能够在Internet 上互相传送文件而制定的文件传送标准,规定了Internet 上文件如何传送.通过FTP 协议,我们就可以跟Internet 上的FTP 服务器进行文件的上传或下载。本文以实现一个简单易用的FTP 客户端为目标,通过分析FTP 协议的基本工作原理和FTP 的数据传输原理,研究如何使用C+ 工具对FTP 客户端进行设计,选择C+来实现FTP 客户端程序的上传下载等主要功能, 并用
20、相应软件提供的一个支持可视化编程的开发环境,从而实现了对FTP 客户端的实现。1 绪论1.1 研究背景FTP是Internet上最早也是最广的应用,直到今天它仍是最重要和最基本的应用之一.用FTP将信息下载到本地是一件十分普遍的事.也随之出现了许多下载软件。尽管远程登录(Telnet)提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机中的文件方便。如果用户想使用其它计算机上的文件,最理想的方法就是把它COPY到自己的计算机中,以便在本地计算机上操作。FTP正是完成这项工作的工具,你可以在任意一个经过文件传输协议(FTP)访问的公共有效的联机数据库或文档中找到你想要的任何东西。全世界现在
21、已有1000多个(96年的数据)FTP文件服务器对所有INTERNET用户开使用,用户可以通过与Internet相连到远程计算机,把自己需要的文件传输过来或是把自己的收集传输上去与他人共享.传统的数据库应用系统采用的是客户机/服务器(Client/Server)模式,有高度的交互性,高效的用户界面等优点1。2 主要工作通过客户端可以实现文件的上传和下载。其促进文件的共享(计算机程序或数据)、鼓励间接或者隐式的使用远程计算机、向用户屏蔽不同主机中各种文件存储系统的细节和可靠和高效的传输数据。2 相关知识介绍2。1 FTP 工作原理FTP(File Transfer Protocol),是文件传输
22、协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。用户可以通过它把自己机器与世界各地所有运FTP协议的服务器相连,访问服务器上的资源和信息。FTP协议在TCP/IP协议栈中的位置如表1:表1 TCP/IP协议栈HTTP FTP TELN SMTP DNS TFTP NMP应用层TCP UDP传输层IP互联网络层X25 ISDN LAN WLAN FDDI ATM网络接口层当启动FTP从远程计算机拷贝文件时,事实上启动了两个程序:一个本地机器上的FTP客户端程序,它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应请求把你指定
23、的文件传送到你的计算机中。FTP采用“客户端/服务器”方式,用户要在自己的本地计算机上安装FTP客户端程序。从根本上说,FTP协议就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件.FTP协议采用客户端/服务器(Client/Sever)模式,由FTP客户端程序和FTP服务器端程序组成。使用时,先启动FTP客户端程序与远程主机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后就给予响应,并执行正确的命令。但是FTP有一个根本的限制,那就是,如果用户在某个主机上没有注册获得授权,即没有用户名和口令,就不能与该主机进行文件传输。但匿名FTP服务器除外,它能够使用户与远程主机建立
24、连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“Anonymous”或“guest”就可有限制地访问远程主机上公开的文件。现在许多系统要求用户将Emai1地址作为口令,以便更好地对访问者进行跟综。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载文件,而不允许上载文件.也就是说,用户只能从匿名FTP主机拷贝其需要的文件而不能把文件拷贝到匿名FTP主机。另外,匿名FTP主机还采用了其他一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的
25、匿名FTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息、数据和软件。人们只要知道特定信息资源的主机地址,就可以用匿名FTP登陆.2。2 FTP工作模式FTP 采用C/S(客户端/服务器)模式进行通信,但与其他的C/S 模式网络通信协议又有一个很大的区别.通常在进行HTTP 通信或是TELNET 通信的时候,只需要一个端口进行通信.即客户端只需要连接一个端口进行数据通信。如TELNET 的默认端口是23,用户从头到尾都只需使用这个端口。但是FTP 通信除了有一个默认端口21 之外,还需要其他的端口。其中默认端口(21)主要进行控制连接,进行命令协议和服务器端的响应码的传输;另外一个非
26、标准端口主要进行数据传递,如文件的上载、下载等。至于非标准端口的产生则要根据用户选择的连接模式而定:如果客户选择的是主动模式(PORT),则需要用户端提供给服务器一个IP 地址和一个非标准端口;而如果用户采用被动模式(PASV),则服务器端需要提供给客户端一个IP 地址和一个非标准端口。下表是几个著名的TCP 端口号:表2 TCP 端口号TCP 端口号关键字描述20 FTP-DATA文件传输协议数据21FTP文件传输协议控制23TELENET远程登录协议25SMTP简单邮件传输协议53DOMAIN域名服务器80HTTP超文本传输协议110POP3邮局协议119NNTP新闻传送协议FTP 中字节
27、大小有两个:逻辑字节大小和用于传输的字节大小。后者通常是8 位,而前者可不一定是多少了。传输字节不必等于逻辑字节大小,也不必对数据结构进行解释。控制连接是建立在USER-PIT 和SERVERPI 之间用于交换命令与应答的通信链路。数据连接是传输数据的全双工连接,传输数据可以发生在服务器DTP 和用户DTP之间也可以发生在两个服务器DTP 之间,FTP 可以传输非连续的文件,这些文件的一部分称为页。服务器DTP 代表一种传输过程,它通常处于“主动”状态,它和侦听端口建立数据连接,它还可以为传输和存储设置参数,并根据PI 的指令传输数据。当然,DTP 也可以转入“被动”状态.服务器FTP 进程,
28、它是和用户FTP 进程一起工作的,它由PI 和DTP 组成。在开始阶段,标准FTP 命令由用户PI 产生并通过控制连接传送到服务器进程.服务器PI 向用户PI 返回标准应答。FTP 命令指定数据连接参数和文件系统操作.用户DTP 在特定数据端口侦听,服务器开始数据连接并以指定的参数开始数据传输。数据端口不必在开始FTP 命令的机器上,但用户或用户FTP 进程必须确定它在指定的数据端口上侦听。这个数据连接是全双工的.2。3 FTP 传输模式FTP 协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp
29、协议对话,并且能访问Internet,你可以用ftp 命令来传输文件.每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。2.3。1 ASCII传输方式假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打
30、印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理。二进制传输方式在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的.例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢,也会损坏数据,使文件变得不能用。3FTP客户端的设计3。1设计目的及工具选择设计目的FTP 早已应用在网络的各个方面,比如我们在访问网络上的资源时,经常会遇到需要连接FTP 服务器来下载,或者
31、你制作了一个网站,想要将其上传至服务器,让大家能够访问它,这个时候就会用到FTP 客户端。虽然平时使用windows 自带的IE 浏览器即可实现对FTP 服务器的访问,但是IE 只是个很粗糙的FTP 客户端。IE 浏览器在6。0 以下的版本不支持PASV 方式访问服务器,而且IE 浏览器在登录FTP 服务器的时候,无法查看返回的信息,在出错的时候,无法找到错误的原因,因此在使用上很不方便。现在大多数的FTP 客户端软件都是收费版的,而且以英文版居多,使用上操作很复杂,目前流行的有CoreFtp、AceFtp、Ftp Voyager 等,但是大多数用户并不习惯使用这些软件。本文所设计的FTP 客
32、户端则适合大多数用户使用,界面设计的很简单,使用户可以一目了然,而且具备FTP 客户端的基本功能,可以作为下载、上传文件的工具来使用。3.1。2设计工具 程序设计中用到的主要工具就是VC+6.0开发平台,EasyFZS FTP服务器3。2 客户端主要模块设计3.2。1 客户端连接模块运行客户端后,首先是连接服务器,需要输入服务器IP 地址,用户名和密码,然后点击查询,观察是否连接成功,若成功则显示远程文件的列表。 若连接失败,则抛出异常,弹出对话框显示出错误,可知如何修改,然后重新输入服务器IP 地址或用户名或密码,直到连接上服务器。下图为客户端连接流程图:查询服务器判断在显示目录文件列表显示
33、文件进行错误处理用户输入服务器地址及用户名和密码是否 图3-1 客户端连接流程图主要代码:在OnInitDialog()函数中添加成员变量的初始化代码,对服务器名、登录用户名和登录口令的控件变量赋初值:BOOL CFTP14Dlg::OnInitDialog()/前面是MFC应用程序向导和类向导自动生成的代码/ TODO: Add extra initialization herem_strFtp=_T(”);/初始化服务器域名m_strName=_T(”);/初始化登录用户名m_strPwd=_T(”);/初始化登录口令UpdateData(FALSE);/更新界面return TRUE;/
34、return TRUE unless you set the focus to a control当用户点击查询按钮,执行此函数OnQuery(),代码如下:void CFTP14Dlg::OnQuery() CInternetSession* pSession; /定义会话对象指针变量CFtpConnection* pConnection; /定义连接对象指针变量CFtpFileFind* pFileFind; /定义文件查询对象指针变量CStringstrFileName;BOOL bContinue;pConnection=NULL; /初始化pFileFind=NULL;UpdateD
35、ata(TRUE); / 获得用户的当前输入(服务器名,用户名和口令)while(m_listFile.GetCount()!=0) m_listFile.DeleteString(0); / 清除列表框的内容pSession=new CInternetSession( / 创建Internet会话类对象AfxGetAppName(),1,PRE_CONFIG_INTERNET_ACCESS);try / 试图建立与指定FTP服务器的连接pConnection=pSession-GetFtpConnection(m_strFtp,m_strName,m_strPwd); catch (CInt
36、ernetException e) e-Delete(); / 无法建立连接,进行错误处理pConnection=NULL;if (pConnection!=NULL)/ 创建CFtpFileFind对象,向构造函数传递CFtpConnection对象的指针pFileFind=new CFtpFileFind(pConnection);bContinue=pFileFindFindFile(*”); / 查找服务器上当前目录的任意文件if (!bContinue) / 如果一个文件都找不到,结束查找pFileFindClose();pFileFind=NULL;while (bContinue
37、) / 找到了第一个文件,继续找其它的文件strFileName=pFileFindGetFileName(); / 获得找到的文件的文件名/ 如果找到的是否目录,将目录名放在括弧中if (pFileFind-IsDirectory() strFileName=”+strFileName+;/ 将找到的文件或目录名显示在列表框中。m_listFile。AddString(strFileName);bContinue=pFileFindFindNextFile(); / 查找下一个文件if (pFileFind!=NULL)pFileFind-Close(); / 结束查询pFileFind=N
38、ULL;delete pFileFind; / 删除文件查询对象if (pConnection!=NULL)pConnectionClose();delete pConnection; / 删除FTP连接对象delete pSession; / 删除Internet 会话对象 上传模块用户在连接上服务器后,可以在本地列表中选择需要上传的文件,并指定上传位置,将本机上的文件上传至FTP 服务器。不能选择文件夹,只能选择文件.若上传失败,则抛出异常;如果成功上传,则提示上传成功。图为上传子模块流程图:点击上传按钮弹出文件选择对话框选择需要上传的文件判断是否弹出文本框显示上传成功弹出文本框显示上传失
39、败图3-2上传模块流程图上传模块的主要代码为:void CFTP14Dlg:OnUpload() /获得当前输入UpdateData(TRUE);/禁用用于输入的文本框控件m_editFtp。EnableWindow(FALSE); /服务器域名输入文本框m_editName.EnableWindow(FALSE); /登录客户名输入文本框m_editPwd。EnableWindow(FALSE); /口令输入文本框m_staFtp.EnableWindow(FALSE);m_staName。EnableWindow(FALSE);m_staPwd.EnableWindow(FALSE);/禁
40、用查询按钮m_btnQuery.EnableWindow(FALSE);CStringstrSourceName;CStringstrDestName;CFileDialogdlg(TRUE,”,*。*”); /定义文本对话框对象变量if (dlg。DoModal()=IDOK)/获得待上传的本地机文件路径和文件名strSourceName=dlg。GetPathName();strDestName=dlg。GetFileName();/调用Upload函数上传文件if (Upload (strSourceName,strDestName))AfxMessageBox(上传成功!,MB_OKM
41、B_ICONINFORMATION);elseAfxMessageBox(上传失败!”,MB_OKMB_ICONSTOP); else /文件选择有错误AfxMessageBox(”请选择文件!”,MB_OK|MB_ICONSTOP);/激活查询按钮m_btnQuery。EnableWindow(TRUE);/激活用于输入的文本框控件m_editFtp。EnableWindow(TRUE);m_editName.EnableWindow(TRUE);m_editPwd.EnableWindow(TRUE);m_staFtp.EnableWindow(TRUE);m_staName.Enable
42、Window(TRUE);m_staPwd。EnableWindow(TRUE);BOOL CFTP14Dlg::Upload(CStringstrSName, CStringstrDName)CInternetSession* pSession;CFtpConnection* pConnection;pConnection=NULL;/创建Internet会话pSession=new CInternetSession(AfxGetAppName(), 1,PRE_CONFIG_INTERNET_ACCESS);try/建立FTP连接pConnection=pSessionGetFtpConn
43、ection(m_strFtp,m_strName, m_strPwd);catch (CInternetException* e)/错误处理eDelete();pConnection=NULL;return FALSE;if (pConnection!=NULL)/上传文件if (!pConnection-PutFile(strSName,strDName)/上传文件错误pConnection-Close();deletepConnection;deletepSession;return FALSE;/清除对象if (pConnection!=NULL)pConnection-Close()
44、;deletepConnection;deletepSession;return TRUE;3。2。3 下载模块当用户在服务器文件列表中选择想要下载的文件后,选择需要下载文件在本机上的存储位置,设置上传模式为被动模式;将服务器上的文件下载至本机,如果成功下载,则提示下载成功,若失败则抛出异常,此过程可连续进行直到想退出。下图为下载子模块流程图:选择要下载的文件点击下载按钮命名文件名及文件类型弹出文本框显示下载成功弹出文本框显示下载失败下载文件是否成功选择文件在本机存储位置是否图32 下载模块流程图下载模块的主要代码:void CFTP14Dlg::OnDownload() /获得当前输入UpdateData(TRUE);intnSel=m_listFile。GetCurSel();CStringstrSourceName;/获得用户在列表框中的选择nSel=m_listFile.GetCurSel();m_listFile。GetText