网友们可能在使用ftp的dir或ls命令时查看文件列表但是却无法看到受到了限制那么无法查看文件列表这就造成了我们许多的麻烦那么要怎么的解决这个问题呢!现在我们一起来看看吧!
在Win系统的命令行模式下使用ftp的dir或ls命令无法查看文件列表但是使用IE却可以查看查找相关资料后大致归结为两种原因
权限有问题
windows自带防火墙拦截
实验后发现我的情况属于第二种具体解决方法有以下几种
直接关闭Windows防火墙
打开防火墙但是设置入站规则允许ftpexe程序接收信息
使用netsh命令设置规则
[plain]
netsh advfirewall firewall add rule name="FTP(nonSSL)" program="%systemroot%\system\ftpexe" action=allow protocol=TCP dir=in
netsh advfirewall set global StatefulFtp disable
命令的作用与第二种方法相同
命令主要用来禁止statefulFTP过滤这条对我没有影响但还是建议加上
小插曲
这里参考了两篇相关的文章()分别使用两条相似却不同的命令
[plain]
文章
netsh advfirewall firewall add rule name="FTP (nonSSL)" action=allow protocol=TCP dir=in localport=
netsh advfirewall set global StatefulFtp enable
[plain]
文章
netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in
netsh advfirewall set global StatefulFTP disable
真是让人纠结对于文章中的 localport= 始终无法对应到windows自带的ftpexe程序后来使用tasklist命令查找ftp对应的PID编号
再通过命令 netstat 发现ftpexe在自己电脑上原来端口就不是
而文章中的 service=ftpsvc 也没法允许ftpexe的例外后来help了以下netsh命令发现了program参数才人为添加程序路径