ftp

p链接问题_能够登陆进去,但是获取不了列表  

 
 
舒适提示:在ftp链接问题上,出了问题,必定是不够了解ftp,若是你在网上搜索解决方案这个快捷方式解决不了问题,那么你就静下心来,好好的来了解下什么是ftp,而后你天然就懂得怎么没去分析问题并解决问题。
 
这几天我遇到的问题是登陆进去。链接得上,但是获取不了列表,自动又关闭了!命令窗口以下:

状态: 正在链接 125.65.113.110 ...
状态: 已经链接到 125.65.113.110:0。正在等待欢迎信息...
响应: 220 Microsoft FTP Service
命令: USER abc
响应: 331 User name okay, need password.
命令: PASS ********
响应: 230 User logged in, proceed.
状态: 链接成功
命令: OPTS UTF8 OFF
响应: 501 Invalid option.
状态: 正在取得目录列表...
命令: PWD
响应: 257 "/" is current directory.
命令: PORT 192,168,0,104,198,213
响应: 200 PORT Command successful.
命令: TYPE A
响应: 200 Type set to A.
命令: LIST
响应: 150 Opening ASCII mode data connection for /bin/ls.
响应: 226 Transfer complete.
状态: 成功取得目录列表
状态: 正在取得目录列表...
命令: CWD wwwroot
响应: 250 Directory changed to /wwwroot
命令: PWD
响应: 257 "/wwwroot" is current directory.
命令: PORT 192,168,0,104,198,214
响应: 200 PORT Command successful.
命令: TYPE A
响应: 200 Type set to A.
命令: LIST
响应: 150 Opening ASCII mode data connection for /bin/ls.
响应: 226 Transfer complete.
状态: 成功取得目录列表
命令: REST 0
响应: 350 Restarting at 0. Send STORE or RETRIEVE.
命令: REST 0
响应: 350 Restarting at 0. Send STORE or RETRIEVE.
命令: REST 0
响应: 350 Restarting at 0. Send STORE or RETRIEVE.
命令: PWD
响应: 257 "/wwwroot" is current directory.
命令: TYPE I
响应: 200 Type set to I.
命令: REST 0
响应: 350 Restarting at 0. Send STORE or RETRIEVE.
命令: REST 0
响应: 350 Restarting at 0. Send STORE or RETRIEVE.
命令: REST 0
响应: 350 Restarting at 0. Send STORE or RETRIEVE.
命令: PWD
响应: 257 "/wwwroot" is current directory.
命令: REST 0
响应: 350 Restarting at 0. Send STORE or RETRIEVE.
命令: TYPE I
响应: 200 Type set to I.
命令: TYPE I
响应: 200 Type set to I.
命令: TYPE A
响应: 200 Type set to A.
命令: TYPE A
响应: 200 Type set to A.
命令: PWD
响应: 257 "/wwwroot" is current directory.
。。。。
安全

 

 
什么是ftp?
 
        FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的缘由,是由于FTP协议要用到两个TCP链接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另外一个是数据链路,用来上传或下载数据。 
 
        FTP协议有两种工做方式:PORT方式和PASV方式,中文意思为主动式和被动式。 PORT(主动)方式的链接过程是:客户端向服务器的FTP端口(默认是21)发送链接请求,服务器接受链接,创建一条命令链路。当须要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来链接我”。因而服务器从20端口向客户端的XXXX端口发送链接请求,创建一条数据链路来传送数据。 
PASV(被动)方式的链接过程是:客户端向服务器的FTP端口(默认是21)发送链接请求,服务器接受链接,创建一条命令链路。当须要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来链接我”。因而客户端向服务器的XXXX端口发送链接请求,创建一条数据链路来传送数据。 
        从上面能够看出,两种方式的命令链路链接方法是同样的,而数据链路的创建方法就彻底不一样。而FTP的复杂性就在于此。 
 
FTP服务器端的注意事项 
 
         1、FTP服务器是公网IP,用公网动态域名;或是内网IP,在网关上开端口映射或用内网专业版TrueHost 
         一、服务器若是安装了防火墙,请记住要在防火墙上打开FTP端口(默认是21)。 
         二、全部FTP服务器软件都支持PORT方式。至于PASV方式,大部分FTP服务器软件都支持。支持PASV方式的FTP服务器软件,也能够设置为只工做在PORT方式上。 
         三、为了PASV方式能正常工做,须要在FTP服务器软件上为PASV方式指定可用的端口范围。此外,还要在服务器的防火墙上打开这些端口。当客户端以PASV方式链接服务器的时候,服务器就会在这个端口范围里挑选一个端口出来,给客户端链接。 
 
FTP客户端的注意事项 
 
         请注意:选择用PASV方式仍是PORT方式登陆FTP服务器,选择权在FTP客户端,而不是在FTP服务器。 
         1、客户端只有内网IP,没有公网IP 
         从上面的FTP基础知识可知,若是用PORT方式,由于客户端没有公网IP,FTP将没法链接客户端创建数据链路。所以,在这种状况下,客户端必需要用 PASV方式,才能链接FTP服务器。大部分FTP站长发现本身的服务器有人能登陆上,有人登陆不上,典型的错误缘由就是由于客户端没有公网IP,但用了 IE做为FTP客户端来登陆(IE默认使用PORT方式)。 
        做为FTP站长,有必要掌握FTP的基础知识,而后指导您的朋友如何正确登陆您的FTP。 
 
        2、客户端有公网IP,但安装了防火墙
        若是用PASV方式登陆FTP服务器,由于创建数据链路的时候,是由客户端向服务器发送链接请求,没有问题。反过来,若是用PORT方式登陆FTP服务器,由于创建数据链路的时候,是由服务器向客户端发送链接请求,此时链接请求会被防火墙拦截。若是要用PORT方式登陆FTP服务器,请在防火墙上打开 1024以上的高端端口。
 
        3、常见的FTP客户端软件PORT方式与PASV方式的切换方法。 大部分FTP客户端默认使用PASV方式。IE默认使用PORT方式。  
        在大部分FTP客户端的设置里,常见到的字眼都是“PASV”或“被动模式”,极少见到“PORT” 或:“主动模式”等字眼。由于FTP的登陆方式只有两种:PORT和PASV,取消PASV方式,就意味着使用PORT方式。
 
        8uftp: 编辑 ->选项 -> 防火墙设置 
        IE:工具 -> Internet选项 -> 高级 -> “使用被动FTP”(须要IE6.0以上才支持)。
        CuteFTP:Edit -> Setting -> Connection -> Firewall -> “PASV Mode”或File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode” 
         FlashGet:工具 -> 选项 -> 代理服务器 -> 直接链接 -> 编辑 -> “PASV模式” FlashFXP:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或:站点管理 -> 对应站点 -> 选项 -> “使用被动模式” 或:快速链接 -> 切换 -> “使用被动模式” 
        LeechFTP:Option -> Firewall -> Do not Use
 
        4、请尽可能不要用IE做为FTP客户端 
 
        IE只是个很粗糙的FTP客户端工具。首先,IE6.0如下的版本不支持PASV方式;其次,IE在登陆FTP的时候,看不到登陆信息。在登陆出错的时候,没法找到错误的缘由。在测试本身的FTP网站的时候,强烈建议不要使用IE。
 
        5、为何没有公网IP,也能使用PORT方式登陆FTP? 
        NAT网关的工做方式是在TCP/IP数据包的包头里找局域网的源地址和源端口,替换成网关的地址和端口。对数据包里的内容,是不会改变的。而使用 PORT方式登陆FTP的时候,IP地址与端口信息是在数据包里面的,而不是在包头。所以,没有公网IP,使用PORT方式是没法从internet上的 ftp服务器下载数据的。 
         可是,极少数的NAT网关也支持PORT方式。这些NAT网关连数据包里面的内容都扫描,扫描到PORT指令后会替换PORT方式的IP和端口。在这种 NAT网关下面,用PORT方式就没问题了。不过,这些网关也只扫描21端口的数据包,若是FTP服务器不是用默认的21端口,也没法使用PORT方式。 
         内网用端口映射方式建FTP的注意事项 
         根据上面的FTP原理,在只映射一个端口的状况下,只能要求来访者使用PORT方式来访问你的FTP服务器,但这样的话就限制了内网用户。 
         而若是映射不少个端口,就可使用PASV方式了但还要从FTP服务器上做一些设置 好比,从网关上映射21端口和5000-5020端口到你的计算机21端口和5000-5020端口,在Serv-U的Local Server -> Settings -> Advanced -> PASV port range里,填入给PASV模式使用的端口范围5000-5020,而后在你创建的域--设置--高级-容许被动模式数据传输,使用IP 里面填入你的网关在公网的IP地址。 
        还有,用端口映射方式建FTP是看不到来访者的IP地址,只能看到网关在内网中的IP地址。(应该是这样,但也不必定,毕竟我没试过)这样就不能限制一个IP的链接数了。 
 
附:
 
1、如何打开关闭防火墙?
        一、win7中,控制面板  ->  系统和安全 ->Windows防火墙  -> 在左边菜单中有打开或关闭防火墙;
        二、win 2003中,网上邻居属性 ->本地链接属性 -> 高级选项卡中的Windows防火墙设置 ->点击设置,其中就是win 2003服务器防火墙设置(注:远程链接服务器的童鞋们,服务器防火墙的开启和关闭要很是当心,要否则把你的远程桌面链接窗口关了,你就管理不了服务器了。说不定还要花钱提交工单,让机房重启)。开启防火墙的时候,必定记得不要把那个“不容许例外”复选框打上去,必定不要!而后去例外选项卡中,把本身的远程链接端口,还有ftp端口等等添加下。
 
2、ftp状态码
     
       这个百度下?仍是添加,等下再决定。见推荐阅读
相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息