报文解析FTP主动被动模式和FTP结合NAT使用

合集下载

FTP协议中的主动模式与被动模式详解

FTP协议中的主动模式与被动模式详解

FTP协议中的主动模式与被动模式详解FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准协议。

在FTP协议中,主动模式(Active Mode)和被动模式(Passive Mode)是两种常见的连接方式。

本文将详细解释FTP协议中的主动模式与被动模式的原理、特点和使用场景。

一、主动模式(Active Mode)主动模式是FTP协议中最早的一种连接方式。

在主动模式下,客户端主动发起控制连接,并通过数据连接与服务端进行数据传输。

在主动模式中,客户端首先与FTP服务器的默认端口(端口号为21)建立控制连接。

控制连接的建立过程涉及到三次握手,以确保双方正常通信。

建立成功后,客户端发送PORT命令,通知服务器客户端的数据传输端口。

服务器接收到PORT命令后,通过控制连接向客户端发起数据连接。

客户端接收到服务器的连接请求后,通过数据连接进行文件的传输。

主动模式的优点是连接的主动性强,适用于FTP客户端位于防火墙后的情况。

然而,主动模式也存在一些缺点。

首先,由于服务器需要主动向客户端发起连接请求,因此必须允许服务器主动连接客户端的数据端口,这在某些情况下可能会被防火墙拦截。

其次,在主动模式下,FTP服务器必须确定客户端的IP地址和端口,这对服务器的资源消耗较大。

因此,在现代网络环境下,被动模式逐渐成为了主流。

二、被动模式(Passive Mode)被动模式是FTP协议中现代化的一种连接方式。

在被动模式下,客户端与服务器之间的控制连接和数据连接都是由客户端发起。

在被动模式中,客户端首先与FTP服务器的默认端口(端口号为21)建立控制连接,控制连接的建立过程同样包括三次握手。

建立成功后,客户端发送PASV命令,通知服务器切换至被动模式。

服务器接收到PASV命令后,随机选择一个端口,将该端口号返回给客户端。

客户端通过控制连接接收到服务器返回的端口号后,便通过该端口与服务器建立数据连接。

FTP主动模式及被动模式

FTP主动模式及被动模式

FTP主动模式及被动模式FTP(文件传输协议)是一种用于在网络上传输文件的标准协议。

它允许用户通过网络将文件从一台计算机传输到另一台计算机。

在FTP中,有两种常见的数据传输模式,即主动模式和被动模式。

本文将介绍这两种模式的工作原理和应用场景。

主动模式(Active Mode)在FTP主动模式中,客户端首先与服务器的端口21建立控制连接。

当需要传输文件时,客户端会随机选择一个高于1024的端口号,并通过控制连接向服务器发送PORT命令,指定该端口号。

服务器收到PORT命令后,会主动在端口20上建立一个数据连接,并通过该连接发送文件给客户端。

主动模式的优点是服务器主动连接客户端,无需过多配置客户端的防火墙或路由器。

然而,由于主动模式需要在客户端和服务器之间建立两个连接(控制连接和数据连接),并且需要动态分配端口号,因此其配置和维护相对较为复杂。

被动模式(Passive Mode)在FTP被动模式中,客户端同样首先与服务器的端口21建立控制连接。

当需要传输文件时,客户端发送PASV命令给服务器。

服务器收到PASV命令后,会在一个高于1024的端口号范围内,随机选择一个端口号,并将该端口号作为响应返回给客户端。

客户端收到服务器返回的端口号后,会在该端口上主动建立一个数据连接,并通过该连接与服务器进行文件传输。

被动模式下,服务器充当被动接收数据的角色,而客户端则主动连接服务器。

被动模式相对于主动模式来说,更加适用于在网络环境较为复杂的情况下进行文件传输。

由于被动模式下只需要建立一个连接,且无需动态分配端口号,因此在防火墙和路由器后面的客户端可以更方便地与服务器进行通信。

主动模式与被动模式的对比主动模式和被动模式在文件传输过程中的工作原理有所不同,因此它们适用的网络环境也不同。

主动模式适用于位于防火墙后面的客户端。

由于主动模式需要服务器主动连接客户端,因此需要开放防火墙的一些端口,以允许服务器建立数据连接。

FTP主动模式被动模式分析

FTP主动模式被动模式分析

FTP协议主动模式被动模式分析©2008圣诺网络技术有限公司版权所有作者:xiaoshi20cn mail:xiaoshi20cn@根据TCP/IP卷1的讲解,FTP协议在工作时开启两个端口,一个用与服务器与客户机之间传输控制命令(通常为21),一个用来传输数据。

并且根据实际情况的不同,有主动被动模式之分(主动被动仅对服务器而言。

)PORT(主动模式)默认FTP客户端工作在主动模式下,客户端指定数据传输端口,服务器主动去连接客户端。

PASSIVE(被动模式)当FTP客户端采用被动模式连接时,服务器指定数据传输端口,服务器被动等待客户端连接。

通常默认的FTP客户端均采取主动模式,即等待服务器主动连接,同时也为了避免NAT代理服务器防火墙等影响,有更改为被动模式的选项。

IE6.0下迅雷下面是用实验来说明。

FTP软件WinFTP ServerFTP服务器WINXP192.168.10.11 FTP客户端OPENBSD4.2192.168.10.160首先查看当前机器监听端口,我用putty连接openbsd22端口。

开启winftpserver,,在看当前机器监听端口多了一个21端口,FTP控制端口。

之后我用ob连接FTP服务器,由于ob下默认为被动模式,首先关闭它,采用主动模式。

其中PORT192,168,10,160,192,245,一句表明,客户端采用主动模式,让服务器主动连接客户端的49397端口(192245有个公式可以计算出是49397,但我忘了。

)后面的ftp命令操作没有区别。

我先打开ob的被动模式,之后连接从Entering Extended Passive Mode(|||1028|)这一句可以看出,客户端采用被动模式,服务器只要给出数据传输端口,等待客户端来连接就可以了。

主动还是被动,主要是针对服务端来说。

如果客户端指定端口,采用主动模式,服务端就要主动连接。

如果服务端指定端口,客户端采用被动模式,服务端只要等待连接。

FTP主动模式和被动模式

FTP主动模式和被动模式

FTP主动模式和被动模式基于Centos7、vsftpd3.0.20、前导:ftp通信中存在两种连接:控制连接:⽤于传递控制命令及其他⼩数据量通信。

数据连接:⽤于传输⽂件数据流。

根据数据连接的建⽴⽅式分为主动模式(active mode)和被动模式(passive mode),主动和被动都是以ftp服务端为中⼼来说的。

主动模式:顾名思义,主动模式就是ftp-erver主动发起通向ftp-client的数据连接。

被动模式:同理,被动模式就是ftp-erver不发起连接,⽽是被动接受ftp-client发起的数据连接。

ftp仍然属于tcp连接,故需三次握⼿。

⼀、主动模式:vim /etc/vsftpd/vsftpd.confpasv_enable=NO #1.关闭passive模式port_enable=YES #2.启⽤active模式connect_from_port_20=YES #3.允许从20端⼝连接,主动模式使⽤20端⼝进⾏数据传输pasv_min_port=3000 #active模式下属⽆效配置pasv_max_port=4000 #active模式下属⽆效配置systemctl restart vsftpd #重启ftp服务ftp -A 192.168.50.87 #以active模式连接ftp-server,⼀定要加参数【-A】连接过程:1. client⽤⼤于1024的任意端⼝(如1025)连接server的21端⼝,建⽴控制连接(controll-connection),⽤于控制通信。

2. client另起⼀个⼤于1024的端⼝(如1026),并通过控制连接将此端⼝告诉server,server使⽤其20端⼝主动与此端⼝建⽴数据连接(data-connection)。

⼆、被动模式:vim /etc/vsftpd/vsftpd.confpasv_enable=YES #1.开启被动模式,如果不配置pasv_enable=NO,默认是passive模式#默认值为0,表⽰取任意(1024 – 65535端⼝),把端⼝范围设在⽐较⾼的⼀段范围内,⽐如3000-4000pasv_min_port=3000 #2.指定数据连接端⼝下界pasv_max_port=4000 #3.指定数据连接端⼝上界systemctl restart vsftpd #重启ftp服务ftp -p 192.168.50.87 #以passive模式连接ftp-server,【-p】为可选参数连接过程:1. client⽤⼤于1024的任意端⼝(如1025)连接server的21端⼝,建⽴控制连接(controll-connection),⽤于控制通信。

报文解析FTP主动被动模式和FTP结合NAT使用

报文解析FTP主动被动模式和FTP结合NAT使用

报⽂解析FTP主动被动模式和FTP结合NAT使⽤FTP模式介绍FTP的主动模式和被动模式的区别:主动模式:(也叫Standard模式,PORT⽅式)FTP服务器主动去连接FTP客户端。

FTP客户端告诉FTP服务器使⽤什么端⼝进⾏侦听,FTP服务器和FTP客户端的这个端⼝进⾏连接,源端⼝是20。

被动模式:(也叫Passive模式,也叫PASV⽅式)FTP服务器被动的等待FTP客户端连接⾃⼰。

FTP服务器打开指定范围内的某个端⼝(也叫⾃由端⼝,1024--65535之间),被动的等待客户端进⾏连接。

主被动模式报⽂解析建⽴控制连接的过程登录的时候客户端是44.1.1.44服务器是33.1.1.33,⽤户名1密码111111通过命令⾏登录Client:syn 我请求跟你进⾏连接Server:ack+syn 可以,我也请求跟你连接Client:ack 可以(上⾯是三次握⼿)Server:response 我这ready准备好了Client:ack 好的Client:request 我使⽤的user是1Server:response 请输⼊密码Client:ack 好的,收到Client:request 我⽤的密码是111111Server: response ⽤户名1 ,密码111111,正确,logged in,允许进⼊Client:ack 好的上⾯是进⾏的连接控制的简单过程,FTP服务器使⽤的端⼝号是21,FTP客户端使⽤的端⼝号是64023。

主动连接:客户端通过PORT命令告诉服务器⾃⼰要使⽤的数据端⼝号,然后在客户端主动建⽴起这个端⼝的监听。

进⾏⽂件传输的时候,服务器来连接客户端的这个数据接⼝,进⾏数据传输。

FTP客户端想要下载⽂件,get hfs.exeClient:request 我发送了PORT命令要使⽤主动连接,使⽤64024进⾏侦听Server:response 主动连接的指令成功Client:request 我想要hfs.exe⽂件Server:response 为hfs.exe打开数据连接Server:syn 主动请求建⽴数据连接,源端⼝号20,⽬的端⼝号64024Client:ack+syn 可以,请求与服务器建⽴连接,sport:64024,dport:20Server:ack 可以之后就是server和client之间传输数据的过程,⼀直到⽂件传完Server:response 给client发送⼀条命令,⽂件传输okClient:ack 好的以上是主动模式的过程被动连接:FTP客户端发送PASV命令到FTP服务器,想使⽤PASV⽅式传输数据。

FTP报文解析

FTP报文解析
????被动模式?在被动方式ftp中命令连接和数据连接都由客户端发起这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题
FTP解析
第五小组
FTP概述
• FTP是应用层的协议,它基于传输层,负责文 件的传输。FTP是一个8位的客户端-服务器协 议。 •P有着极高的延时,这意味着,从开 始请求到第一次接收需求数据之间的时间会非 常长,并且不时的必需执行一些冗长的登陆进 程。
FTP的运行
• FTP服务一般运行在20和21两个端口。端口 20用于在客户端和服务器之间传输数据流, 而端口21用于传输控制流,并且是命令通向 ftp服务器的进口。当数据通过数据流传输时, 控制流处于空闲状态。而当控制流空闲很长时 间后,客户端的防火墙会将其会话置为超时, 这样当大量数据通过防火墙时,会产生一些问 题。此时,虽然文件可以成功的传输,但因为 控制会话会被防火墙断开,传输会产生一些错 误。
• • • • •
通过抓包方式获得FTP服务器账号密码
FTP的运行图解
FTP的工作原理
• 文件传输协议 (FTP)是 TCP/IP提供的 标准机制,用 来将文件从一 个主机复制到 另一个主机。 FTP使用TCP 的服务。
主动和被动模式
• FTP有两种使用模式:主动和被动。主 动模式要求客户端和服务器端同时打开 并且监听一个端口以建立连接。在这种 情况下,客户端由于安装了防火墙会产 生一些问题。所以,创立了被动模式。 被动模式只要求服务器端产生一个监听 相应端口的进程,这样就可以绕过客户 端安装了防火墙的问题。
主动模式
• 主动模式的FTP连接建立要遵循以下步骤: • 1.客户端打开一个随机的端口(端口号大于1024,在这里, 我们称它为x),同时一个FTP进程连接至服务器的21号命令端 口。此时,源端口为随机端口x,在客户端,远程端口为21,在 服务器。 • 2.客户端开始监听端口(x+1),同时向服务器发送一个端 口命令(通过服务器的21号命令端口),此命令告诉服务器客户 端正在监听的端口号并且已准备好从此端口接收数据。这个端口 就是我们所知的数据端口。 • 3.服务器打开20号源端口并且建立和客户端数据端口的连接。 此时,源端口为20,远程数据端口为(x+1)。 • 4.客户端通过本地的数据端口建立一个和服务器20号端口的 连接,然后向服务器发送一个应答,告诉服务器它已经建立好了 一个连接。

FTP服务2种工作方式详解,PORT方式和PASV方式,(即主动模式和被动模式)

FTP服务2种工作方式详解,PORT方式和PASV方式,(即主动模式和被动模式)

2种模式都是从服务器角度出发的,主动就是服务器主动连接客户机,被动就是服务器做监听,等客户机来连接PORT主动模式:命令发送后是由client建立N+1端口监听,然后让Server的N-1端口(默认为20)来连接这个端口,所以client需要开放1024以上端口。

Flashfxp可以指定port端口范围,方便设置防火墙PASV被动模式:命令发送后是由server建立1024以上端口监听(serv-u可以指定PASV监听端口范围),client用1024以上端口来连接。

整个过程server没有用到20(N-1)端口一、ftp的port和pasv模式的工作方式FTP使用2个TCP端口,首先是建立一个命令端口(控制端口),然后再产生一个数据端口。

国内很多教科书都讲ftp 使用21命令端口和20数据端口,这个应该是教书更新太慢的原因吧。

实际上FTP分为主动模式和被动模式两种,ftp工作在主动模式使用tcp 21和20两个端口,而工作在被动模式会工作在大于1024随机端口。

FTP最权威的参考见RFC 959,有兴趣的朋友可以仔细阅读ftp:///documents/rfc/rfc0959.txt的文档了解FTP详细工作模式和命令。

目前主流的FTP Server服务器模式都是同时支持port和pasv两种方式,但是为了方便管理安全管理防火墙和设置ACL了解FTP Server的port和pasv模式是很有必要的。

1.1 ftp port模式(主动模式)主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口(即tcp 21端口)。

紧接着客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。

最后服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1),这样客户端就可以和ftp服务器建立数据传输通道了。

ftp port模式工作流程如下图所示:针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:1、客户端口>1024端口到FTP服务器的21端口(入:客户端初始化的连接S<-C)2、FTP服务器的21端口到客户端>1024的端口(出:服务器响应客户端的控制端口S->C)3、FTP服务器的20端口到客户端>1024的端口(出:服务器端初始化数据连接到客户端的数据端口S->C)4、客户端>1024端口到FTP服务器的20端口(入:客户端发送ACK响应到服务器的数据端口S<-C)如果服务器的ip为192.168.10.1在H3C 8500的GigabitEthernet 2/1/10 上创建in acl策略允许ftp 主动模式其他禁止:rule permit tcp source 192.168.10.1 0 source-port eq 21 destination-port gt 1024rule permit tcp source 192.168.10.1 0 source-port eq 20 destination-port gt 1024rele deny ip1.2 ftp pasv模式(被动模式)在被动方式FTP中,命令连接和数据连接都由客户端。

FTP主动模式及被动模式

FTP主动模式及被动模式

FTP主动模式及被动模式2005-11-13 4:45:00FTP主动模式及被动模式作者:网络转载FTP的特殊性:大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯。

但是,FTP协议却有所不同,它使用双向的多个连接,而且使用的端口很难预计。

一般,FTP连接包括:一个控制连接(control connection)这个连接用于传递客户端的命令和服务器端对命令的响应。

它使用服务器的2 1端口,生存期是整个FTP会话时间。

几个数据连接(data connection)这些连接用于传输文件和其它数据,例如:目录列表等。

这种连接在需要数据传输时建立,而一旦数据传输完毕就关闭,每次使用的端口也不一定相同。

而且,数据连接既可能是客户端发起的,也可能是服务器端发起的。

在FTP协议中,控制连接使用周知端口21,因此使用ISA的IP PACKET F ILTER就可以这种连接进行很好的安全保护。

相反,数据传输连接的目的端口通常实现无法知道,因此处理这样的端口转发非常困难。

FTP协议使用一个标准的端口21作为ftp-data端口,但是这个端口只用于连接的源地址是服务器端的情况,在这个端口上根本就没有监听进程。

FTP的数据连接和控制连接的方向一般是相反的,也就是说,是服务器向客户端发起一个用于数据传输的连接。

连接的端口是由服务器端和客户端协商确定的。

FTP协议的这个特征对ISA转发以及防火墙和NAT的配置增加了很多困难。

除此之外,还有另外一种FTP模式,叫做被动模式(passive mod)。

在这种模式下,数据连接是由客户程序发起的,和刚才讨论过的模式(我们可以叫做主动模式)相反。

是否采取被动模式取决于客户程序,在ftp命令行中使用passive命令就可以关闭/打开被动模式。

前面我们讲过,FTP协议的数据传输存在两种模式:主动模式和被动模式。

这两种模式发起连接的方向截然相反,主动模式是从服务器端向客户端发起;被动模式是客户端向服务器端发起连接。

FTP的两种链接工作模式—主动模式和被动模式

FTP的两种链接工作模式—主动模式和被动模式

文汇建站: FTP的两种链接工作模式—主动模式和被动模式写这篇文章主要是因为在使用ftp的时候有时候上传文件会失败,然后就卡住很久,原因就是默认主动模式受限于客户端防火墙的限制,有时候会导致上传文件失败所以整理了区别了一下两种。

一、FTP的两种工作模式FTP两种链接模式:主动模式(Active FTP)和被动模式(Passive FTP)在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。

服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。

然后向服务器发送PASV命令,通知服务器自己处于被动模式。

服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。

客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP 是指服务器被动地等待客户端连接自己的数据端口。

被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTP服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后的主机,而只允许由防火墙之后的主机发起的连接请求通过。

因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。

文汇建站: 一般连接FTP客户端软件的连接模式默认为Passive(被动连接)。

即FTP客户端向服务端口(默认是21)发出连接请求,服务端接到请求后建立命令链路。

然后服务端通过命令链路发消息告诉客户端,服务端某个端口位于(1025—65535)之间开放,与客户端建立起数据链路,从而客户端可以进行数据上传与下载。

FTP 学习总结(主动模式 和 被动模式)

FTP 学习总结(主动模式 和 被动模式)

整个 FTP 交互(包括数据传输)过程中,控制连接始终打开。
Control connection: Listening to TCP Port
21
பைடு நூலகம்
以下描述了在 cmd 中操作时 FTP 主动模式的传输过程:
1、TCP SYN (10.0.0.1:21 10.0.0.7:50710) 2、TCP SYN + ACK
4、FTP code 226:Closing FTP data connection
控制连接
5、TCP SYN / Ack(no payload)
1、FTP command PORT,arg:10,0,0,7,198,28 (端口号:198*256+28 = 50716,用于数据连接的建立) 2、FTP code 200:PORT command OK
数据连接
2、TCP SYN + ACK 3、TCP ACK (数据连接建立完成)
4、发送文件
数据连接
5、TCP FIN + ACK (client 确认收到文件,同时 FIN 置位) 6、关闭 data connection 的 TCP 连接
4、FTP code 226:Closing FTP data connection
1、TCP SYN (10.0.0.7:50512 10.0.0.1:49162)
数据连接
2、TCP SYN + ACK 3、TCP ACK (数据连接建立完成)
1、FTP command LIST
控制连接
2、FTP code 125:Data connection already open; transfer starting

FTP Port(Active)模式和Passive模式详解

FTP Port(Active)模式和Passive模式详解

ftp的端口号20、21有何区别?一个是数据端口,一个是控制端口,控制端口一般为21,而数据端口不一定是20,这和FTP的应用模式有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商而定FTP Port(active)模式和FTP Passive模式当你对一个FTP问题进行排错时候,你首先要问的一个问题是使用的是port模式的还是passive 模式。

因为这两种行为迥异,所以这两种模式引起的问题也不同;在过去,客户端缺省为active(port)模式;近来,由于Port模式的安全问题,许多客户端的FTP应用缺省为Passive模式。

>>2.1 FTP Port模式Port模式的FTP步骤如下:步骤1~3建立控制连接1、客户端发送一个TCP SYN(TCP同步)包给服务器段众所周知的FTP控制端口21,客户端使用暂时的端口作为它的源端口;2、服务器端发送SYN ACK(同步确认)包给客户端,源端口为21,目的端口为客户端上使用的暂时端口;3、客户端发送一个ACK(确认)包;客户端使用这个连接来发送FTP命令,服务器端使用这个连接来发送FTP应答;接下来在这个TCP连接中进行用户名、密码认证等;-----------------------------------------------------------------------------------------------步骤4协商数据连接方式4、当用户请求一个列表(List)请求或者发起一个要求发送或者接受文件的请求,客户端软件使用PORT命令,这个命令包含了一个暂时的端口,客户端希望服务器在打开一个数据连接时候使用这个暂时端口;PORT命令也包含了一个IP地址,这个IP地址通常是客户自己的IP地址,而且FTP也支持第三方(third-party)模式,第三方模式是客户端告诉服务器端打开与另台主机的连接(如下图);-----------------------------------------------------------------------------------------------步骤5~7建立数据连接5、服务器端发送一个SYN包给客户端的暂时端口,源端口为20,暂时端口为客户端在PORT命令中发送给服务器端的暂时端口号;6、客户端以源端口为暂时端口,目的端口为20发送一个SYN ACK包;7、服务器端发送一个ACK包;-----------------------------------------------------------------------------------------------步骤8~10数据传送与连接关闭8、发送数据的主机以这个连接来发送数据,数据以TCP段(注:segment,第4层的PDU)形式发送(一些命令,如STOR 表示客户端要发送数据,RETR表示服务器段发送数据),这些TCP段都需要对方进行ACK确认(注:因为TCP协议是一个面向连接的协议)9、当数据传输完成以后,发送数据的主机以一个FIN命令来结束数据连接,这个FIN命令需要另一台主机以ACK确认,另一台主机也发送一个FIN命令,这个FIN命令同样需要发送数据的主机以ACK确认;10、客户端能在控制连接上发送更多的命令,这可以打开和关闭另外的数据连接;有时候客户端结束后,客户端以FIN 命令来关闭一个控制连接,服务器端以ACK包来确认客户端的FIN,服务器同样也发送它的FIN,客户端用ACK来确认。

FTP协议完全详解

FTP协议完全详解

FTP协议完全详解FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。

它建立了一个标准的客户端服务器模型,其中客户端负责发起文件传输请求,而服务器负责响应这些请求并进行相应的文件传输。

下面是对FTP协议进行详细的解释。

首先,FTP使用两个端口来进行通信:控制端口和数据端口。

控制端口(默认端口号为21)用于建立连接和发送命令和状态信息,而数据端口(默认端口号为20)用于实际的文件传输。

当一个用户想要连接到FTP服务器时,他需要通过FTP客户端发送一个连接请求。

服务器接收到请求后,会发送一个问候消息作为响应。

然后,客户端需要进行身份验证,通常使用用户名和密码来进行验证。

成功验证后,客户端可以使用各种FTP命令来进行文件传输操作。

-USER:用于提供用户名进行身份验证。

-PASS:用于提供密码进行身份验证。

-LIST:用于显示服务器上的文件列表。

-STOR:用于将文件上传到服务器。

-CWD:用于更改当前工作目录。

-PWD:用于显示当前工作目录。

-DELE:用于删除服务器上的文件。

在进行文件传输时,FTP使用两种模式:主动模式和被动模式。

在主动模式中,服务器打开一个临时端口并等待客户端连接。

客户端向该端口发送一个连接请求,建立数据连接。

在被动模式下,服务器将临时端口的信息发送给客户端,然后客户端通过该端口连接到服务器。

此外,FTP还支持匿名登录。

这意味着用户可以使用“anonymous”作为用户名,并输入任意电子邮件地址作为密码来连接FTP服务器。

这种方式通常用于公共文件共享服务器。

FTP协议是一种可靠的文件传输协议,但它并不是加密的。

传输的数据是明文的,存在安全风险。

为了解决这个问题,可以使用FTP over SSL(FTPS)或FTP over SSH(SFTP),它们在FTP协议的基础上添加了加密功能。

总之,FTP协议是一个常用的文件传输协议,被广泛用于将文件从一个计算机传输到另一个计算机。

FTP的主动模式和被动模式

FTP的主动模式和被动模式

何工作的?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端口进行连接,连接成功后,数据连接也建立了。

字串9从上面的解释中,大家可以看到两种模式主要的不同是数据连接建立的不同,对于Port 模式,是客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端S打开一个端口等待客户端C去建立一个数据连接。

我需要把传送模式设置成PASV mode吗?如果您连接到INTERNET的方式如下图,你需要设置成为PASV mode模式传送字串6 从上图中我们可以看出,路由上有两个ip一个是内网ip(也就是你的网关地址)另外一个是外网IP,你所有LAN中的计算机都是共享这个218.63.1.5访问INTERNET的(中间通过了192.168.1.1这个网关),让我们来看一个连接的详细过程,以便您更进一步了解为什么需要设置成为PASV mode 传送: 字串1当您通过下载工具或使用浏览器下载影片的时候就开始连接FTP服务器, 当FTP服务收到你的连接请求后发送应答信息给客户并开始等待用户的认证信息,-->认证通过后开始建立数据连接如果你不是设置成为pasv模式,那么客户段(下载工具)会在本地计算机开一个数据端口,然后发送一条“命令”给FTP服务段,(我已打开了n端口你现在可以连接我),那么FTP服务器段就开始连接你ip地址的N端口,(但是连接是失败的) 因为你是通过192.168.1.1 这个网关(你的路由设备)访问internet的ftp服务段他实际上是同你的外网地址为218.63.1.5的路由设备连接,根本就连接不上你下载工具中打开的端口,例如你使用的是192.168.1.2 这个客户机,FTP服务段此时无法同你计算机(192.168.1.2)监听端口N连接上,所以此时你会看到服务器反馈的错误信息,提示你192.168.1.2打开的端口无法连接之类的, 信息此时你就需要把传送模式设置成为PASV模式,而如果你使用的是PASV模式那么当你ftp通过认证后,客户段首先向服务器发送一条PASV命令,服务段接受到命令后打开一个端口并告诉客户段“我已打开了一个端口,你此时可以来连接了" 客户段(下载工具)接受到信息后,就去连接服务段已经打开了的端口,从而完成数据连接,所有ftp下载的数据流都将通过这个端口传送.在使用ftp的时侯,经常遇到ftp链接后出现文件列表错误的情况,只是因为ftp的模式不正确,如何设置ftp的工作模式,什么是主动模式,什么又是被动模式,主动模式和被动模式有什么区别,今天搜集了相关资料和常用ftp软件工作模式的设置的方法:一、什么是PASV和PORT方式(1)PORT其实是Standard模式的另一个名字,又称为Active模式。

关于FTP的主动模式和被动模式的区分

关于FTP的主动模式和被动模式的区分

关于FTP的主动模式和被动模式的区分什么叫做PASV mode(被动模式传送)?他是如何工作的?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去建立一个数据连接。

我需要把传送模式设置成PASV mode吗?如果您连接到INTERNET的方式如下图,你需要设置成为PASV mode模式传送从上图中我们可以看出,路由上有两个ip一个是内网ip(也就是你的网关地址)另外一个是外网IP,你所有LAN中的计算机都是共享这个218.63.1.5访问INTERNET的(中间通过了192.168.1.1这个网关),让我们来看一个连接的详细过程,以便您更进一步了解为什么需要设置成为PASV mode 传送:当您通过下载工具或使用浏览器下载影片的时候就开始连接FTP服务器, 当FTP服务收到你的连接请求后发送应答信息给客户并开始等待用户的认证信息,-->认证通过后开始建立数据连接如果你不是设置成为pasv模式,那么客户段(下载工具)会在本地计算机开一个数据端口,然后发送一条“命令”给FTP服务段,(我已打开了n端口你现在可以连接我),那么FTP服务器段就开始连接你ip地址的N端口,(但是连接是失败的) 因为你是通过192.168.1.1 这个网关(你的路由设备)访问internet的ftp服务段他实际上是同你的外网地址为218.63.1.5的路由设备连接,根本就连接不上你下载工具中打开的端口,例如你使用的是192.168.1.2 这个客户机,FTP服务段此时无法同你计算机(192.168.1.2)监听端口N连接上,所以此时你会看到服务器反馈的错误信息,提示你192.168.1.2打开的端口无法连接之类的, 信息此时你就需要把传送模式设置成为PASV模式,而如果你使用的是PASV模式那么当你ftp通过认证后,客户段首先向服务器发送一条PASV命令,服务段接受到命令后打开一个端口并告诉客户段“我已打开了一个端口,你此时可以来连接了" 客户段(下载工具)接受到信息后,就去连接服务段已经打开了的端口,从而完成数据连接,所有ftp下载的数据流都将通过这个端口传送###############################一次完整的FTP会话,包含有两个连接,一个称之为命令通道,一个称之为数据通道。

FTP传输的两种模式

FTP传输的两种模式

FTP传输的两种模式主动模式(active):我们知道,FTP是由TCP封包的模式连接,TCP 这种封包由于需要经过Server 端与Client 端两边的『三次握手』之后,才能确定联机,也就是需要执行ACK 确认的动作,需要经过以下几个动作。

Client 端主动向Server 端发送联机需求:首先client端会随机选取1024以上的端口来主动联机到server端提供的21端口,也就是会主动发送一个封包到server。

Server 端接受后,响应给Client 端:当Server 接收到Client 的要求之后,会响应Client 端的需求,此时Server 端会建立等待联机的资源,并且将一带有SYN 与确认(ACK) 的封包送回Client 端;Client 端回应确认封包:在Client 端接收到来自Server 端告知的封包后,会再次的发送一个确认封包给主机,此时,两边才会正式的建立起联机的通道,这个步骤 1 ~ 3 就是Three-Way Handshake(三次握手)。

需要注意的是,这个已经建立联机的通道(通常是port 21)仅能进行FTP 的『指令』而已,如果该指令涉及到数据的传送(data transfer)时,例如上传或下载等等,那么就需要额外建立一条数据传输的通道才行( ftp-data )!而数据传输的通道建立则需要继续底下的步骤;Client 端发送数据传输要求的命令给Server:当需要进行数据的传输时,Client 端会启用另一个高于1024 的端口来做为联机的准备(这个高于1024 的端口与步骤 1 那个端口不是同一个!),并且Client 端会主动的利用刚刚已经建立的指令信道(通常是port 21)发送一个命令告诉Server 说:『我已经准备好一个数据传输的端口了,请准备进行传输吧』!Server 端以ftp-data 端口主动联机到Client :收到命令之后的Server 会『主动』的以ftp-data 端口(一般为port 20)向Client 端通知的那个高于1024 的端口进行联机。

主动ftp与被动ftp简述

主动ftp与被动ftp简述

主动ftp与被动ftp简述PORT&PASV⏹标准的FTP客户端和服务器端通过21端口建立连接后,PORT命令包含了服务器用20端口发送数据,客户端用什么端口来接受数据,服务器和客户机必须通过一个新的连接来传数据。

⏹Passive模式,建立21端口连接是一样的,PASV命令让服务器打开一个1024以上的随机端口,并通知客户端在这个端口上传送数据的请求,服务器通过这个端口传送数据,这时不需要在服务器和客户端之间建立一个新的连接。

Windows自带的客户端不具备PASV功能(例如ie)PORT⏹1、客户端口(Clinet)以大于1024的端口N(本例:1026)发起一个连接请求到FTP服务器(Server)的21端口,同时开启N+1:1027端口进行监听。

⏹2、FTP服务器的21端口接收客户端1026端口的请求。

⏹3、FTP服务器的20端口主动向到客户端1027端口发送数据传送的连接请求。

⏹4、客户端用1027端口与FTP服务器20端口建立数据链路,传送数据。

PASV⏹1、客户端口(Clinet)以大于1024的端口N(本例:1026)发起一个连接请求到FTP服务器(Server)的21端口。

⏹2、FTP服务器的21端口接收客户端1026端口的请求。

⏹3、客户端用N+1(本例:1026+1=1027)端口通知服务器自己处于被动模式,等待着建立数据链路。

⏹4、FTP服务器收到通知之后,以大于1024的端口P(本例:2024)通知客户端:传送数据的端口为2024。

然后客户端用1027端口与FTP服务器2024建立数据链路,传送数据。

⏹在PASV模式中,数据传送端口也是随机产生的,本例:1925(256*7+133)是由客户端发起然后告诉服务器的。

所以对于服务器来说他是被动的。

PORT和PASV区别与联系⏹制定FTP PASV模式反而是为了数据传输安全角度出发的,因为FTP PORT使用固定20端口进行传输数据,那么作为黑客很容使用sniffer等探嗅器抓取FTP数据,这样一来通过FTP PORT模式传输数据很容易被黑客窃取,因此使用PASV方式产生随机端口来架设FTP server是比较安全的方案。

FTP协议的主动模式和被动模式的区别

FTP协议的主动模式和被动模式的区别

FTP协议的主动模式和被动模式的区别⼀、什么是FTP协议FTP的中⽂名称是“⽂件传输协议”,是File Transfer Protocol三个英⽂单词的缩写。

FTP协议是TCP/IP协议组中的协议之⼀,其传输效率⾮常⾼,在⽹络上传输⼤的⽂件时,经常采⽤该协议。

⼀个完整的FTP由FTP服务器和FTP客户端组成,客户端可以将服务器上的⽂件通过FTP协议下载到本地,也可以将本地数据通过FTP协议上传到服务器上。

(1)服务器端需要安装FTP服务软件,常⽤的有FileZilla Server、IIS、Serv-U、OSSFTP等等。

不同的FTP软件对FTP协议标准⽀持有所差别,从我的使⽤经验感觉FileZilla Server是对FTP协议⽀持最好的软件,它具有以下⼏个特点:体积⼩(2M左右)、免费开源、操作简单、功能完善(我们所需要的有功能它基本都⽀持)。

IIS对FTP协议的⽀持也很不错。

Serv-U有⼏个命令⽀持不是很好,这个软件也是收费软件,没感觉⽐FileZilla Server好多少。

OSSFTP是阿⾥云对象存储提供的FTP Server,对FTP标准协议⽀持就更差了。

(2)FTP客户端软件就⽐较多了,常⽤的有FileZilla、FlashFXP、WinSCP、甚⾄在浏览器和windows资源管理器中输⼊FTP地址都可以当做FTP客户端来使⽤。

我们的FtpCopy也属于FTP客户端。

⼆、FTP协议的两个TCP连接 左侧为客户端,右侧为FTP服务器,⽆论是上传还是下载,客户端与服务器之间都会建⽴2个TCP连接会话,绿⾊是控制连接,红⾊的是数据连接。

其中,控制连接⽤于传输FTP命令,如:删除⽂件、重命名⽂件、下载⽂件、列取⽬录、获取⽂件信息等。

真正的数据传输时通过数据连接来完成的。

默认情况下,服务器21端⼝作为命令端⼝,20端⼝为数据端⼝。

但被动模式下就有所差别了。

刚接触FTP的朋友,经常搞不清楚FTP的主动模式和被动模式,造成连接被防⽕墙拦截,下⾯我们就详细了解下FTP的这两种模式:三、FTP主动模式 ⾸先,来了解下FTP的主动模式,主动模式是FTP的默认模式,也称为PORT模式。

FTP的主动模式和被动模式(FileZillaServer)

FTP的主动模式和被动模式(FileZillaServer)

FTP的主动模式和被动模式(FileZillaServer)疑问:怎么设置FileZilla Server的主动模式?-------------------------------------------------------------------------------------------------------------------------------------------------------设置被动FTP(PASV),是指定端口,还是随机端口。

FileZilla Server只有设置被动FTP的选项,朋友们就要问了,那主动FTP (PORT)到哪里去了?我折腾了很久才明白,决定FTP是PORT(主动),还是PASV (被动),关键是看客户端发送的命令。

换句话说,决定权在客户端。

服务器端开启20和21端口,客户端只要选择的是主动模式,服务器端,自动把连接设定为PORT(主动);服务器端开启21端口,并且设置PASV是指定端口,还是随机端口,并打通这些端口;客户端设置为被动模式,这个连接自动设置为PASV。

不管是PORT(主动),还是PASV(被动),必须要打开21端口。

-------------------------------------------------------------------------------------------------------------------------------------------------------被动FTP(PASV,指定端口)——推荐1)FTP服务器端,开放指定端口的PASV模式,需额外指定至少10个连续的端口,并在防火墙中打开这些端口。

2)10个连续的端口,均为高位端口(大于1024)3)在Windows防火墙和第三方安全软件中,务必打通这些端口。

4)经过实测,PASV(被动FTP)不强制要求打开20端口,但必须要打开21端口。

FTP主动与被动模式

FTP主动与被动模式

(一)主动FTP
主动方式的FTP是这样的:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
=========================================
FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21(命令端口)和20(数据端口)。但FTP 工作方式的不同,数据端口并不总是20。这就是主动与被动FTP的最大不同之处。
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
1. 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FTP模式介绍
FTP的主动模式和被动模式的区别:
主动模式:(也叫Standard模式,PORT方式)FTP服务器主动去连接FTP客户端。

FTP客户端告诉FTP服务器使用什么端口进行侦听,FTP服务器和FTP客户端的这个端口进行连接,源端口是20。

被动模式:(也叫Passive模式,也叫PASV方式)FTP服务器被动的等待FTP客户端连接自己。

FTP服务器打开指定范围内的某个端口(也叫自由端口,1024--65535之间),被动的等待客户端进行连接。

主被动模式报文解析
建立控制连接的过程
登录的时候客户端是44.1.1.44服务器是33.1.1.33,用户名1密码111111
通过命令行登录
Client:syn 我请求跟你进行连接
Server:ack+syn 可以,我也请求跟你连接
Client:ack 可以(上面是三次握手)
Server:response 我这ready准备好了
Client:ack 好的
Client:request 我使用的user是1
Server:response 请输入密码
Client:ack 好的,收到
Client:request 我用的密码是111111
Server: response 用户名1 ,密码111111,正确,logged in,允许进入
Client:ack 好的
上面是进行的连接控制的简单过程,FTP服务器使用的端口号是21,FTP客户端使用的端口号是64023。

主动连接:客户端通过PORT命令告诉服务器自己要使用的数据端口号,然后在客户端主动建立起这个端口的监听。

进行文件传输的时候,服务器来连接客户端的这个数据接口,进行数据传输。

FTP客户端想要下载文件,get hfs.exe
Client:request 我发送了PORT命令要使用主动连接,使用64024进行侦听
Server:response 主动连接的指令成功
Client:request 我想要hfs.exe文件
Server:response 为hfs.exe打开数据连接
Server:syn 主动请求建立数据连接,源端口号20,目的端口号64024
Client:ack+syn 可以,请求与服务器建立连接,sport:64024,dport:20
Server:ack 可以
之后就是server和client之间传输数据的过程,一直到文件传完
Server:response 给client发送一条命令,文件传输ok
Client:ack 好的
以上是主动模式的过程
被动连接:FTP客户端发送PASV命令到FTP服务器,想使用PASV方式传输数据。

服务器收到命令之后,主动在服务器端建立一个数据端口(随机的1023-65535)的TCP/IP监听,并把这个数据端口号返回给客户端,被动的等待客户端连接自己。

在进行文件传输的操作时,客户端连接服务器端的这个数据端口,进行数据传输。

Passive模式在建立控制连接的时候和Standard建立控制连接类似,但是建立连接之后发送的不是Port命令,而是Pasv命令。

Client:request PASV 我想要使用被动的方式传输数据
Server:response 使用被动模式,我的监听端口是4262
Client:ack 好的
Client:syn 请求连接使用端口64054和server的4262进行连接
Server:ack+syn 确认并请求连接使用4262和client的64054进行连接
Client:ack 好的
FTP主动被动模式和防火墙
多数防火墙设置的时候都是不允许外部发起连接的,所以许多位于防火墙后或者内网的FTP服务器不支持PASV模式,因为客户端无法穿越防火墙打来FTP服务器的高端端口;二许多内网的客户端不能使用PORT模式登录FTP服务器,因为从服务器的TCP的20无法和内网网络的客户端建立一个新的连接,造成无法工作。

总结:看谁在内网,谁就能主动连接对端成功,再看client和server的位置,判断出能支持的哪种模式。

FTP的连接又分为控制连接和数据连接。

下面具体分析
FTP Server在内网,FTP Client在外网的情况:
Standard模式:首先是client和server建立控制连接,目的port是21
之后是server和client建立数据连接,建立之后client向server发送数据的目的端口是20,防火墙上面开启20和21端口即可。

Passive模式:首先client和server之间建立控制连接,client发送PASV指令,server告诉client 自己打开的大于1023的端口(随机的)进行侦听,此时,客户端无法穿越防火墙打开server的高端端口。

(防火墙不知道server打开的哪些端口,而且这个端口在server端是随机的,下次数据传输不定哪个端口)所以不能使用Passive模式。

FTP Server在外网,FTP Client在内网的情况
Standard模式:首先client和server建立控制连接,目的port是21
之后server和client建立数据连接,目的端口号不是20(此时服务器无法和client建立新的数据连接,造成无法工作),所以主动模式在这种情况下行不通。

Passive模式:首先client和server建立控制连接,目的端口号是21。

Client发PASV指令。

之后server向client发送侦听端口,client连接server此端口,然后server将通过这个端口进行数据传输,这个时候server不需要建立一个新的和client之间的连接。

FTP和NAT
针对上面的client和server的分布,下面结合NAT进行试验
FTP Server在外网,FTP Client在内网的情况
内网访问外网:配置源NAT
源ip:44.1.1.44 目的ip:33.1.1.33 转换后源ip:33.1.1.1
访问过程NAT起作用:
主动模式:
源MAT主动连接cl ient端.pcapng 源NAT主动连接s erver端.pcap
客户端发送PORT指令,并发送自己的侦听端口,等待服务端的连接
服务端收到PORT指令,检查到源ip是经过NAT转换得到的,ALG将FTP部分的源ip也进行转换。

被动模式:
源MAT被动连接cl ient端.pcapng 源NAT被动连接s erver端.pcap
客户端发送PASV指令
服务端收到指令回应侦听端口并被动等待客户端的连接:
在客户端收到服务端发来的回应报文:
FTP Server在内网,FTP Client在外网的情况:
外网访问内网:配置目的地址转换:
主动模式:
目的NAT主动连接client端.pcapng 目的NAT主动连
接server端.pcap
客户端发送PORT指令,并发送侦听端口
服务端收到侦听端口
被动模式
目的NAT被动连接client端.pcapng 目的NAT被动连
接server端.pcap 客户端发送PASV指令
服务端收到PASV指令之后,想客户端发送侦听端口被动等待连接
客户端抓包:
服务端抓包:
内网访问外网:配置源NAT,被动模式不需要ALG进行转换能访问成功。

主动模式AGL对FTP部分进行ip转换。

外网访问内网,配置目的NAT,主动模式不需要ALG进行转换访问成功,被动模式ALG对FTP部分进行ip转换。

ALG用于外部地址想访问内部地址的时候。

ALG就是在发现如果报文头做了NAT,在这个时候如果发现这个是一个FTP的连接的时候,就需要同时改变PORT命令中的地址。

这样理解上面的结论就是,内网访问外网源NAT,主动模式需要外部地址跟内部地址建立数据连接,这个时候需要ALG生效;而被动模式不涉及外部地址想访问内部地址的过程。

外网访问内网目的NAT,被动模式的时候是client发起请求,就是外网想和内网建立控制连接,需要ALG 进行地址转换;而主动模式的数据连接是内网向外网的连接,不涉及。

相关文档
最新文档