用telnet执行FTP交互

本文介绍了如何使用telnet执行FTP交互,包括FTP的工作原理、两种数据连接模式、FTP交互过程,以及通过telnet建立控制连接和数据连接的步骤。通过实例展示了登录匿名FTP、执行命令、文件传输等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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”文件夹,然后在中间的权限上全部打钩,如下图所示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值