Win7系统使用ftp的dir或ls命令无法查看文件列表

Win7系统使用ftp的dir或ls命令无法查看文件列表

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

  1. 权限有问题
  2. windows自带防火墙拦截

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

  1. 直接关闭Windows防火墙
  2. 打开防火墙,但是设置入站规则允许ftp.exe程序接收信息
  3. 使用netsh命令设置规则
     
    1. netsh advfirewall firewall add rule name="FTP(non-SSL)" program="%systemroot%\system32\ftp.exe" action=allow protocol=TCP dir=in

    2. netsh advfirewall set global StatefulFtp disable

  • 命令1的作用与第二种方法相同
  • 命令2主要用来禁止statefulFTP过滤,这条对我没有影响,但还是建议加上

小插曲

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

 
  1. 文章1

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

  3. netsh advfirewall set global StatefulFtp enable

 
  1. 文章2

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

  3. netsh advfirewall set global StatefulFTP disable

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

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

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

至于 StatefulFTP 到底要不要enable,我觉得还是以文章2为准。

第一种方式是直接关闭FTP client的windows防火墙。这3种方法其实都是一样的。 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值