【答案】:D
FTP文件传输服务,默认情况下,其控制端口为TCP 21,上传文件时的端口为数据端口为TCP 20。80号端口为HTTP协议的默认端口,大于1024的端口为客户端自定义端口。
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:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。
ftp进行控制连接时使用的默认端口号为
FTP文件传输服务,默认情况下,其控制端口为TCP 21,上传文件时的端口为数据端口为TCP 20。80号端口为HTTP协议的默认端口,大于1024的端口为客户端自定义端口。 FTP是一种基于TCP的高级文件协议,在传输过程中,主要分为连接建立和数据传输两部分,响应的涉及服务器端的命令端口和数据端口。 建立连接是一种基于tcp的三次...
FTP协议默认的端口号是什么
FTP协议默认的端口号是TCP21端口。文件传输协议(FTP)分为命令通道和数据通道,其中命令通道的连接默认使用TCP21端口。在文件传输过程中,FTP使用两个TCP连接。一个连接用于命令传输,即TCP21端口,这是命令通道。另一个连接用于数据传输,这是数据通道。TCP21端口作为命令通道的默认端口,使得FTP客户端和...
FTP默认端口号是多少?
FTP(文件传输协议)默认使用的端口号是21,这个端口号主要用于控制连接。FTP通常涉及两个端口,一个为控制端口(21),负责命令交互,另一个是数据端口,通常为20,但在主动模式下,客户端可能使用端口20接收数据。在连接过程中,客户端首先随机选择一个大于1024的端口(例如x),然后连接到服务器的21号...
ftp默认端口号是多少?
FTP默认端口号是21。FTP,即文件传输协议,是一种常用的网络服务。在计算机和网络通信中,端口号用于标识一个特定的应用程序或服务。不同的网络服务有不同的默认端口号,而FTP服务的默认端口号就是21。解释如下:1. FTP的基本工作原理:FTP是一个客户端-服务器架构的协议,允许用户通过网络从FTP服务器...
ftp默认端口号多少
FTP,即文件传输协议,其核心功能是实现网络上的文件传输。当我们谈论FTP默认端口号时,有两个关键的数字值得关注:控制连接的默认端口为21,用于管理连接的建立和控制;数据传输的默认端口为20,负责文件的实际传输。在进行FTP连接时,如果你未在客户端软件中明确指定端口号,系统会自动使用21作为控制连接的...
ftp服务的默认端口是什么
21号端口是FTP服务的默认控制连接端口,无论是客户端主动连接(主动模式)还是服务器主动提供连接信息(被动模式),这个端口都是不可或缺的。在主动模式下,客户端通过21端口与服务器建立联系,之后服务器会主动连接客户端的随机端口进行数据传输。而在被动模式中,客户端同样通过21连接,然后请求服务器开启...
ftp默认端口号多少
FTP的默认端口号是21。FTP,即文件传输协议,是用于在网络上进行文件传输的标准网络协议。它使用客户端-服务器模型,并且通常运行在TCP协议之上。详细来说,FTP协议需要两个端口号:一个是控制端口,也就是21端口,用于发送控制命令给FTP服务器,实现如用户身份验证、列出目录和文件、获取文件大小等基本的...
ftp默认端口号多少
FTP协议在网络中使用两个端口进行通讯,一个用于控制连接,另一个用于数据传输。其中,控制连接的默认端口号是21,而数据传输的默认端口号是20。用户可以通过客户端软件输入FTP服务器的IP地址以及端口号进行连接,若不输入端口号则默认使用21端口。3. FTP连接时如何指定端口号?当FTP服务器的端口号被更改...
ftp的默认端口号是多少
FTP(文件传输协议)服务器的默认端口是21。这个端口被用于建立FTP控制连接,传输命令和控制信息。客户端连接到FTP服务器时,会首先连接到这个端口,并在控制连接建立后通过数据端口(默认为20端口)进行数据传输。请注意,FTP协议可以在不同的端口上运行,但默认情况下,FTP控制端口和数据端口的标准端口分别...
ftp服务的默认tcp端口号是什么
FTP默认的数据端口号是20,21,22,23,是用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层。FTP在TCP模型的第四层,即应用层,使用TCP传输而不是UDP,客户在和服务器建立连接前要经过一个“三次握手”的过程,保证客户与服务器之间的连接是可靠的,而且是面向连接,为数据传输提供...