FTP协议分析

FTP协议分析

一、概述

FTP网络共享文件传输协议,FTP客户端程序与服务器建立连接,从而双方可以进行文件的传输,FTP使用两个端口分别用于传输命令和传输数据。

1. 命令端口

命令端口主要负责FTP命令的发送,当客户端向服务器端发送命令时,服务器端会响应相关信息,其中的返回码主要是用于判断命令是否被成功执行了。

2. 数据端口

数据传输主要用于显示目录列表和上传下载文件,通常分为主动模式和被动模式

  • 主动模式:客户端发送端口号N给服务器,并在N+1端口进行监听,服务端会使用数据端口(20)连接此端口进行文件的传输

  • 被动模式:开启FTP连接时客户端打开两个任意本地端口(N>1024和N+1),第一个端口用于连接服务器的21端口进行命令的传输。服务器会开启任意一个端口(P>1024),返回例如"227 entering passive mode (127,0 ,0,1, 20 ,28)"。此数字前四个表示服务器地址,倒数第二个数字乘256+最后一个数字,则为服务器开放的端口,此时客户端利用N+1端口来连接此端口来进行数据的传输

  • Windows cmd下默认为主动模式,更改ftp为被动的方法:
    ftp> quote PASV

  • Linux ftp命令下默认为被动模式,更改为主动的方法:
    ftp> passive

3. 主要FTP命令

USER:指定用户名

PASS:指定用户密码

SIZE:从服务器返回指定文件大小

CWD:改变工作目录

PASV:进入被动模式,使服务器在数据端口监听

PORT:使服务器在数据端口监听,进入主动模式

RETR:下载文件

STOR:上传文件

QUIT:关闭与服务器的连接

二、实验过程

1. 实验环境

使用xShell连接服务器(Ubuntu)

2. 实验配置

  • 在Ubuntu中安装vsftpd来开启ftp服务:sudo apt-get install vsftpd
  • 具体Ubuntu中ftp的配置在此处不多赘述
  • 在xshell中建立ftp连接

在这里插入图片描述

3. 数据包分析

3.1 上传文件

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

3.2 下载文件

在这里插入图片描述
在这里插入图片描述

三、参考资料

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ysw!不将就

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

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

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

打赏作者

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

抵扣说明:

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

余额充值