Ftp的port模式和pasv模式
2011-08-16 23:27
253 查看
前段时间研究Socket编程,看了几个有关Ftp协议服务端和客户端的开源实现。了解了下port模式和passive模式。
FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。
从上面的解释中,大家可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。
FTP需要2个端口,一个端口是作为控制连接端口,也就是21这个端口,用于发送指令给服务器以及等待服务器响应;另一个端口是数据传输端口,端口号为20(仅PORT模式),是用来建立数据传输通道的,主要有3个作用
从客户向服务器发送一个文件。
从服务器向客户发送一个文件。
从服务器向客户发送文件或目录列表。
FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:
当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。
从上面的解释中,大家可以看到两种模式主要的不同是数据连接建立的不同,对于Port模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。
FTP需要2个端口,一个端口是作为控制连接端口,也就是21这个端口,用于发送指令给服务器以及等待服务器响应;另一个端口是数据传输端口,端口号为20(仅PORT模式),是用来建立数据传输通道的,主要有3个作用
从客户向服务器发送一个文件。
从服务器向客户发送一个文件。
从服务器向客户发送文件或目录列表。
相关文章推荐
- ftp的主动模式(port)与被动模式(PASV)
- FTP的PORT(主动模式)和PASV(被动模式)
- FTP的两种连接模式:Port模式和Pasv模式
- FTP状态代码说明及PORT模式和PASV模式比较
- FTP服务2种工作方式详解,PORT方式和PASV方式,(即主动模式和被动模式)
- ftp的port和pasv模式
- FTP的两种连接模式:Port模式和Pasv模式
- IE不能访问FTP之ftp的port和pasv模式
- ftp的主动模式(port)与被动模式(PASV)
- ftp的port和pasv模式比较
- ftp中主动模式(port)与被动模式(PASV)[转载]
- FTP通信模式PORT PASV EPRT EPSV 在IPV6与IPv4下区别
- FTP传输之PORT、PASV模式辨析
- 【FTP】FTP 命令模式下 PASV OR PORT
- FTP协议中主动模式(即PORT模式)与被动模式(即PASV模式)的介绍
- ftp的port和pasv模式比较
- FTPPORT模式和PASV模式比较
- (转)FTP的PORT(主动模式)和PASV(被动模式)
- ftp的主动模式(port)与被动模式(PASV) (转)
- Serv-U FTP之PASV和PORT模式