FTP默认端口改变后请用81-84任意端口

来源:互联网 发布:sql语句按时间排序 编辑:程序博客网 时间:2024/05/04 08:03

FTP默认端口改变后请用81-84任意端口 

       先来说下环境,服务器处于内网,对外映射 21,80,81,82,83,84,85. 共7个端口,.! 

其中21端为FTPServer连接端,80端为IIS的Web占用,85端为Terminal Services占用. 

只剩下81,82,83,84共4个对外可用映射端口,FTP服务端用的是Serv-U FTP V6.4. 

成功利用Serv-U搭建好服务端后,利用系统自带的FTP.EXE在DOS模式下成功login! 

在执行文件查看dir时出现150 Opening ASCII mode data connection for /bin/ls. 

然后光标停住,服务端上看见有连接超时反映.DOS模式假死无回应,.! 

再更换FTP工具后,利用FLASHXP来连,出现227 Entering Passive Mode (192,168,18,18,0,2) 

然后回应超时! 再用LEAPFTP连,出现同样得提示,然后返回连接超时,.! 

先是GOOGLE了一下,.! 了解到227是进入到被动模式后,无法建立传输连接而导致超时,.! 

然后GOOELE出FTP一般的2种工作模式,为PORT 和 PASV ,分主动和被动,.! 

PORT 和 PASV的简单区别如下: 
PORT(主动)方式的连接过程是:客户端向服务器的ftp端口(默认是21)发送连接请求, 
服务器接受连接, 服务器向客户端的空闲端口发送连接请求,建立一条数据链路来传送数据。 

就是说:客户端打开一个端口,服务器可以去连接这个端口来建立连接。 

pasv(被动)方式的连接过程是:客户端向服务器的ftp端口(默认是21)发送连接请求, 
服务器接受连接, 客户端向服务器的空闲端口发送连接请求,建立一条数据链路来传送数据。 

就是说:服务器打开一个端口,客户端可以去连接这个端口来建立连接。 

所以说在内网环境下传输,最好选择PORT主动模式,.! pasv你也可以选,当然你需要映射出来,.! 

然后在Serv-U里面设置pasv端口为你映射的端口,.! 

先给大家讲下pasv传输的具体设置,等下讲PORT...! 

本地服务器-->设置-->高级-->PASV端口范围,.!  <这里我填写的是81-84,因为我只映射了这几个可用的,最多为50个端口.>
 

然后保存,重启动Serv-U,然后再连接,.! 显示连接成功 ! 

[右] PASV 
[右] 227 Entering Passive Mode (192,168,18,18,0,81) 
[右] 正在打开数据连接 IP: 124.207.144.18 端口: 81 
[右] MLSD 
[右] 150 Opening BINARY mode data connection for MLSD. 
[右] 226 Transfer complete. 
[右] 列表完成: 768 字节 于 1.01 秒 (0.7 KB/秒) 

上传一个test.txt然后域名访问 www.onetian.com/test.txt  见到正常的文件,.! 

这样我们的PASV连接就成功连接,可以任意上传或下载了,.! 

这个是利用PASV模式连接的,方便客户端在内网环境下连接.! 


PORT模式的利用.,! 

这个有很大的局限性,需要客户端在外网环境.! 应为他需要客户端打开一个端口,服务器可以去连接这个端口来建立连接。 

在服务端和客户端都处于内网环境下是不可取的,推荐上面的PASV模式,! 

并不是所有FTP工具都支持PORT模式的,这里我给大家推荐FlashFXP和LeapFTP.,! 

这两个都很好很强大,也是我的最爱,.! 最关键的是可以自动尝试替换模式! 

当PASV模式连接失败时候尝试PORT模式,在我上面的测试中是以内网的角度出发的,! 

不然在开始的连接中替换模式为PORT时我就可以读取到文件了,.! 

Serv-U-->域-->服务器-->设置-->高级  勾选允许被动模式  应用 ! 重启Serv-U... 

LeapFTP-->选项-->偏好设置-->常规-->代理   去掉使用PASV模式的单选 勾选尝试轮流连接模式,.! 

然后重启LeapFTP再进行连接,! <前提一定要客户端处于外网环境,.!> 

FlashFXP-->选项-->参数设置-->连接-->代理  勾选使用被动模式.. 

确定保存然后重启FlashFXP,.! 再连接,.!  连接成功 ,,.