篇一 :FTP21端口和20端口

一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定

FTP Port模式和FTP Passive模式

当你对一个FTP问题进行排错时候,你首先要问的一个问题是使用的是port模式的还是passive 模式。因为这两种行为迥异,所以这两种模式引起的问题也不同;在过去,客户端缺省为active(port)模式;近来,由于Port模式的安全问题,许多客户端的FTP应用缺省为Passive模式。

>>2.1 FTP Port模式

Port模式的FTP步骤如下:

1、 客户端发送一个TCP SYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口;

2、 服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口;

3、 客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答;

4、 当用户请求一个列表(List)请求或者发起一个要求发送或者接受文件的请求,客户端软件使用PORT命令,这个命令包含了一个暂时的端口,客户端希望服务器在打开一个数据连接时候使用这个暂时端口;PORT命令也包含了一个IP地址,这个IP地址通常是客户自己的IP地址,而且FTP也支持第三方(third-party)模式,第三方模式是客户端告诉服务器端打开与另台主机的连接;

5、 服务器端发送一个SYN包给客户端的暂时端口,源端口为20,暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号;

6、 客户端以源端口为暂时端口,目的端口为20发送一个SYN ACK包;

7、 服务器端发送一个ACK包;

8、 发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送(一些命令,如STOR表示客户端要发送数据,RETR表示服务器段发送数据),这些TCP段都需要对方进行ACK确认(注:因为TCP协议是一个面向连接的协议)

…… …… 余下全文

篇二 :FTP端口号20和21

个主动模式的FTP连接建立要遵循以下步骤:

客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。

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

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

客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。

摘自百度百科

…… …… 余下全文

篇三 :对服务器的ftp端口进行修改

对服务器的ftp端口进行修改

对服务器的ftp端口进行了修改,把21端口改了,比如221端口,就这样用221连接的时候,连接登录成功,但打不开目录,为何,总结如下:

1、完成一个FTP的传输过程不仅仅只需要21一个端口,而是2个端口,21端口只是一个命令端口,其实另外还有一个数据端口,我想这就是有些朋友在内网架设FTP并且在网关上做了21端口的映射之后外网还是不能访问的原因吧,另外一个数据端口是多少呢?这又牵涉到另外一个问题。

2、FTP具有两种模式,分别是port模式(也叫主动模式)和pasv模式(也叫被动模式),怎么来理解这两种模式呢?我来打个比喻吧,在主动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会通过另外一个数据端口把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件;在被动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被动模式,可以理解为服务端被客户端拿走了东西,哈哈,可以看懂吧。

在FTP的历史中,本来只有主动模式的,但是为什么又出现了被动模式呢?这又牵涉到另外一个问题了,呵呵~

3、在很久以前(我也不知道多久),地球上还没有什么共享上网这种技术,但是后来出现了,所以也就有了下面的问题,大家都知道,共享上网就是很多台电脑共享一个公网IP去使用internet,再打个比喻吧,某个局域网共享210.33.25.1这个公网IP上网,当一个内网用户192.168.0.100去访问外网的FTP服务器时,如果采用主动模式的话,192.168.0.1告诉了FTP服务器我需要某个文件和我打开了x端口之后,由于共享上网的原因,

…… …… 余下全文

篇四 :修改ftp默认端口

将FTP站点设置成PASV模式

1、启用直接编辑元数据库

打开 IIS Microsoft 管理控制台 (MMC):控制面板 ---> 管理工具---> Internet信息服务(IIS)管理器 ---> Internet信息服务--->本地计算机

右击本地计算机节点,选择属性,选择启用直接编辑元数据库复选框。

2、 修改端口号,方法1可行,方法2没有试验过。

方法 1 通过 ADSUTIL 脚本配置 PassivePortRange

运行cmd.exe程序进入命令行模式,并输入以下命令:

C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5550" 这样就将FTP服务器上TCP 默认短暂端口范围限制在5500-5550范围内,如果同时连接数量较多,可适当进行调整。

用以下命令查看PassivePortRange:

C:\Inetpub\AdminScripts\adsutil.vbs get /MSFTPSVC/PassivePortRange

方法 2 通过修改配置文件

打开下面这个文件 :

1. C:\WINDOWS\system32\inetsrv\MetaBase.xml

搜索 MaxConnections 这个字段

在 MaxConnections 下面新加一行被动模式的配置信息,修改后的配置文件

LogType="1"

MSDOSDirOutput="TRUE"

MaxClientsMessage=" "

MaxConnections="100000"

PassivePortRange="5500-5550"

…… …… 余下全文

篇五 :FTP协议使用两个连接

FTP协议使用两个连接。一个叫控制连接,另一个叫数据连接。FTP的命令和应答通过控制连接来交换,这个连接会存在于整个FTP会话过程中。另一方面,一个文件(或一个文件列表)通过数据连接来传送,这个连接是当每次文件传输时才新建立的。

通常出于网络安全的考虑,大多数防火墙不允许除FTP控制连接之外的任何连接连到FTP的服务端口(默认是TCP的21端口)。虽然如此,当一个文件传输时,防火墙临时地认可数据连接。为了做到这点,防火墙跟踪控制连接的状态,并检测跟文件传输相关的命令。这就是所谓的状态检测。

PORT命令的格式如下:

PORT<space>h1,h2,h3,h4,p1,p2<CRLF>

这里字符串“h1,h2,h3,h4”表示点分十进制的客户端的IP地址

“h1.h2.h3.h4”。字符串“p1,p2”表示一个数据端口号(= p1 * 256 + p2)。地址和端口号都是十进制数。数据端口由客户端动态指定。另外,命令和应答以<CRLF>字符序列结尾。

Netfilter跟踪一个FTP控制连接,并获取TCP序列号和包含一个FTP命令行(以<LF>结尾)的数据包的数据长度。然后基于这些信息,它计算出下一个命令数据包的序列号。当一个这样序列号的数据包到达时,Netfilter分析数据包中的数据是否包含一个FTP命令。如果数据的头部是“PORT”,并且数据以<CRLF>结尾,于是Netfilter认为它是一个有效的PORT命令(实际的代码会更复杂),并从中取出IP地址和端口号。然后,Netfilter“期待”服务器主动建立一个到客户端指定的端口号的数据连接。当数据连接请求确实到达时,它会认可连接,同时连接建立。一个没完成的命令,即所谓的“不完全的”命令,会因为无法真实的跟踪而丢弃。

从大的方面来说,netfilter就是一张大的流转发表,这个转发表的查找是基于流的五元组(sip/dip/sport/dport/type),流是有方向的,我们分别定义为正向和反向。用一个图更为形象的说明流表的组织形式。

…… …… 余下全文

篇六 :FTP主动模式与FTP被动模式端口问题

FTP是仅基于TCP的服务,不支持UDP。 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。

1、主动FTP:

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 >1024端口 <- 服务器 20端口

2、被动FTP:

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 >1024端口 -> 服务器 >1024端口

(一) 主动与被动FTP优缺点:

主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的 防火墙 阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口 很有可能被服务器端的防火墙阻塞掉。

简而言之:

主动模式(PORT)和被动模式(PASV)。主动模式是从服务器端向客户端发起连接;被动模式是客户端向服务器端发起连接。两者的共同点是都使用 21端 口进行用户验证及管理,差别在于传送数据的方式不同,PORT模式的FTP服务器数据端口固定在20,而PASV模式则在1025-65535之间随机。

(二)主动FTP

主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。

针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:

…… …… 余下全文

篇七 :FTP的连接方式有什么区别啊port,pasv,eprt,epsv

主动连接 PORT

和被动连接 PASV 方式

他们的区别就是在连接上服务器之后创建数据通道的时候:

PORT 模式是建立从服务器高端口连到客户端20端口数据连接

PASV 模式是建立客户高端口连到服务器返回的数据端口的数据连接

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器从20端口向客户端的空闲端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端向服务器的空闲端口发送连接请求,建立一条数据链路来传送数据。

FTP仅仅提供了建立在IPv4上进行数据通信的能力,它基于网络地址是32位这一假设。但是,当IPv6出现以后,地址就比32位长许多了。原来对FTP进行的扩展在多协议环境中有时会失败。针对IPv6对FTP再次进行扩展,两个FTP命令PORT和PASV通过扩展后,我们称它们为EPRT和EPSV

…… …… 余下全文

篇八 :FTP原理、常见问题及解决办法

FTP原理、常见问题及解决办法

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动模式和被动模式。

PORT(主动)方式的连接过程是:客户端从一个任意的非特权端口N(N>1024)向服务器的命令端口(默认是21)发送连接请求,服务器接受连接。然后客户端开始监听端口N+1,并发送命令”PORT N+1”到FTP服务器。接着FTP服务器会用数据端口20连接到客户端指定的数据端口N+1建立一条命令链路,当需要传送数据时,服务器从20端口向客户端的空闲端口N+1发送连接请求,建立一条数据链路来传送数据。

对于FTP服务器前面的防火墙,必须允许以下通讯才能支持主动方式

1、 任何端口到服务器的21端口(客户端的初始化的连接是S?C)

2、 服务器的21端口到大于1024的端口(服务器响应S-->C)

3、 大于1024的端口到服务器的20端口(客户端发送ACK响应到服务器的数据端口S?C)

4、 FTP的主动方式主要问题实际上在客户端,它并没有实际建立到服务器数据端口的连接,它只简单的告诉服务器自己监听的端口号,服务器再回来连接这个指定的端口号,对于客户端的防火墙来说,这是从外部系统到内部客户端的连接,一般都会阻止。

PASV(被动)方式的连接过程中,命令连接器和数据连接都是由客户端发起的,这样就可以解决从服务器到客户端的数据流被防火墙阻止的问题。

当开启一个FTP连接时,客户端打开两个任意非特权端口(N>1024、N+1),第一个端口和服务器的21端口建立命令连接,客户端提交PASV命令,服务器会打开一个端口P(P>1024),客户端用第二个端口和服务器的端口P连接用来传送数据。

对于服务器上的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP

…… …… 余下全文