我使用C# FtpClient库上传文件。连接是在我设置自定义端口3072之后建立的,因为我设置了client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
但当我要经历
client.GetFilePermissions("/Test.txt");
client.UploadFile(@"C:\Users\Desktop\Test.txt", "/Test.txt");它将始终显示异常。
无法从传输连接读取数据:试图以其访问权限禁止的方式访问套接字。
如果我关闭Windows防火墙,文件可以成功上传。
我想知道我应该在Windows防火墙上设置什么策略来允许我触摸远程文件并上传它。
当前我的防火墙设置:
我的完整代码
FtpClient client = new FtpClient();
client.Host = "xx.xx.xx.xx";
client.Credentials = new NetworkCredential(UserName, Password);
client.SslProtocols = System.Security.Authentication.SslProtocols.Tls12;
client.Connect();
if (client.IsConnected)
{
Console.WriteLine("Connected");
client.DataConnectionEncryption = true;
var resutl = client.GetFilePermissions("/Test.txt");
client.UploadFile(@"C:\Users\Desktop\Test.txt", "/Test.txt");
}
else
{
Console.WriteLine("No Connetion");
}发布于 2017-07-17 07:34:02
1.netsh高级防火墙防火墙添加规则name=“FTP服务”action=allow service=ftpsvc protocol=TCP dir=in 2.netsh高级防火墙设置全局StatefulFTP禁用
https://technet.microsoft.com/en-us/library/dd421710(v=WS.10).aspx
发布于 2017-06-23 07:36:07
如果确实阻塞了所有的外部/入站端口,除了列出的端口外,FTP很难工作。
FTP协议使用单独的传输连接端口范围,无论是出站(推荐被动模式)还是入站(主动模式)。
要设置被动模式,必须了解FTP服务器使用的端口范围,并在防火墙中启用该端口范围。
有关详细信息,请参阅我关于FTP协议的网络设置的文章。
发布于 2017-06-22 15:45:18
它是被动FTP服务器吗?如果是这样,您可能需要打开如下所解释的端口范围:
https://technet.microsoft.com/en-us/library/083f7757-ad9f-421a-9cde-7a053f3de9a6
https://stackoverflow.com/questions/44703888
复制相似问题