解決ftp的dir或ls命令無法查看文件列表的辦法
網(wǎng)友們可能在使用ftp的dir或ls命令時(shí)查看文件列表,但是卻無法看到,受到了限制,那么無法查看文件列表這就造成了我們?cè)S多的麻煩,那么要怎么的解決這個(gè)問題呢!接下來是小編為大家收集的解決ftp的dir或ls命令無法查看文件列表的辦法,希望能幫到大家。
解決ftp的dir或ls命令無法查看文件列表的辦法
在Win7系統(tǒng)的命令行模式下,使用ftp的dir或ls命令無法查看文件列表,但是使用IE卻可以查看。查找相關(guān)資料后,大致歸結(jié)為兩種原因:
權(quán)限有問題
windows自帶防火墻攔截
實(shí)驗(yàn)后發(fā)現(xiàn)我的情況屬于第二種,具體解決方法有以下幾種:
直接關(guān)閉Windows防火墻
打開防火墻,但是設(shè)置入站規(guī)則允許ftp.exe程序接收信息
使用netsh命令設(shè)置規(guī)則
[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過濾,這條對(duì)我沒有影響,但還是建議加上
小插曲
這里參考了兩篇相關(guān)的文章(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
真是讓人糾結(jié),對(duì)于文章中的 localport=21 始終無法對(duì)應(yīng)到windows自帶的ftp.exe程序,后來使用tasklist命令查找ftp對(duì)應(yīng)的PID編號(hào),
再通過命令 netstat 發(fā)現(xiàn)ftp.exe在自己電腦上原來端口就不是21。。
而文章中的 service=ftpsvc 也沒法允許ftp.exe的例外,后來help了以下netsh命令,發(fā)現(xiàn)了program參數(shù),才人為添加程序路徑。