ftp端口号是多少默认,ftp数据端口和控制端口

FTP是一种基于TCP的高级文件协议,在传输过程中,主要分为连接建立和数据传输两部分,响应的涉及服务器端的命令端口和数据端口。 建立连接是一种基于tcp的三次握手模型,对于ftp服务器,它使用固定的21命令端口与客户端进行通信。 在数据传输期间、ftp传输期间,通过在服务端数据通信期间选择不同的数据端口,可以将ftp分为主动模式(Port )和被动模式(Pasv )。 对于客户端,这两种模式对端口没有固定性,只能在创建时主动指定本地端口或随机端口,但对于服务器,可以使用服务器上固定的20个端口,或服务器根据连接立即指定1025个或更多数据端口但是,命令传输端口对服务器来说始终是21个端口。

FTP服务端支持两种模式。 在具体的通信过程中,选择哪个模式取决于客户端的选择。 然后介绍了两种模式的具体流程和相关原理。

1.ftp两种运行模式

Port模式(主动)

FTP客户端从任何非特殊端口(N 1023 )连接到FTP服务器命令端口21。 然后,客户端在n1(n1=1024 )端口上监听,并通过n1(n1=1024 )端口向FTP服务器发送命令。 服务建立从服务20端口到用户本地指定端口的数据传输连接。

处于活动模式的FTP的主要问题实际上在于客户端。 FTP客户端不会主动连接到服务器的数据端口,而是告诉服务器正在接收哪个端口,然后服务器开始连接到客户端上的指定端口。 但是,这样的连接有时候会被客户端的防火墙阻止

具体原理

以下是活动模式下的FTP的具体示例。

在活动模式的FTP中,客户端通过随机非系统端口(N 1023 )连接到FTP服务器的命令端口21。 然后,客户端开始监听端口N 1,并将FTP命令端口N 1告诉FTP服务器“请将数据发送到我的N 1端口”。 然后,服务从本地数据端口(端口20 )连接到客户端数据端口,即N 1端口。

由于服务器防火墙已隔离,因此必须确保从服务器FTP到客户端的以下几个通道已顺利进行:

FTP服务器端口21 (接受所有客户端) ) ) ) ) ) ) )。

FTP服务器端口21~1023 (服务器响应客户端控制端口)

FTP服务器端口20到1023上的端口(服务器开始连接到客户端数据端口)。

从1023端口到FTP服务器端口20 (客户端向服务器数据端口发送ack ) )。

用图表示这些通道:

在步骤1中,客户端命令端口连接到服务器命令端口,并发送命令端口1027。 然后,服务在步骤2中将ACK发送回客户端命令端口。 在步骤3中,服务在本地数据端口上启动连接,并连接到前面指定的客户端数据端口。 最后,客户端返回ACK,如步骤4所示。

Pasv模式(被动)

Pasv是Passive的缩写,中文处于被动模式。 工作原理: FTP客户端连接到FTP服务器的21个端口,并通过发送用户名和密码进行登录。 成功登录后,读取list列表或数据时,将Pasv命令发送到FTP服务器。 服务器本地随机开放一个端口(1024或更高),将开放端口传递给客户端,然后客户端连接到服务器的开放端口进行数据传输

被动模式的FTP的具体例子如下所示。

在被动模式的FTP中,客户端启动到服务器的两个连接,以解决防火墙阻止服务器到客户端的传入数据端口连接的问题。 建立FTP连接后,客户端将在本地打开两个随机的非系统端口n和n1(n1023 )。 第一个端口连接到服务器的21个端口,但客户端现在发出PASV命令。 这意味着服务器不能重新连接到数据端口。 这将使服务打开随机的非系统端口p(p1023 ),并将p发送到客户端以响应PASV命令。 然后,客户端启动从端口N 1到端口p的连接并传输数据。

被动模式保持以下通道的平滑度:

FTP服务器的21个端口(接受所有客户端)

从FTP服务器的21端口到1023端口的远程端口(服务器响应客户端控制端口) ) ) )。

FTP服务器1023上的端口(从所有客户端接受到服务器指定随机端口的连接)。

从FTP服务器1023的端口到1023的远程端口(服务器将ack和数据发送到客户端数据端口)。

被动模式用图表示:

在步骤1中,客户端通过命令端口连接到服务器并发出PASV命令。 然后,服务在步骤2中使用端口2024进行响应,并通知客户端正在接收的数据连接

口。第 3 步,客户端启动从其数据端口到指定服务器数据端口的数据连接。最后,服务器在第 4 步将 ACK 发送回客户端的数据端口。

      被动模式的FTP的需要在服务端进行开放端口区段设置,用来开放给客户端进行连接,如果被动模式下,出现客户端可以访问ftp服务端文件的列表,但是无法进行下载等进一步操操作,出现这种问题的原因,是服务端的文件无法被读取或者是无法通过网络端口进行传输。可以按照以下步骤进行排查:

1)检查服务端端对文件的权限设置是否完全,登录用户是否存在下载权限;

2)如果登录用户存在下载权限,那么需要进一步检查服务器端的数据传输接口是否开放,如果有防火墙的话,是否配置了防火墙的出站入站端口规则;

3)如果仍然存在问题,检查被动模式下的ftp服务器的数据端口设置是否进行指定,默认是1025-6000,指定的端口区段是否已经配置了防火墙的出站规则;

 

2.两种模式的比较

     从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

    主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

    被动模式只需要服务器端开放端口给客户端连接就行了。

3.不同工作模式的网络设置

    我在实际项目中碰到的问题是,FTP的客户端和服务器分别在不同网络,两个网络之间有至少4层的防火墙,服务器端只开放了21端口, 客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。

    由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是,在ftp服务器配置被动模式下开放随机端口在 50000-60000之间(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端50000-60000之间的端口端。

    主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段。

 

    4.常见的ftp客户端设置被动模式

(1)IE:工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。
(2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode” 。
(3)FlashGet:工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”。
(4)FlashFXP:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。

极速赛车五码稳赢技巧否完全,登录用户是否存在下载权限;

2)如果登录用户存在下载权限,那么需要进一步检查服务器端的数据传输接口是否开放,如果有防火墙的话,是否配置了防火墙的出站入站端口规则;

3)如果仍然存在问题,检查被动模式下的ftp服务器的数据端口设置是否进行指定,默认是1025-6000,指定的端口区段是否已经配置了防火墙的出站规则;

 

2.两种模式的比较

     从上面的运行原来看到,主动模式和被动模式的不同简单概述为: 主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

    主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

    被动模式只需要服务器端开放端口给客户端连接就行了。

3.不同工作模式的网络设置

    我在实际项目中碰到的问题是,FTP的客户端和服务器分别在不同网络,两个网络之间有至少4层的防火墙,服务器端只开放了21端口, 客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放被动模式下的随机端口导致。

    由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是,在ftp服务器配置被动模式下开放随机端口在 50000-60000之间(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端50000-60000之间的端口端。

    主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段。

 

    4.常见的ftp客户端设置被动模式

(1)IE:工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE6.0以上才支持)。
(2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode” 。
(3)FlashGet:工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”。
(4)FlashFXP:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注