学习啦>学习电脑>操作系统>Linux教程>

解决ftp的dir或ls命令无法查看文件列表的办法

志艺分享

  网友们可能在使用ftp的dir或ls命令时查看文件列表,但是却无法看到,受到了限制,那么无法查看文件列表这就造成了我们许多的麻烦,那么要怎么的解决这个问题呢!接下来是小编为大家收集的解决ftp的dir或ls命令无法查看文件列表的办法,希望能帮到大家。

  解决ftp的dir或ls命令无法查看文件列表的办法

  在Win7系统的命令行模式下,使用ftp的dir或ls命令无法查看文件列表,但是使用IE却可以查看。查找相关资料后,大致归结为两种原因:

  权限有问题

  windows自带防火墙拦截

  实验后发现我的情况属于第二种,具体解决方法有以下几种:

  直接关闭Windows防火墙

  打开防火墙,但是设置入站规则允许ftp.exe程序接收信息

  使用netsh命令设置规则

  [plain]

  netsh advfirewall firewall add rule name="FTP(non-SSL)" program="%systemroot%system32ftp.exe" action=allow protocol=TCP dir=in

  netsh advfirewall set global StatefulFtp disable

  命令1的作用与第二种方法相同

  命令2主要用来禁止statefulFTP过滤,这条对我没有影响,但还是建议加上

  小插曲

  这里参考了两篇相关的文章(1,2),分别使用两条相似,却不同的命令

  [plain]

  文章1

  netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allow protocol=TCP dir=in localport=21

  netsh advfirewall set global StatefulFtp enable

  [plain]

  文章2

  netsh advfirewall firewall add rule name=”FTP Service” action=allow service=ftpsvc protocol=TCP dir=in

  netsh advfirewall set global StatefulFTP disable

  真是让人纠结,对于文章中的 localport=21 始终无法对应到windows自带的ftp.exe程序,后来使用tasklist命令查找ftp对应的PID编号,

  再通过命令 netstat 发现ftp.exe在自己电脑上原来端口就不是21。。

  而文章中的 service=ftpsvc 也没法允许ftp.exe的例外,后来help了以下netsh命令,发现了program参数,才人为添加程序路径。

    2771482