推荐几个好的工控ftp站点

1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:
&& #which vsftpd
&& 如果看到有vsftpd的目录说明服务器已经安装了ftp软件
2. 查看ftp 服务器状态& & &
&& #service vsftpd status
3. 启动& & &
&& #service vsftpd start
&& #service vsftpd restart
5. 查看服务有没有启动
&& #netstat -an | grep 21
&& tcp& & & & 0& & & 0 0.0.0.0:21& & & & & & & & & 0.0.0.0:* & & & & & & & & & LISTEN
&& 如果看到以上信息,证明ftp服务已经开启。
6.如果需要开启root用户的ftp权限要修改以下两个文件
& #vi /etc/vsftpd.ftpusers中注释掉root
& #vi /etc/vsftpd.user_list中也注释掉root
& 然后重新启动ftp服务。
7. vsftpd 500 OOPS: cannot change directory
&& 登陆报错:
&& C:\&ftp 192.168.0.101
&& Connected to 192.168.0.101.
&& 220 (vsFTPd 2.0.5)
&& User (192.168.0.101:(none)): frank
&& 331 Please specify the password.
&& Password:
&& 500 OOPS: cannot change directory:/home/frank
&& Login failed.
&& ftp& ls
&& 500 OOPS: child died
&& Connection closed by remote host.
&& 解决方法:
&& setsebool ftpd_disable_trans 1
&& service vsftpd restart
&& 就OK了!
&& 这是SELinux的设置命令,在不熟悉SELnux前,把SELinux关掉也可以的。
8. 永久开启,即os重启后自动开启ftp服务
& & 方法一:
&& & cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:
&& & vi /etc/xinetd.d/gssftp& ,将 修改两项内容:
&& & (a) server_args = -l –a& 去掉-a 改为server_args = -l
&& & (b) disable=yes改为disable=no
&& & (c) 保存退出。
&& & 方法二:
& & & (a) system-config-services , 进入图形界面的System services查看是否有 vsftpd项,如果没有转到2.,保存后退出
  (b) 用redhat第三张盘 安装此服务(开始--删除/增加程序),200K左右
  (c) #setup
  & 此时能看到vsftpd项,此时选中此services项,保存后退出.
阅读(...) 评论()推荐几个好的工控ftp_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
推荐几个好的工控ftp
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩7页未读,
定制HR最喜欢的简历
你可能喜欢“工业自动化与标准化”研讨会 | 剑指工控推荐一个自由人的FTP全集,建议用flshfxp登录 - PLC论坛(非专题) - 中国工控网论坛 - 中国自动化领域权威论坛
商务管理平台
专业频道:
工控商务&|
所在位置: --
中国工控网搜索:
&自动化调查
&企业中心论坛热点
&自动化企业招聘
&自动化求职信息
&登陆:密码:&&&&
PLC论坛(非专题)分类&&
发表人:akkings
发表时间: 11:05:00
&本栏论题:
推荐一个自由人的FTP全集,建议用flshfxp登录& [3117]
&&&&推荐一个自由人的FTP全集,建议用flshfxp登录&&&
-------------&&&
连接1: &&&
连接2: &&&
下载3: FTP地址:ftp.dkxxw.com
账号:plc &&&
密码:plc &&&
端口:21 &&&
CAD,CAX,Autodesk,autocad,Catia,PowerMill,Cimatron,MasterCAM,CAE,CAPP,Pro/E各种文档程序密码解密,编辑密码解密,块密码解密,子程序密码解密&&&
movicon11破解&&&
movicon9.1/10.2破解&&&
力控6.1破解,自定义点数版本。&&&
InduSoft Web Studio6.0/6.1破解(IWS触摸屏)&&&
YASKAWA Engineering Tool MPE720 ,不断更新,可以定制。&&&
MP910/MP920/MP930/MP940/mp2300/cp-9200正版软件 &&&
安川plc软件、运动控制软件、opc软件&&&
竹菱opc全套软件+注册机&&&
三菱第二代运动控制器软件sw1dnc-&&&
SW1DNC-MESIF-E序列号 &&&
melsoft mt works2(sw1dnc-mtw2-j)&&&
sw1dnc-mtw2-E英文语系&&&
sw1dnc-mtw2-c中文版&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_SNETP J版&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_LADDERP&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_GSV22P&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_GSV13P&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_DOSCP&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_DOCPRNP&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_CAMP&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_GSV51P&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RNC_GSVHELPE&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_GSV43P&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW20RN_LADDERP&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW20RN_DOCPRNP&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_SNETP\\00A&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_SNETP\\00k&&&
三菱全集\\SW3RNC-GSVE(完整)\\SW3RN_SNETP\\00E&&&
Drive ES Graphic6.&&&
安川mpe720工具软件&&&
GE CIMPLICITY ME V5/V6汉化版&&&
GE CIMPLICITY hmi V7/V7中文版_试用版索取&&&
fxgpwin v3.3英文版_试用版索取&&&
FXGPWIN-T V3.3繁体/简体中文&&&
SW0PC-FXGPWIN-CtE_试用版索取&&&
dwg密码读取补丁_试用版索取&&&
dwg密码穷举工具_试用版索取&&&
cad文件密码破解软件_试用版索取&&&
dwg文件密码破解软件&&&
caxa文件密码破解软件&&&
exb文件密码破解软件&&&
触摸屏程序密码读取软件&&&
开物组态 V4.6破解授权_试用版索取&&&
开物组态 V7.0破解授权_试用版索取&&&
组态软件controX新免狗补丁4.67.0_试用版索取&&&
CX-SERVER OPC1.22新版(有注册码)&&&
MACSV系统OPCServer通信软件破解&&&
力控组态6.0破解补丁_试用版索取&&&
RSview SE V5组态软件 &&&
RSview mE V5组态触摸屏 &&&
西门子WinCC 7.0 SP2版wincc v7.0 asia含有授权 &&&
Siemens SIMATIC WinCC flexible 2009 最新3CD版 &&&
西门子pcs7 V7.0SP1亚洲中文版(1dvd) &&&
Hollysys IO Server 破解 &&&
MACSV系统OPCServer通信软件_试用版索取 &&&
HollySys PowerPro和利时 plc程序密码破解&&&
破解STEP 7 V5.4 SP31 中文版+授权new下载_试用版索取&&&
omron CX Programmer8.0版本_试用版索取&&&
ifix3.5_4.0软件破解授权(含开发版,运行版破解补丁)_试用版索取&&&
intouch8.0_9.0_9.5破解授权(含开发版,运行版破解补丁)_试用版索取&&&
citect6.10软件破解授权(含开发版,运行版破解补丁)_试用版索取&&&
组态王kingview/6.53/6.52中英文版本((含开发版,运行版破解补丁))new_试用版索取&&&
力控组组态7.0(含开发版,运行版破解补丁)_试用版索取&&&
new鲁班组态软件破解授权(含开发版,运行版破解补丁)_试用版索取&&&
昆仑通态mcgs7.0软件new破解授权(含开发版,运行版破解补丁)_试用版索取&&&
世纪星7.0_7.1软件授权(含开发版,运行版破解补丁)_试用版索取&&&
天工组态软件new破解授权(含开发版,运行版破解补丁)_试用版索取&&&
杰控组态软件new破解授权(含开发版,运行版破解补丁)_试用版索取&&&
易控组态软件new破解授权(含开发版,运行版破解补丁)_试用版索取&&&
紫金桥监控组态软件6.0(含开发版,运行版破解补丁)_试用版索取&&&
omronFinsgateway2003_试用版索取&&&
FinsGatewayVer.3_试用版索取&&&
COMPOLETv2.0.rar_试用版索取&&&
NS-Designer6.03.rar_试用版索取&&&
东芝toshiba v-tool软件破解&&&
伦茨Global Drive control软件_试用版索取&&&
伦茨Drive PLC Developer Studio2.3.rar&&&
施耐德UnityPro3.11中文软件+实例程序_试用版索取&&&
施耐德PL7 PRO V4.4安装有授权.rar&&&
施耐德PL7 PRO V4.5SP2安装有授权.rar&&&
施耐德Vijeo Designer V4.6 有授权.rar_试用版索取&&&
INTOUCH9.5组态版(含开发版,运行版破解补丁)_试用版索取&&&
INTOUCH9.0组态版(含开发版,运行版破解补丁)_试用版索取&&&
INTOUCH8.0组态版(含开发版,运行版破解补丁)_试用版索取&&&
INTOUCH10.0组态版(含开发版,运行版破解补丁)_试用版索取&&&
InTouch V10手册+视频教材&&&
组态王软逻辑KingACT1.52、V2.0破解授权&&&
组态王kingview工程密码读取软件_试用版索取&&&
组态王kingview工程密码删除软件_试用版索取&&&
wincc工程管理员密码破解_试用版索取&&&
昆仑通态mcgs组态工程文件密码解除_试用版索取&&&
mcgs组态工程运行期限解除密码软件_试用版索取&&&
mcgs组态工程锁定加密狗解除密码软件_试用版索取&&&
永宏FBS plc程序强制读取软件_试用版索取&&&
日立plc程序密码读取软件_试用版索取&&&
三星plc程序密码读取软件_试用版索取&&&
ab项目工程文件密码破解_试用版索取&&&
GE项目工程文件密码破解_试用版索取&&&
三菱plc程序密码破解_试用版索取&&&
omronplc程序密码读取_试用版索取&&&
施耐德项目工程密码删除软件_试用版索取&&&
西门子项目程序密码,pou密码,子程序密码,块密码破解读出&&&
力控组态工程密码读取软件_试用版索取&&&
紫金桥组态工程密码读取软件_试用版索取&&&
开物2000组态工程密码读取软件&&&
世纪星工程密码读取软件&&&
天工工程密码读取软件_试用版索取&&&
杰控组态工程密码读取软件&&&
紫金桥监控组态工程密码读取软件(突破只能用固定加密狗打开工程)&&&
ABRSlogix500中文版V7.001&&&
ABRSlogix500英文版V8&&&
ABRSlogix5000中英文版本V16.03&&&
ABRSlogix5000编程和仿真软件,new版本V16.5&&&
ABRSView32 7.50中文版&&&
abpanelBuilder32 v3.90&&&
EPLAN21中文破解软件+视频学习教材+培训教材+eplan数据库&&&
EPLANP8 1.95中文软件和配有电气厂商数据库_试用版索取&&&
三菱plcnew编程软件newGXDeveloper8.7版,sw8d5c-gppw-e8.68日文版_试用版索取&&&
三菱plc仿真软件(GX-SimulatorV7.20版)&&&
三菱触摸屏GTWorks_V2_2.77F_CD1.cd2日文版_试用版索取&&&
omron CX-Programmer8.0 new版本&&&
CXONE3.0_ 3cd直接安装&&&
AutoCAD2009官方简体中文破解完全版&&&
keyence VT3基恩士触摸屏软件和手册&&&
ProTool6.0+sp4授权中英文+授权版&&&
SiemensSIMATIC PDM7.0授权&&&
EngineeringBase2009电气软件破解版&&&
EngineeringBase3.11电气软件破解版_试用版索取&&&
MelsecOpcServer_V3破解版&&&
PCshematic10.03软学习光盘_试用版索取&&&
PCshematic10.03破解软件new&&&
EPLAN 5.4软件和破解 &&&
EPLAN 5.5软件和授权 &&&
EPLAN 5.60软件和授权 &&&
Eplan_5.70软件和授权 &&&
PCschematic ELautomation演示视频 &&&
Engineering_Base_3.01软件+破解 &&&
EPLAN 电气柜设计 V4.2 SP2有授权 &&&
EPLAN P8中文破解版和视频教材 &&&
日立plc项目密码寻找程序.rar &&&
TX第二次解密完整 &&&
GE块修改密码 &&&
Citect6.0补丁文件 &&&
Citect7.0破解 &&&
kingact1.52破解 &&&
组态王电力版6.52破解 &&&
cad文件密码破解软件_试用版索取&&&
dwg文件密码破解软件&&&
触摸屏程序密码读取软件&&&
1.昆仑通态mcgs工程密码解除,或直接找回密码_试用版索取&&&
2.昆仑通态mcgs7.0组态软件破解授权+视频教材&&&
3.昆仑通态mcgs组态5.1/5.5/6.2/6.5各种版本补丁,注册机提供_试用版索取&&&
4.昆仑通态mcgs组态工程开发,技术指导!&&&
5.mcgs组态开发版+运行版,点数定制,可增加网络功能&&&
6.提供大量MCGS工程实例源码,可以连接三菱,西门子,omron,台达,富士。。相关plc。QQ: &&&
-----------&&&
亚控kingview6.53免狗,亚控kingview6.53授权下载www.dkxxw.com免费下载亚控kingview6.53破解版&&&
亚控kingview6.53new版破解亚控kingview通用开发包亚控kingview教程亚控kingview6.53破解版本亚控kingview手册亚控kingview工程实例亚控kingview全部驱动亚控kingviewSDK 亚控kingviewfor Internet 亚控kingview6.53正式破解亚控kingview6.53手册正式版亚控kingview6.53完整破解亚控kingview6.53开发版无限点亚控kingview6.53web版本组太王破解收集qq: &&&
亚控kingview6.54亚控kingview破解6.5-58518点变量,给你加点数,联系&&&
亚控kingview6.
以下是关于《推荐一个自由人的FTP全集,建议用flshfxp登录》论题的回复(共2篇)
回复人:cn18show 
&回复时间: 16:32:00
&&&&易展成立五周年
50万感恩回馈!中国行业电子商务TOP100强,五周年庆典!感谢新老客户的支持,易展五周年庆典,50万回馈!告诉大家一个好消息,易展成立五周年,50万奉上,详情:
回复人:dongfaming 
&回复时间: 9:07:00
&&&&要钱的,不要上当
如果要回复本栏论题,请首先中国工控网www.chinakong.com
?如果你已经是中国工控网www.chinakong.com成员,请直接登录。
?如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!
&&&&&&&&&&&
&&&&&&&&&&&
&&自动化资料下载
&&自动化产品
&&&中国工控网(www.chinakong.com)&版权所有&豫ICP备号
管理员信箱:&&服务热线:&&办公电话:9&&传真:8
洛阳博德工控自动化技术有限公司
中国&&&&洛阳  在本专题中将和大家分享如何自己实现一个简单的FTP服务器。在我们平时的上网过程中,一般都是使用FTP的客户端来对商家提供的服务器进行访问(上传、下载文件),例如我们经常用到微软的SkyDrive网盘,115网盘等,然而我们经常用到的都是网页版本的,网页版本和客户端版本的不同,网页版本的FTP客户端,它与服务器的交流是使用HTTP协议发出对服务器的请求的,而客户端版本采用的是FTP协议发出命令对服务器进行请求。然后我们接触到FTP服务器却很少的, 所以本专题中将和大家介绍下如何实现一个FTP服务器(不要觉得服务器很深奥一样的,大家可以简单的认为服务器也是一个程序,该程序是对客户端发来的请求做处理的,请求大家可以简单理解为字符串,从这个角度看, 服务器程序就是一个对字符串解析的过程。),也是为后面的一个专题做一个铺垫,因为后面专题将和大家介绍下FTP客户端&&文件上传下载器,有了自己自定义的FTP服务器后, 自定义的FTP客户端就可以对自定义的FTP服务器进行访问,使两者形成一个完整的软件,从而也让大家对基于FTP协议的工具有一个初步的了解。
一、基于FTP协议的客户端和服务器是如何"沟通的"?
  FTP客户端和FTP服务器之间的&沟通&分为四个阶段的:
  1. 启动FTP
  客户通过FTP客户端软件,发起FTP交互式的命令,就是告诉服务器(也就是一台电脑,服务器上与一个程序(FTP服务)会接收命令,并解析发来的命令,然后发出回复信息)说:&我想和你聊聊天,可以吗?&  
  2. 建立控制连接
  客户端TCP层根据客户给出的服务器IP地址,向服务器提供FTP服务的21号端口发出主动建立连接的请求,服务器接收到请求后,通过3次握手之后,客户端和服务器之间就建立一个TCP连接(就是一条通道,就好比生活中马路,有了马路之后车才能够在两地之间运送东西),之后,所有用户发出的FTP命令和服务器的回应都是通过该连接来传送的, 所以也把这个TCP连接叫做控制连接,控制连接在用户退出之前一直存在。
  3. 建立数据连接和进行文件传输
  现在客户端和服务器端已经建立聊天的通道了(控制连接),但是两者聊天过程中如果互相想赠送礼物要怎么办呢?(这里形象的把客户端和服务器端文件的传输比喻两个人通过聊天后互相赠送礼物的过程),此时我们就需要另外一条马路(数据连接)来进行&礼物的赠送&了,具体赠送礼物的过程如下:
&客户端通过控制连接向服务器发送一个上传文件的命令时,会自己分配一个临时的TCP端口号。
&客户端通过控制连接向服务器发送一个命令(下面将会介绍的PORT命令)来告诉服务器自己的IP地址和临时的端口号,然后再发送一条上传文件的命令(可以理解为&&客户端要送礼物给服务器时,实际上不是简单的发送一个送礼物命令的,在这之前还需要发送一条自我介绍命令(就是告诉服务器自己的IP地址和端口号)来告诉服务器自己就是刚刚和它聊天的那位,这也很符合我们日常送礼物的流程的,一般大家接到礼物都要弄明白送礼物的人是谁,是不是自己认识的)
服务器接收到客户端的IP地址和临时端口号后,以这个IP地址和端口号为目标,使用服务器上的20端口(该端口是用来传输数据的端口)向客户端发出主动建立连接的请求。
&客户端收到请求后,通过三次握手后就与服务器之间建立了另外一条TCP连接&&数据连接,即用来互相送礼物的通道。
&客户端在自己的文件系统中选择要赠送(上传)的文件
&客户端将文件写入到文件传输进程中(写入网络流中)
&服务器端将传输来的文件在服务器端的文件系统中进行存储
&文件传输完成后,由服务器主动关闭该数据的连接
  4 关闭FTP
  当用户退出FTP时,通关客户端发送退出命令,之后控制连接被关闭,FTP服务结束。
二、从上面的沟通过程中你明白了什么?
  从上面客户端与服务器端的沟通过程中,这里可以概括几点:
  (1)客户端与服务器端进行交互过程中,传输层使用的是TCP协议而不是其他传输层协议
  (2)沟通过程有两条TCP连接&&一条是控制连接,即传输命令和响应信息的通道,另一条是数据连接,即传输文件的马路,并且必须先有控制连接才能建立数据连接,因为要进行文件传输首先必须知道客户的IP地址和端口号,这个过程就是通过控制连接传送的命令来告知服务器客户端的IP地址和端口号,之后再在两者之间建立数据连接来传输文件
  (3)在服务器端,控制连接(端口号为21)和数据连接(端口号 为20)使用了不同的端口号
三、赠送礼物的方式?&&文件传输模式
  客户端与FTP服务器建立数据连接之后,首先需要告诉服务器采用哪种文件传输模式,FTP提供了两种文件传输模式,一种是主动(Port)模式,另一种是被动(Passive)模式。
  主动模式&&服务器向客户端发起数据连接请求,被动模式&&客户端向服务器发起数据请求。
然而两种模式有什么相同点和不同点呢?
  相同点: 服务器都使用21号端口进行用户验证和管理
  不同点: 传送文件数据的方式不一样,主动模式的FTP服务器数据端口固定在20,而被动模式的FTP服务器数据端口则在之间的随机数。
3.1 主动模式
  主动模式&&服务器主动连接客户端,然后传输文件,在这种模式下,FTP客户端先用一个端口N(N&1024)向服务器的21号端口发起控制连接,连接成功后,在发出PORT N+1命令告诉服务器自己监听的端口为N+1;服务器接受到该命令后,用一个新的数据端口(20号端口)与客户端的端口N+1建立连接,然后进行文件传输,而客户端则通过监听N+1端口接受文件数据。
  注意: 采用主动模式存在一个问题,如果客户端安装了防火墙或在内网时,由于防火墙一般不允许接受外部发起的标准端口以外的连接请求,因此外部FTP服务器就无法使用主动模式穿过防火墙主动连接客户端(这里与客户端连接的端口为N+1(N&1024),非标准端口),从而造成无法传送文件数据,此时就需要采用被动模式传送文件了。
3.2 被动模式
  被动模式&&服务器被动接受客户端连接请求,即控制连接请求和数据连接请求都是由客户端发起,在这种模式下,FTP客户端先随机开始一个端口N向服务器的21号端口发起控制连接,然后向服务器发送PASV命令。服务器收到该命令后,会用一个新的端口P(P&1024)进行监听,同时将该端口号告诉客户端,客户端接受到响应命令后,再通过新的端口N+1连接服务器的端口P,然后进行文件数据传输。
  注意:采用被动模式与主动模式也存在相同的问题,如果服务器安装了防火墙,客户端同样可能无法与服务器端的端口P建立数据请求,因为该请求可能会被防火墙过滤掉。在实际应用中,服务器一般指定一个端口范围,允许客户端与该范围内的端口建立数据连接,而不再这个范围内的端口会被服务器的防火墙过滤掉,从而在一定程度上消除了针对服务器的恶意攻击。
四、 FTP协议中有哪些命令的?
  协议简单说就是一个规范,就好比打牌一样,制定一个大家都能明白的规则,斗地主的规则被大家都认可的,但是私下我们也可以自定义规则来玩的(例如说三个只能带一个等这样的规则),同样FTP规则也是大家都认可的一个协议,我们当然也可以自定义协议。
  由于.Net平台下目前还没有提供对FTP服务器端开发的类库,因此要实现一个FTP服务器端的应用程序,就必须了解FTP协议的详细内容。
4.1 FTP命令有哪些?
FTP 协议中规定了一些大家都认识的命令和组成。FTP协议中的命令都由3~4个字母组成,命令与参数之间用空格隔开,每个命令用回车换行结束。
(1)访问命令有:
USER命令&&格式为:USER &username&, 指定登录的用户名,以便服务器进行身份验证。这个命令通常是控制连接后第一个发出的命令
PASS命令&&格式为:PASS &password&, 指定用户密码,该命令必须跟在登录用户名命令之后。
REIN命令&&格式为:REIN, 表示重新初始化用户信息,该命令终止当前USER的传输,同时终止正在传输的数据,然后重置所有参数,并打开控制连接,以便客户端再次发生USER命令。
QUIT命令&&格式为:QUIT,关闭与服务器的连接
(2)模式设置命令:
PASV命令&&格式为:PASV,该命令告诉FTP服务器,让FTP服务器在指定的数据端口进行监听,被动接受客户端的请求。如果未指定任何模式,FTP服务器默认使用PASV模式
PORT命令&&格式为:PORT &address&,该命令告诉FTP服务器,客户端监听的端口号是address,让FTP服务器采用主动模式连接客户端。
TYPE命令&&格式为: TYPE &data type&,该命令指定要传输的数据类型,有ASCII和BINARY两种类型。
MODE命令&&格式为:MODE &mode&,该命令指定传输模式,S表示流,B表示块,C表示压缩。
(3)文件管理命令
CWD命令&&格式为:CWD &directory&,该命令是用户可以在不同的目录或数据集下工作而不用改变登录信息,directory一般是目录名或与系统相关的文件集合。
PWD命令&&格式为:PWD,该命令返回当前工作目录。
MKD命令&&格式为:MKD &directory&,该命令表示在指定路径下创建新目录,directory 表示特定目录的字符串。
CDUP命令&&格式为:CDUP,该命令表示回到上层目录
RMD命令&&格式为:RMD &directory&,删除指定目录,directory表示特定目录的字符串。
LIST命令&&格式为:LIST &name&,该命令返回指定路径下的子目录及文件列表,name 为路径。省略路径时,返回当前路径下的文件列表。
NLIST命令&&格式为:NLIST &directory&,该命令返回指定路径下的目录列表,省略路径时,返回当前目录。
RNFR命令&&格式为:RNFR &old path&,该命令表示重新命名文件,该命令的下一条命令用RNTO指定新的文件名。
RNTO命令&&格式为:RNTO &new path&,该命令和RNFR命令共同完成对文件的重命名。
DELE命令&&格式为:DELE &filename&,该命令表示删除指定路径下的文件
(4)文件传输命令:
RETR命令&&RETR &filename&,表示下载指定路径的文件
STOR命令&&STOR &filename&,表示上传一个指定的文件,并将其存储在指定的位置,如果文件已存在,原文件将被覆盖,如果文件不存在,则创建新文件。
(5)其他命令
SYST命令&&格式为:SYST,该命令返回服务器使用的操作系统。
4.2 FTP响应码
  客户端发送FTP命令后,服务器需要返回FTP响应码,响应码即是回答,我们平常聊天中别人问了说了话或者问了问题,另外一方就需要回答,FTP协议中定义以响应码的形式来作为回答,FTP响应码由ASCII编码的3位数字开头,后面接一行文本提示信息,数字和提示信息中有一个空格,如XXX 接收请求。每个响应码同样以回车换行结束。
  FTP响应码的3位数字每位都有特定的意义,具体见下表:
表示信息已被服务器正确接收,但尚未被处理
表示信息已被服务器正确处理完毕
表示信息已被服务器正在接受,并正在处理中
表示信息处理错误(暂时)
表示信息处理错误(永久)
表示语法错误
表示系统状态与信息
表示与FTP服务器系统连接状态
表示与用户认证有关的信息
表示未定义
表示与文件系统有关的信息
&下表列出了常用的响应码所代表的意义:
重新启动标记应答
登陆是需要账户信息
服务在指定时间内准备好
请求的文件操作需要进一步命令
数据连接打开&&开始传输
文件状态良好,将要打开数据连接
不能打开数据连接
关闭连接,终止传输
命令没有执行
文件不可用
系统状态回复
中止请求操作:有本地错误
目录状态回复
磁盘空间不足
文件状态回复
帮助信息回复
系统类型回复
命令未执行
命令顺序错误
服务关闭控制连接,可以退出登陆
无效命令参数
数据连接打开,无传输正在进行
关闭数据连接,请求的文件操作成功
存储文件需要账户信息
进入被动模式
未执行请求操作
用户已登陆
请求操作终止:页类型未知
请求的文件操作完成
请求文件操作终止:超过存储分配
创建路径名
为执行请求的操作:文件名不合法
用户名正确,需要口令
五、实现自定义的FTP服务器
  相信大家看完上面的介绍对FTP协议以及FTP客户端和FTP服务器的交互过程有一定的理解的,这时候大家知道理论后就一定很想知道知道这些之后可以做什么的?答案就是可以制作一个简单的FTP服务器,大家可以根据代码来进一步理解FTP协议。下面是程序中一些核心代码片段:
1 // 启动服务器
private void btnFtpServerStartStop_Click(object sender, EventArgs e)
if (myTcpListener == null)
listenThread = new Thread(ListenClientConnect);
listenThread.IsBackground = true;
listenThread.Start();
lstboxStatus.Enabled = true;
lstboxStatus.Items.Clear();
lstboxStatus.Items.Add("启动Ftp服务...");
btnFtpServerStartStop.Text = "停止";
myTcpListener.Stop();
myTcpListener = null;
listenThread.Abort();
lstboxStatus.Items.Add("Ftp服务已停止!");
lstboxStatus.TopIndex = lstboxStatus.Items.Count - 1;
btnFtpServerStartStop.Text = "启动";
// 监听端口,处理客户端连接
private void ListenClientConnect()
myTcpListener = new TcpListener(IPAddress.Parse(tbxFtpServerIp.Text), int.Parse(tbxFtpServerPort.Text));
// 开始监听传入的请求
myTcpListener.Start();
AddInfo("启动成功!");
AddInfo("Ftp服务运行中...[单机&停止&退出]");
while (true)
// 接收连接请求
TcpClient tcpClient = myTcpListener.AcceptTcpClient();
AddInfo(string.Format("客户端({0})与本机({1})建立Ftp连接", tcpClient.Client.RemoteEndPoint, myTcpListener.LocalEndpoint));
User user = new User();
user.commandSession = new UserSeesion(tcpClient);
user.workDir = tbxFtpRoot.T
Thread t = new Thread(UserProcessing);
t.IsBackground = true;
t.Start(user);
// 处理客户端用户请求
private void UserProcessing(object obj)
User user = (User)
string sendString = "220 FTP Server v1.0";
RepleyCommandToUser(user, sendString);
while (true)
string receiveString = null;
// 读取客户端发来的请求信息
receiveString = user.commandSession.streamReader.ReadLine();
catch(Exception ex)
if (user.commandSession.tcpClient.Connected == false)
AddInfo(string.Format("客户端({0}断开连接!)", user.commandSession.tcpClient.Client.RemoteEndPoint));
AddInfo("接收命令失败!" + ex.Message);
if (receiveString == null)
AddInfo("接收字符串为null,结束线程!");
AddInfo(string.Format("来自{0}:[{1}]", user.commandSession.tcpClient.Client.RemoteEndPoint, receiveString));
// 分解客户端发来的控制信息中的命令和参数
string command = receiveS
string param = string.E
int index = receiveString.IndexOf(' ');
if (index != -1)
command = receiveString.Substring(0, index).ToUpper();
param = receiveString.Substring(command.Length).Trim();
// 处理不需登录即可响应的命令(这里只处理QUIT)
if (command == "QUIT")
// 关闭TCP连接并释放与其关联的所有资源
user.commandSession.Close();
switch (user.loginOK)
// 等待用户输入用户名:
CommandUser(user, command, param);
// 等待用户输入密码
CommandPassword(user, command, param);
// 用户名和密码验证正确后登陆
switch (command)
case "CWD":
CommandCWD(user, param);
case "PWD":
CommandPWD(user);
case "PASV":
CommandPASV(user);
case "PORT":
CommandPORT(user, param);
case "LIST":
CommandLIST(user, param);
case "NLIST":
CommandLIST(user, param);
// 处理下载文件命令
case "RETR":
CommandRETR(user, param);
// 处理上传文件命令
case "STOR":
CommandSTOR(user, param);
// 处理删除命令
case "DELE":
CommandDELE(user, param);
// 使用Type命令在ASCII和二进制模式进行变换
case "TYPE":
CommandTYPE(user, param);
sendString = "502 command is not implemented.";
RepleyCommandToUser(user, sendString);
程序演示截图:
&首先在F:\盘下新建文件夹MyFtpServerRoot,在其中创建目录结构并放一些文件资源,例如图片,文档等,程序中演示的目录结构如下图:
&这样,本地的FTP服务站点就已经建好了,运行FTP服务器程序,然后点击&启动&按钮后就启动了FTP服务器,运行结果如下图所示:
然后配合上个专题中实现的FTP客户端来完成与FTP服务器的&聊天&演示,因为FTP服务器程序中已经初始化用户名和密码(都为admin),所以FTP客户端中取消选择&匿名复选框&,直接输入用户名和密码为admin后点击&登录&按钮后就完成了用户验证的过程,并与FTP服务器建立了控制连接和数据连接。运行结果如下图:
当然用户可以通过"上传"、&下载&和删除按钮来对FTP服务器上的文件进行操作,这里就不贴出运行图片了, 大家可以下载源码来测试下的。
六、内容的结尾,说说后面的计划吧
这个专题介绍完后,我这个C#网络编程系列也就介绍完了,这个系列中主要介绍网络编程的一些入门知识,对于朋友在留言中经常提到的&打洞&技术以及一些网络编程中一些更难的内容还大家一起努力来学习的,同时我也会在后面和大家分享下一些实际开发过程中的网络编程的内容(在后面的文章打算和大家分享一个下载器的实现),最后,希望这个系列可以让大家对网络协议有一个最初的入门,这样在实际的开发过程中才知道这些实现背后的原理。之后我总结下我这个系列的所有文章的索引,以便让大家更好的阅读和查找关于这个系列的所有文章。
源码下载:,大家如果觉得不错的话,还请大家推荐下,谢谢大家的支持
&用来演示的服务器目录:
&上个专题FTP文件上传下载器源码:
转自:http://www.cnblogs.com/zhili/archive//FTPServer.html
阅读(...) 评论()}

我要回帖

更多关于 ftp服务器 推荐 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信