Vultr搬瓦工vps国外域名网站教程IT资讯主机商

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

时间:2022-03-18  来源:  作者: 我要纠错

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:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。

  • 上一篇:Linux禁止ping以及开启ping的方法
  • 下一篇:有时候FTP添加了21端口号,服务器可以正常连接,但是无法操作,
  • 无相关信息
    主机资讯
    主机信息
    Host Gnome英国
    Host Gnome英国
    Sugarhosts
    Sugarhosts
    Vultr
    Vultr
    GT Host
    GT Host
    BandwagonHost搬瓦工
    BandwagonHost搬瓦工
    INCX
    INCX
    Ram Node
    Ram Node
    IO Zoom
    IO Zoom
    推荐信息

    相关文章

    无相关信息

    栏目更新

    Copyright © 2020 ushost.cn Inc. All Rights Reserved. 美国主机中文网 版权所有
    鄂ICP备06013414号-8