欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

简述FTP主动模式与被动模式

程序员文章站 2024-01-17 12:04:04
1 FTP工作模式 2 不同模式FTP面临的问题 3 主动模式的FTP连接建立连接主要步骤 客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口x(在客户端);远程端口为21(在服务器端)。输入正确的用户名/密码 ......

1 ftp工作模式

简述FTP主动模式与被动模式

2 不同模式ftp面临的问题

简述FTP主动模式与被动模式

3 主动模式的ftp连接建立连接主要步骤

  • 客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个ftp进程连接至服务器的21号命令端口。此时,源端口为随机端口x(在客户端);远程端口为21(在服务器端)。输入正确的用户名/密码后ftp建立成功。如果需要发送数据则客户端会向服务器发送port命令。

简述FTP主动模式与被动模式

post命令的含义:有6个数,通过5个逗号分开,前4个数是ip地址,第5个数*256+第6个数=端口号(这就是x+1端口,可以算一下一定是等于x+1)


  • 客户端开始监听端口(x+1),同时向服务器发送一个port命令(通过服务器的21号命令端口),此命令告诉服务器现在客户端正在监听的端口号,并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。

  • 服务器打开20号端口建立和客户端数据端口的连接。此时源端口为20,远程数据端口为(x+1)。

  • 客户端使用本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。之后就可以传输数据了。


客户端通过x端口向服务器的发送port命令,告诉服务器我的数据端口是什么。
简述FTP主动模式与被动模式


传送数据的端口为20端口

简述FTP主动模式与被动模式

4. 被动模式的ftp连接建立连接主要步骤

  • 当开启一个ftp连接时,客户端打开两个任意的非特权本地端口x和x+1(x>1024)。
  • 第一个端口连接服务器的21端口,但与主动方式的ftp不同,客户端不会提交port命令并允许服务器来回连它的数据端口。而是提交pasv命令(用途是询问服务器是否支持pasv,服务器如果支持的话服务器会回复227)。
  • 这样做的结果是服务器会开启一个任意的非特权端口p(p>1024),并发送命令给客户端。
  • 然后客户端发起从本地端口x+1到服务器的端口p的连接,建立成功后就可以用x+1和p端口来传送数据。

简述FTP主动模式与被动模式


被动模式的ftp-data可以是由客户端向服务器端发起的连接

简述FTP主动模式与被动模式