用telnet执行FTP交互

用telnet实现FTP交互

1.     FTP初认识

众所周知,由于对可靠数据传输服务的依赖,FTP同HTTP协议一样在运输层选择的都是TCP服务。但是又有一个最重要的区别:FTP使用的是两个并行的TCP连接,一个是用于在客户机和服务器之间传输控制信息的控制连接(TCP端口号是21),另一个是用于实际传输一个文件的数据连接。正是由于FTP的控制连接和数据连接是分离的,所以我们称FTP的控制信息是带外传送的。

数据连接有两种传输模式:

①主动(PORT)方式的连接过程是:客户机从一个非特权端口N(N>1024)与服务器在端口号21建立了控制连接后,然后客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX号端口,你快点过来连接我(づ ̄3 ̄)づ╭❤~”。于是服务器就通过20号端口与客户机的XXXX号端口建立一条数据链路。

②被动(PASV)方式的连接过程是:在建立了控制连接后,客户端向服务器的21号端口发出了PASV命令(被动连接请求),于是服务器就开启了xxxx号端口,告诉客户端:“我打开了xxxx号端口,快过来连我╭( ・ㅂ・)و ̑̑”。然后由客户端向服务器的xxxx号端口发送连接请求,然后建立一条数据链路。

2.     FTP交互过程

①当用户主机与远程主机开启一个FTP会话前,FTP的客户机(用户)首先在21号端口上发起一个用于控制的与服务器(远程主机)的TCP连接。

②FTP的客户机通过该控制连接发送用户的标识和口令,也可以发送改变远程目录等命令。

③当FTP的服务器端从该连接上收到一个文件传输的命令后(无论是到远程主机还是从远程主机到客户机),就发起一个到客户机的数据连接。FTP在该数据连接上准确地传送一个文件并关闭该连接,但此时控制链路还保持连接。如果在同一个会话期间,用户还需要传输另一个文件,FTP则打开另一个数据连接。

因而对FTP传输而言,控制连接贯穿了整个用户会话期间,但是针对会话中的每一次文件传输都需要建立一个新的数据连接(即数据连接是非持久性的)。


3.     实验准备

①FTP服务器实验准备:

在开始实验之前我们得先建立一个或者找一个FTP服务器,这里为了后续实验操作方便,我们自己建立一个FTP服务器。我们可以用Windows自带的IIS来建立(详情请参考http://jingyan.baidu.com/article/455a9950e1e2fba167277862.html)或者第三方软件(如Serv-U、FileZilla Server等),这里我用的FileZilla Server,在百度软件中心就有,注意是FileZilla Server,不是用于上传的客户端FileZilla。

我们现在本地E盘建一个文件夹“ftp”,然后在下面建一个文件夹“123”以及“test.txt”,里面放上你想写的内容,然后再文件夹“123”下面再建一个“test123.txt”。

安装时为了防止默认的原端口号被占用强烈建议将端口号改成38121,如下图:


安装完成后登录时也记得把对应的端口改成38121,如下图:

进入以后为了实验方便,点击菜单栏Edit->settings,根据下图提示修改连接时间、端口号范围以及动态IP设置。

然后设置匿名FTP与本地文件夹关联以及访问权限:

点击菜单栏第四个图标,然后在右边的Users下面ADD一个叫“anonymous”的用户。

然后点击左边Page里的Shared folders,在Directories下点ADD,选中之前创建的E盘的“ftp”文件夹,然后在中间的权限上全部打钩,如下图所示:

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值