FTP 客户端

  最近在写一个FTP的客户端软件,功能包括上传和下载文件,查询文件,断点续传,删除,重命名等等,以前没有写过FTP,开始还不明白FTP的协议什么的,后来写了才知道其实也没什么,就一TCP协议,一发一接,一一对应,不同的命令对应不同的功能.不清楚的开始可以找一个软件,然后通过抓包工具可以看到对应的命令服务器返回的是什么内容,下面是一些常用的命令:

 

1.用户名...................(USER)
 * 2.口令.....................(PASS)
 * 3.认证.....................(ACCT)
 * 4.改变工作目录.............(CWD)
 * 5.回到上一层目录...........(CDUP)
 * 6.结构加载.................(SMNT)
 * 7.重新登录.................(REIN)
 * 8.退出登录.................(QUIT)
 * 9.数据端口.................(PORT)
 * 10.被动....................(PASV)
 * 11.类型....................(TYPE)
 * 12.文件结构................(STRU)
 * 13.传输模式................(MODE)
 * 14.获得文件................(RETR)
 * 15.上传文件................(STOR)
 * 16.唯一保存................(STOU)
 * 17.附加....................(APPE)
 * 18.分配....................(ALLO)
 * 19.重新开始................(REST)
 * 20.重命名..................(RNFR)
 * 21.重命名为................(RNTO)
 * 22.放弃....................(ABOR)
 * 23.删除....................(DELE)
 * 24.删除目录................(RMD)
 * 25.创建目录................(MKD)
 * 26.打印工作目录............(PWD)
 * 27.列目录..................(LIST)
 * 28.站点参数................(SITE)
 * 29.系统....................(SYST)
 * 30.状态....................(STAT)
 * 31.帮助....................(HELP)
 * 32.等待....................(NOOP)
上传的时候要用到:

USSER  PASS PASV  SIZE  REST STOR

续传的时候要先通过SIZE获得文件的大小,然后再用REST把接收文件设在这个大小开始,客户端发送也要手动把文件定位到这个位置开始关送.

下载文件的时候要用到

USSER  PASS PASV  REST  RETR

同样道理,要把两头的文件定位到续传的位置和接收的位置.

 

另外,有些服务器默认是不允许续传的,这个可以通过配置文件来解决,例如 AllowStoreRestart on之类的东西.

代码太长就不帖出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值