⑴ 我们计算机网络课设,做一个FTP客户机,有一个源代码和核心代码,用visual c++应该运行哪个代码
当然是源代码
⑵ 求一个ftp客户端设计程序,1)要求实现的程序为图形化界面(如图3-14所示),可以输入FTP服务的相关信息(
可以参考下开源的FileZilla
补充:
既然是废话,那也不需要多说了
⑶ 如何使用 FTP 软件
文件传输协议
文件传输协议(File Transfer Protocol, FTP)是一个用于在两台装有不同操作系统的机器中传输计算机文件的软件标准。它属于网络协议组的应用层。
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。
概述
FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。
FTP实现的目标:
促进文件的共享(计算机程序或数据)
鼓励间接或者隐式的使用远程计算机
向用户屏蔽不同主机中各种文件存储系统的细节
可靠和高效的传输数据
缺点:
密码和文件内容都使用明文传输,可能产生不希望发生的窃听。
因为必需开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。
通过使用被动模式的FTP得到了很大解决。
服务器可能会被告知连接一个第三方计算机的保留端口。FTP虽然可以被终端用户直接使用,但是它是设计成被FTP客户端程序所控制。运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。
FTP有两种使用模式:
主动和被动。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
一个主动模式的FTP连接建立要遵循以下步骤:
客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。
客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。
服务器打开20号源端口并且建立和客户端数据端口的连接。此时,源端口为20,远程数据端口为(x+1)。
客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。
FTP和网页浏览器
大多数最新的网页浏览器和文件管理器都能和FTP服务器建立连接。这使得在FTP上通过一个接口就可以操控远程文件,如同操控本地文件一样。这个功能通过给定一个FTP的URL实现,形如 ftp://<服务器地址>(例如, ftp://ftp.gimp.org )。是否提供密码是可选择的,如果有密码,则形如 ftp://:@。大部分网页浏览器要求使用被动FTP模式,然而并不是所有的FTP服务器都支持被动模式。
网络协议
应用层 DNS, FTP, ENRP,HTTP, IMAP, IIRC, NNTP,POP3, SIP, SMTP, SNMP, SSH, Telnet, BitTorrent, DHCP ...
传输层 DCCP, SCTP, TCP, RTP, UDP, IL, RUDP, ...
网络层 IPv4,IPv6...
数据链路层 以太网,Wi-Fi, 令牌环, MPLS, PPP ...
物理层RS-232, EIA-422, RS-449, EIA-485,10BASE2,10BASE-T...
⑷ java中怎么实现ftp服务器
学习了计算机网络之后,利用java写了一个ftp服务器。
一、实现的ftp命令
实现了基本的user,pass,list,port,quit,retr,cwd,stor等命令
二、以上命令所对应的功能
对应的功能是:下载,上传,获取服务器目录,切换目录等
三、用于测试的ftp客户端:windows自带的ftp客户端
四、实现的思想
1、使用ServerSocket进行监听,每个控制连接的请求到来之后,开启一个线程进行处理(这里使用的java bio,效率较差,对于控制连接最好使用NIO处理,之后会再写个
nio的实现)
2、 对于命令使用工厂方法模式进行设计,当需要添加新的命令的时候,只需要添加一个新的命令类,实现相应接口,修改工厂产生逻辑,而不用修改其他的程序代码。可
扩展性较好,同时符合开闭原则。
五、实现过程中碰到的问题
1、对于tcp与socket的关系理解错误,以为所有的数据的输入都是要经过serverSocket().accept()方法。其实,ServerSocket.accept()所对应的是tcp里面的三次握手建
立连接的阶段,之后的tcp的连接由客户端和服务器端的一对socket来维护,是属于establish阶段,在这个阶段,通信是全双工的,任何一方都能够发送数据。
socket.close()对应的阶段是断开连接(四次挥手)的阶段。
2、刚开始对于ftp协议不是很理解,不知道他的工作方式是怎样的,后来在看了tcp协议卷里面的ftp的内容之后,才知道ftp命令和应答码是关键。eg:刚开始测试时,在
输入用户名之后,不会提示输入密码的。原因:没有返回对应的应答码:331. 另外要注意的是:返回的数据要以换行回车作为结束--\r\n.
六、代码列表
简单说明:
ftpServer:是服务器的主程序,入口,同时负责监听本地的21号端口。
ControllerThread.java:用于处理控制连接的线程(每一个控制连接请求对应一个线程)ps:实在很浪费(流量小,连接多)。
Share:一些全局性数据的维护。
Command:是命令接口,定义了一个所有命令都要实现的方法。
CommandFactory:命令工厂,通过传人的参数,决定生成的命令对象。
UserCommand,PortCommand等:是具体ftp命令的实现
⑸ ftp客户端 论文摘要怎么写啊!!急
FTP服务器的编程及应用(jsj139)
完成一个简单FTP服务器的编程及应用。实现的功能包括:上传、
下载、选择数据传输模式、改变目录等,并给出相应的提示。
目 录
引言······································1
正文······································2
第一章 FTP协议分析·······························2
1.1FTP工作原理·································2
1.1.1基本名词································· 2
1.1.2 FTP的工作原理图····························· 3
1.2FTP标准命令································ 4
1.3FTP标准回答································ 5
第二章 FTP程序设计·······························6
2.1任务要求·································· 6
2.1.1设计题目································· 6
2.1.2设计目的································· 6
2.2程序模块化设计································6
2.2.1程序设计思想································6
2.2.2重叠模型································· 6
2.2.3程序流程图································ 9
第三章 详细设计································ 10
3.1main( )函数································ 10
3.2工作线程函数设计······························ 14
3.2.1工作线程程序流程图···························· 14
3.2.2工作线程具体设计····························· 15
3.3命令处理函数设计······························ 17
3.4其他函数·································· 25
第四章 结论·································· 26
参考文献····································27
附录······································28
致谢······································62
摘 要
本程序主要用于简单服务器的管理,包括文件的上传、下载、列出目录、改变目录、改变传输方式等功能。通过该程序的开发,基本上实现了一个FTP服务器的功能,能够解释一般的FTP命令,并且符合RFC959规范。
本程序采用VC++6.0作为开发工具,设计步骤采用自顶向下的方法。
关键词:上传、下载、列出目录、改变目录、改变传输方式、FTP服务器
引 言
从根本上说,FTP就是在网络中各种不同的计算机之间按照TCP/IP协议来传输文件。FTP采用的是现在流行的Client/Server模式,由FTP客户端和FTP服务器端程序组成。通常服务器端是远程端点,用户可以通过Internet网络连接到远程的FTP服务器站点。服务器的功能是主要的。只有当FTP服务器支持各种协议和指令时,才能够开发相应的客户端程序。
本程序支持最基本的FTP命令。
仅供参考,请自借鉴。
希望对您有帮助。
⑹ 在局域网中如何设置我的电脑为FTP服务器
如果你只是想建个小型的同时在线用户数不超过10个的ftp服务器,且不会同时进行大流量的数据传输,可以用IIS(Internet服务器)作为服务器软件来架设。
下面,我们以Windows
XP中的IIS
5.0为例。
1.安装IISWindows
XP默认安装时并不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除步骤”,打开后选择“添加/删除Windows组件”,在发明的
“Windows组件向导”对话框中,选中“Internet信息服务(IIS)”选项。点击“详细信息”按钮,在发明的“Internet信息服务(IIS)”对话框中,选中“文件传输
协议(ftp)服务”选项,然后点击“确定”按钮即可。
安装完毕,按照系统提示重新启动计算机即可。电脑重启后,ftp服务即开始运行。
2.设置IIS点击“开始→所有步骤→管理工具→Internet信息服务”菜单项,打开“Internet信息服务”对话框,右键点击“默认ftp站点”选项,选择“属性”命令。在
发明的“属性”对话框中,我们可以设置ftp服务器的名称、IP、端口、访问账户、ftp目录职位地方、用户进入ftp时接收到的消息等信息。
(1)ftp站点基本信息
点击“ftp站点”选项卡,其中的“描述”选项为该ftp站点的名称,可以随意填写;“IP地址”选项为服务器的IP,系统默认为“(全部未分配)”,一般不需
改动(如果有两个或两个以上的IP地址,最好指定为公网IP);“TCP端口”选项一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连
(2)设置账户及其权限
许多ftp站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账
户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。
(3)安全设定
“本地访问”来管理。至于“ftp站点操作员”选项,是用来添加或删除本ftp服务器具有必定权限的账户。
IIS与其他专业的ftp服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定ftp服务器允许访问的账户,要添加或删除允许访问的账户
,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“ftp站点操作员”选项来添加或删
除。但对付Windows
2000和Windows
XP专业版,系统并不提供“ftp站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。
(4)设置用户登录目录
点击“主目录”选项卡,在“本地路径”框中选择好ftp站点的根目录,并设置该目录的读取、写入、目录访问权限。
“目录列表样式”中“UNIX”和“MS-DOS”的区别在于:假设将C:\ftp设为站点根目录,则当用户登录ftp后,前者会使主目录显示为“\”,后者显示为
“C:\ftp”。
设置完成后,ftp服务器就算真正建成了。使用ftp客户端软件(如Cuteftp、Fllung
burning
ashFXP等)时,在“主机处”填写ftp服务器的IP地址,例如,架设个人FTP。218.1.1.1,“端口
”处填写21,此服务器的地址表述为:
。
⑺ 计算机网络课程设计
设计1:XX网络构建方案设计
设计2:企业内部Web站点构建及维护;
设计3:企业内部的DNS服务器构建。
设计4:利用双网卡主机实现路由功能
首先保证主机有两块网卡,一块连接你的“猫”,一块连接副机,然后进入到副机电脑的Windows
XP的“网络邻居”中,点选“设置家庭或小型办公网络”,这时要确定主机电脑和副机已连接好,点两下“下一步”,会出现三个选项,选择第二项,继续点“下一步”,在“工作组名”栏里把默认的“MSHOME”改为“WORKGROUP”,一直点“下一步”,直到问“你要做什么?”时,会出现四个选项,选择第四项,“完成该向导”就可以了。打开笔记本电脑上的IE,是不是可以上网了'
设计5:利用ADSL实现共享
设计6:利用代理服务器实现共享上网上网。
设计7:简单FTP客户端软件设计。
设计8:RS-232串行接口通信软件设计
⑻ 如何在自己的电脑上搭建ftp服务器 要快捷,操作简单,不要从百度找答案。必重赏
架设一台FTP服务器其实很简单。首先,要保证你的机器能上网,而且有不低于ADSL 512Kbps的网络速度。其次,硬件性能要能满足你的需要。最后,需要安装FTP服务器端的软件,这类软件很多,可以使用微软的IIS(Internet Information Server 因特网信息服务系统),也可以使用专业软件。不同的软件提供的功能不同,适应的需求和操作系统也不同。
一、用IIS架设
如果只是想建个小型的同时在线用户数不超过10个的FTP服务器,且不会同时进行大流量的数据传输,可以用IIS 5.0作为服务器软件来架设(IIS只适用于Windows NT/2000/XP操作系统)。
1.安装
Windows XP默认安装时不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“添加/删除Windows组件”,在弹出的“Windows组件向导”窗口中,将“Internet信息服务(IIS)”项选中。在该选项前的“√”背景色是灰色的,这是因为Windows XP默认并不安装FTP服务组件。再点击右下角的“详细信息”,在弹出的“Internet信息服务(IIS)”窗口中,找到“文件传输协议(FTP)服务”,选中后确定即可。
安装完后需要重启。Windows NT/2000和Windows XP的安装方法相同。
2.设置
电脑重启后,FTP服务器就开始运行了,但还要进行一些设置。点击“开始→所有程序→管理工具→Internet信息服务”,进入“Internet信息服务”窗口后,找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。
1)FTP站点基本信息
进入“FTP站点”选项卡,其中的“描述”选项为该FTP站点的名称,用来称呼你的服务器,可以随意填,比如“我的小站”;“IP地址”为服务器的IP,系统默认为“ 全部未分配 ”,一般不须改动,但如果在下拉列表框中有两个或两个以上的IP地址时,最好指定为公网IP;“TCP端口”一般仍设为默认的21端口;“连接”选项用来设置允许同时连接服务器的用户最大连接数;“连接超时”用来设置一个等待时间,如果连接到服务器的用户在线的时间超过等待时间而没有任何操作,服务器就会自动断开与该用户的连接。
2)设置账户及其权限
很多FTP站点都要求用户输入用户名和密码才能登录,这个用户名和密码就叫账户。不同用户可使用相同的账户访问站点,同一个站点可设置多个账户,每个账户可拥有不同的权限,如有的可以上传和下载,而有的则只允许下载。
3)安全设定
进入“安全账户”选项卡,有“允许匿名连接”和“仅允许匿名连接”两项,默认为“允许匿名连接”,此时FTP服务器提供匿名登录。“仅允许匿名连接”是用来防止用户使用有管理权限的账户进行访问,选中后,即使是Administrator(管理员)账号也不能登录,FTP只能通过服务器进行“本地访问”来管理。至于“FTP站点操作员”选项,是用来添加或删除本FTP服务器具有一定权限的账户。IIS与其他专业的FTP服务器软件不同,它基于Windows用户账号进行账户管理,本身并不能随意设定FTP服务器允许访问的账户,要添加或删除允许访问的账户,必须先在操作系统自带的“管理工具”中的“计算机管理”中去设置Windows用户账号,然后再通过“安全账户”选项卡中的“FTP站点操作员”选项添加或删除。但对于Windows 2000和Windows XP专业版,系统并不提供“FTP站点操作员”账户添加与删除功能,只提供Administrator一个管理账号。
提示:匿名登录一般不要求用户输入用户名和密码即可登录成功,若需要,可用“anonymous”作为用户名,以任意电子邮件地址为密码来登录。
4)设置用户登录目录
最后设置FTP主目录(即用户登录FTP后的初始位置),进入“主目录”选项卡,在“本地路径”中选择好FTP站点的根目录,并设置该目录的读取、写入、目录访问权限。“目录列表样式”中“UNIX”和“MS-DOS”的区别在于:假设将G \Ftp设为站点根目录,则当用户登录FTP后,前者会使主目录显示为“\”,后者显示为“G \Ftp”。
设置完成后,FTP服务器就算真正建成了。如果前面IP地址为218.1.1.1,则用户使用FTP客户端软件(用来登录FTP服务器的上传/下载软件,如CuteFTP、FlashFXP等,如无特别说明,本文中所称FTP客户端软件均以CuteFTP Pro 2.0为例)时,主机处填218.1.1.1,端口填21,此服务器的地址表述为:ftp //218.1.1.1 21。IIS虽然安装简单,设置较简便,但功能不强,管理也很麻烦,尤其是连新建一个基本的授权访问账户都要进行繁杂的设置,而且IIS本身的安全性也比较差,容易受到诸如“红色代码”等专门针对IIS漏洞进行攻击的病毒侵袭,因而很多人都喜欢使用第三方的FTP服务器软件来架设。
二、用Serv-U等第三方FTP服务器软件架设
除IIS外,还有很多FTP服务器软件可以架设,如Wu-FTP、ProFtpd、Serv-U等,但大部分只适用于Unix、Linux系统,如果使用Windows系统,强烈推荐使用Serv-U。Serv-U(下载地址:http //www.newhua.com/FTPServU.htm,含汉化包)是一种被广泛运用的FTP服务器端软件,支持Windows 3x/9x/Me/NT/2000等全Windows系列。它安装简单,功能强大,可以用同一个IP设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小、支持远程登录管理等,适合绝大部分个人自建FTP的需要。
1.安装
Serv-U的安装比IIS还简单。先执行英文原版安装文件,按提示一路“NEXT”即可。要注意的是,在选择安装目录时,最好选择安装在一个非系统盘里,以免将来系统发生异常时还要重新进行账号等的设置。然后执行汉化文件,选择原版安装目录,一路“下一步”即可完成安装。
2.设置
与IIS不同,Serv-U在第一次运行时会以向导的方式一步一步地提示用户进行设置,整个过程不超过五分钟,非常人性化。为了方便说明,先假设我们要架设一个固定IP为218.1.1.1,端口为21,根目录绝对路径为G \Ftp,允许匿名访问和拥有一个用户名为dys、密码为syd、管理账户名叫“MyFtp”的公网FTP服务器。运行Serv-U,弹出向导窗口,依次设置如下选项:
1)“您的IP地址”:这里我们填入218.1.1.1,如果你是ADSL等方式拨号上网,拥有的是动态IP或者不知道本机IP,此处请留空。
2)“域名”:就是该FTP站点的名称,可以随意取名,这里填入“MyFtp”。
3)“匿名账号”:决定该FTP站点是否允许匿名用户访问。选择“是”。
4)“匿名主目录”:设置匿名用户登录站点后所处的目录位置。输入“G \Ftp”。
5)“锁定于主目录”:假设在“匿名主目录”中设置匿名用户登录后所处的目录位置为“G \Ftp\Guest”,那么,选择“是”后,当匿名用户登录FTP后,就被锁定在G \Ftp\Guest目录下,只能查看Guest目录里的内容,不能进入上级目录“Ftp”,同时该目录在FTP客户端软件中显示为“\”,如果未被锁定,则会完整显示为“G \Ftp\Guest”。这里选择“是”。
6)“命名的账号”:决定是否要创建有一定管理权限的账户。这里选“是”。
7)“账号名称”:就是具有一定管理权限的账户登录名称。填入“dys”。
8)“账号密码”:设置账户的登录密码。输入“syd”。
9)“主目录”:与“匿名主目录”一样,用来设置管理账户登录后所处的目录位置。输入“G \Ft p”。
10)“锁定于主目录”:选择“是”。
11)“管理员权限”:用来设置管理账户的管理权限级别。这里选“无权限”,后面再详述。
设置完成,地址为:ftp //218.1.1.1 21的FTP服务器就算架设成功了。最后可用CuteFTP分别以匿名和dys的账户登录验证。提示:以上这些设置并非最终设定,你还可以在Serv-U主界面中随时修改。
3.用同一个IP架设多个FTP服务器
如果带宽允许的话,你还可利用同一个IP轻松架设多个服务器。在Serv-U中,将“本地服务器”下“域”中的每个FTP服务器称为“域”,刚才创建的“MyFtp”服务器就是一个名叫“MyFtp”的域。要架设多个服务器,实际上就是创建多个拥有不同端口的域而已。
右击“域”,选“新建域”,在弹出的向导中参照“MyFtp”进行设置,只是在端口处一定不要与已经创建的“域”的端口或被其他系统服务占用的端口冲突即可。如果填入22,则此服务器的地址就是:ftp //218.1.1.1 22。依此而为,就可以架设多个FTP服务器了。
三、用动态IP域名解析软件架设拥有固定域名的FTP服务器
在上面的介绍中,我们假设的是该服务器拥有218.1.1.1的固定IP,而事实上,大部分想架设个人FTP的用户通常都是用ADSL等方式拨号上网。由于每次拨号上网后被分配到的IP地址都不相同,那这是否就意味着不能架设FTP服务器呢?
有两个解决办法:一是在刚才向导中的“您的IP地址”中留空,然后完成其它向导设置。进入Serv-U主界面,先点击菜单栏上的“帮助→本机IP地址”,将本机IP地址复制,再通过其他途径告知每个用户。每拨号上网一次就重复此操作一次;二是到网上下载安装一个动态IP域名解析软件,如国外的DNS2Go、国内的花生壳、88IP等,此类软件不管本机的IP如何变化都能将一个固定域名自动解析到本机IP上。这样,用户只要输入这个固定域名作FTP地址就可以访问到你的服务器。很明显,第一种方法相当麻烦,需要你有极大的耐心,第二种就相当简便,用户只要记住此域名而不用管IP是否变化。美中不足的是,目前绝大部分此类软件需要付费注册才能永久使用,不注册只能免费使用30天。
我们以88IP为例,来了解它的设置。
假设我们要申请一个域名:dys2.88ip.com。首先如前文所述用Serv-U(IIS和其他FTP服务器软件亦可)架设好FTP服务器,注意将“您的IP地址”处留空,然后到http //www.88ip.net去下载并安装88IP标准版。
88IP需要付费注册才能拥有一个永久域名,如果免费注册则仅能试用15天。运行88IP标准版客户端,会弹出设置窗口。要获得一个域名,需要先注册。在“基本资料”中,依次填写好用户登录名、有效电子邮件地址、密码和联系电话,接下来就要选择你的域名,在“域名资料”中,“域名”框填入dys2,“域名后缀”下拉框里选择“88ip.com”,这时,下方的“你的完整域名为”会显示为dys2.88ip.com,确认无误后,点“注册”按钮注册。如果注册的用户名或申请的域名已经被其他用户注册过,软件会做出相应的提示,修改后再次注册即可。注册成功后,在“执行状态”中会显示“注册成功,用户ID: xxxxxxxx ”,记下用户ID,以备将来缴费或需要技术支持之用。最后要点击“装载”按钮将刚刚申请成功的账户信息装载至本机上。
⑼ FTP客户端程序设计--毕业论文
最简单就是用windows自带的iis里面的ftp服务器。