FTP工作的原理


FTP(文件传输协议):File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
数据传输格式:二进制(默认)和文本
双通道协议:命令和数据连接

两种模式:从服务器角度
主动(PORT style):服务器主动连接
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port <---服务器:20/tcp

被动(PASV style):客户端主动连接
命令(控制):客户端:随机port ---> 服务器:21/tcp
数据:客户端:随机port ---> 服务器:随机port /tcp

命令通道:走TCP的21端口,用来传输指令的。
命令通道永远是客户端主动向服务端发起请求:命令通道走的是TCP/21端口

数据通道:用来传输数据的
数据通道走的是两个端口,通过工作模式来确定走的端口:

主动模式(post)为TCP的20端口。
主动模式(post):服务器端主动连接客户端

被动模式走的是随机端口,所谓主动和被动都是以服务器的角色来看。
被动模式(pasv):客户端主动连接服务器端(会通过命令通道相互交换信息,客户端就会知道服务端的随机端口号)

范例:服务器被动模式数据端口

227 Entering Passive Mode (172,16,0,1,224,59)

服务器数据端口为:224*256+59


FTP服务状态码:
125:数据连接打开
200:命令OK 
230:登录成功
331:用户名OK
425:客户端不能打开数据连接
530:服务器不能登录

用户认证:
匿名用户:ftp,anonymous,对应Linux用户ftp
系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
虚拟用户:特定服务的专用用户,独立的用户/密码文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的协议。它使用客户端-服务器模型,其中客户端与服务器建立连接并通过该连接传输文件。 工作原理如下: 1. 客户端发起连接:客户端向服务器的FTP端口(默认为21)发起连接请求。 2. 服务器响应:服务器接受连接请求,并发送一个欢迎消息给客户端。 3. 客户端登录:客户端向服务器发送登录凭据(用户名和密码)进行身份验证。 4. 建立控制连接:一旦身份验证成功,客户端与服务器之间建立一个控制连接。该连接用于传输命令和控制信息。 5. 执行FTP命令:客户端通过控制连接发送FTP命令给服务器。这些命令可以是上传文件、下载文件、创建目录等操作。 6. 数据连接建立:根据需要,服务器和客户端之间建立一个数据连接用于文件传输。数据连接可以是主动模式或被动模式。 7. 文件传输:一旦数据连接建立,文件可以通过数据连接进行传输。客户端和服务器之间交换数据,完成文件的上传或下载。 8. 关闭连接:文件传输完成后,控制连接和数据连接都会被关闭。客户端可以选择继续与服务器通信或断开连接。 这是FTP的基本工作流程,它允许用户在客户端和服务器之间进行可靠的文件传输。值得注意的是,FTP可以通过加密协议(如FTPS和SFTP)进行安全传输。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直在努力学习的菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值