50、FTP、Pine与SSH的应用案例解析

FTP、Pine与SSH的应用案例解析

1. FTP协议相关内容
1.1 PASV命令的历史用途

PASV命令最初并非用于当前常见的用途,它原本是为了让FTP客户端在两个远程服务器之间直接进行文件传输而设计的。具体操作流程如下:
1. 客户端与两个远程服务器建立控制连接。
2. 向其中一个服务器发送PASV命令,使其监听某个套接字。
3. 向另一个服务器发送PORT命令,告知其连接到前一个服务器监听的套接字。
4. 最后发送数据传输命令(如STOR、RETR等)。

不过如今,大多数人甚至不知道这种操作是可行的,通常会先将文件从一个服务器拉到本地机器,再将其传输到第二个远程服务器。而且很多FTP客户端不支持这种模式,部分服务器出于安全考虑也禁止使用该模式。

1.2 使用默认数据端口的FTP传输

当客户端既不发送PORT命令也不发送PASV命令时,会触发第三种文件传输模式。在此模式下,服务器会从知名的ftp - data端口(20)发起数据连接,连接到控制连接的源套接字,客户端必须监听该套接字(这些套接字是FTP会话的“默认数据端口”)。

使用此模式的常规步骤如下:
1. 客户端从本地套接字C发起与服务器端口21的控制连接。
2. 用户输入sendport命令,然后输入数据传输命令,如put或ls。此时,FTP客户端开始在套接字C上监听传入的TCP连接。
3. 服务器确定控制连接另一端的套接字C。它无需客户端通过FTP协议显式发送该信息,因为可以通过TCP获取(例如使用getpeername()套接字API例程)。然后,服务器从其ftp - dat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值