FTP协议的主动模式和被动模式

2023-10-16 16:32:54 浏览数 (2)

FTP协议有主动模式和被动模式,主要因为主动模式对客户端的网络有一定的要求,必须能够映射端口到公网上,所以必须使用被动模式。vsftpd模式就是被动模式

主动模式

主动模式与被动模式的最大的区别就是,FTP服务器是主动连接发送数据(主动模式),还是被动接收连接发送数据(被动模式)。

原理图

主动模式原理图

流程

原理如上图,流程解释如下

  • FTP服务器监听21端口
  • FTP客户端使用一个随机端口N,连接服务器21端口,并登录成功
  • FTP监听N 1
  • FTP发送PORT命令,把客户端IP和端口N 1发送给服务器
  • 服务器使用端口20主动连接客户端N 1端口,并发送数据

抓包分析

主动模式抓包分析

  • 客户端使用端口49991连接服务器的21端口
  • 发送的PORT命令中,Active IP Address : 172.25.0.12Active port: 49893
  • 服务器使用端口20,发送数据到172.25.0.12:49893

缺点

被动模式最大的问题,就是客户端监听的端口,必须映射到公网IP,否则服务器就连接不上

被动模式

原理图

被动模式原理图

流程

原理如上图,流程解释如下

  • FTP服务器监听21端口
  • FTP客户端使用一个随机端口N,连接服务器21端口,并登录成功
  • FTP发送PASV命令
  • 服务器监听随机端口M,并返回服务器IP和M
  • 客户端连接服务器M端口,并接收数据

抓包分析

被动模式抓包分析

  • 客户端使用端口60253连接服务器的21端口
  • 发送的PASV命令给服务器
  • 服务器监听端口58506
  • 服务器返回Passive IP Address : 172.25.0.101Passive port: 58506
  • 客户端使用使用端口60254连接服务器端口58506,并获取数据

0 人点赞