被动模式(PASV)的连接过程是客户端程序首先为自己随机分配一个TCP端口,使用这个端口向服务器的FTP端口发出连接请求,服务器接受请求之后会建立一条控制链路,然后客户端程序发出PASV命令,要求服务器采用PASV模式建立数据连接,服务器便为自己随机分配一个数据通道端口,并将这个端口号告诉客户端程序(通常格式为:Entering Passive Mode (A1,A2,A3,A4,P1,P2),其中A1,A2,A3,A4为服务器IP地址,P1,P2为随机端口号)。当需要传送数据时,客户端程序采用另一个随机端口向服务器提供的数据通道端口发送连接请求,请求被接受之后便开始传输数据,数据链路通道打开,被动模式下,需要做ALG处理的是服务器发出的Pasv response报文
看3口抓到的服务器回包的报文
对比8口抓的AF NAT后的包
FTP协议字段的IP没有被转成NAT的接口IP还是真实服务器的IP,这样客户端收到对应包后会去访问真实服务器的IP,导致数据通道建立不成功,从而访问不到FTP的目录5、根据分析结果调整AF的ALG配置
从数据包分析,能看出FTP没有ALG,检查【网络参数】配置,发现FTP端口没有添加5111,添加对应端口后在进行访问就正常了