ftp协议的工作规律

2019-07-26 08:36栏目:IT操作系统

ftp协议的工作原理

0x00 如何快速的搭建简易的资源发布站

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。比如:

  1. FTP 原理
    FTP Transfer Protocol 件传输协议的缩写,在RFC 959中具体说明。
    FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。
    控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。
    数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。
    FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式

FTP Transfer Protocol 件传输协议的缩写,在RFC 959中具体说明。
  FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。
  控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。
  数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。
  FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式
  PORT模式(主动方式)
  FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
  PASV模式(被动方式)
  在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接传送数据。
  如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,这一点非常关键,如果设置错了,那么客户将无法连接。

开启简易的python http服务器

1
2
cd /home/your_path
python -m SimpleHTTPServer 8000

BKJIA推荐专题:vsftpd入门——安装、配置、案例与常见问题

PORT模式(主动方式)
FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
PASV模式(被动方式)
在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送 PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接传送数据。
如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,这一点非常关键,如果设置错了,那么客户将无法连接。

版权声明:本文由ca888发布于IT操作系统,转载请注明出处:ftp协议的工作规律