热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

win7开启ftp被动模式_实战经验:FTP服务器搭建出现EnteringPassiveMode问题

问题最近需要在IIS上搭建一个FTP服务器。碰到了这样的问题:按照网上基本的搭建步骤,完成搭建过程后,客户在资源管理器中访问ftp:x.x
问题

最近需要在IIS上搭建一个FTP服务器。碰到了这样的问题:按照网上基本的搭建步骤,完成搭建过程后,客户在资源管理器中访问ftp://x.x.x.x/时,出现了如下的错误:

764030eb5fc5edeaf5d2a51737a700bf.png
分析过程

从提示上来看,站点访问没有出现连接服务器失败的错误,说明底层TCP连接这块是没有问题的。另外,错误中提示让我们检查访问相关文件夹的权限。

好,满怀高兴的去给FTP根目录设置了一个Everyone可读可写的权限,重启IIS服务。再次测试,发现错误依旧。

解决方法

经过几天的摸爬滚打,终于在一篇文章中找到了解决方法:

没想到这个问题和IE的设置还有关系。我们需要在IE的高级选项中勾选:使用被动TFP(用于防火墙和DSL调制解调器的兼容)。如下图所示:

0b7f9b6bd1c47d42c90eb6fa4b82bdf6.png
两种模式

主动模式:

在主动模式下,客户端首先选择一个大于1023的端口A,使用此端口发起对FTP服务器(默认使用21号端口)的连接请求,此21号端口为服务器的命令端口。随后客户端自身还会对A+1端口启动监听。当需要传输数据时,客户端将使用"PORT A+1"指令告诉服务器:请连接至我开放的A+1端口进行数据传输。接着,服务器会使用其20号端口(数据端口)连接到客户端的A+1端口(数据端口)进行数据传输。

被动模式:

在被动模式下,客户端也会使用到两个本地端口,A 和 A+1。客户端使用使用A端口连接至服务器的21号命令端口,需要数据传输时,客户端将发送PASV命令,服务器收到此命令后,将会开启一个任意的数据端口(通常是大于1023的),并发送PORT命令给客户端。客户端收到数据端口后,使用A+1端口连接服务器的数据端口,来进行数据传输。

问题原因

IIS上客户端的防火墙未进行正确配置,导致在主动模式下FTP连接失败。开启IE的被动模式后,问题解决。

总结

主动模式数据传输连接从服务器端向客户端发起;被动模式则是客户端向服务器端发起连接。



推荐阅读
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • 在Java应用程序开发过程中,FTP协议被广泛用于文件的上传和下载操作。本文通过Jakarta Commons Net库中的FTPClient类,详细介绍如何实现文件的上传和下载功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文深入探讨了计算机网络的基础概念和关键协议,帮助初学者掌握网络编程的必备知识。从网络结构到分层模型,再到传输层协议和IP地址分类,文章全面覆盖了网络编程的核心内容。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ... [详细]
  • 本文详细介绍了如何检查和配置电脑上的PHP环境,包括位数、运行支持以及文件格式的打开方式。适合初学者了解PHP的基础知识和操作方法。 ... [详细]
author-avatar
总铺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有