|
今天论坛做一个FTP,但出现一个问题,后来在网络找了一下原因和方法,经测试有效,特转载过来存档学习!
症状:
当win2003启用防火墙(已经将ServUDaemon.exe文件添加到防火墙例外列表中),FTP客户端工具连接到服务器,无法正常列出服务器端的目录,到FEAT命令就下不去。但直接用IE登陆FTP可以正常浏览服务器端文件。
客户端FTP连接日志如下:
16:03:15] [右] 220 FTP Server for WinSock ready...
[16:03:15] [右] USER etxly
[16:03:16] [右] 331 User name okay, need password.
[16:03:16] [右] PASS (隐藏)
[16:03:16] [右] 230 User logged in, proceed.
[16:03:16] [右] FEAT
211-Extension supported
CLNT
MDTM
MDTM YYYYMMDDHHMMSS[+-TZ];filename
SIZE
SITE PSWD;EXEC;SET;INDEX;ZONE;CHMOD;MSG
REST STREAM
XCRC filename;start;end
211 End
feat命令的作用:网上搜索关于ftp feat命令作用的解释极少,整理了一下大概意思是用来请求FTP服务器列出它的所有的扩展命令与扩展功能的
已知的解决办法:
1、关掉WIN2003的防火墙,任何FTP客户端工具都可以连上正常工作。
2、在FTP客户端工具(例如flashfxp)里面找到“站点不支持FEAT命令”选项,然后将其勾选。不同的客户端工具有不同的设置方法,大体意思是告诉客户端工具服务器不支持FEAT命令。
以上两种方法都可以顺利解决前面遇到的问题,但是按方法1来做服务器就少了一道防线,按方法2做,如果FTP用户很多,每个FTP客户端软件都要修改设置,那岂不是很麻烦?
那么,有没有一种解决方法在开启防火墙的情况下,如何让服务器支持FEAT命令。而不是要用户主动设置“站点不支持FEAT命令”
终极解决方案:
在win2003的防火墙设置里,里面有个例外项,将serv-U文件加入(ServUDaemon.exe)
最关键的:要把2003的防火墙里ftp相的勾去掉!设置里面有两处,一个在防火墙里,一个在网络连接属性了,都得去掉“FTP 服务器” !Microsoft的这种做法有点难以理解!用IIS自带的FTP则无需如此!
|
评分
-
查看全部评分
上一篇: 关于一键分四(五)区之后的非C盘数据快速恢复(秒级别的)。下一篇: 求助封装xp的问题
|