在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。 
    在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。 
    总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。 
    被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。

最新文章

  1. [译]:Orchard入门——手动安装Orchard
  2. Spring ioc容器
  3. cordovas禁止横屏
  4. 再读<<基于MVC的JavaScript Web 富应用开发>>
  5. Java abstract
  6. 【Oracle】表空间容量修改
  7. PHP常用正则表达式
  8. ++index 与 index++
  9. win7 64位下jboss配置
  10. nodejs-fs使用
  11. Android自定义属性时format选项可以取用的值
  12. 单色VGA显示verilogHDL通用代码
  13. 在Editplus中配置java的(带包)编译(javac)和运行(java)的方法
  14. AtCoder Grand Contest 032-B - Balanced Neighbors (构造)
  15. 你不知道的JS之作用域和闭包(二)词法作用域
  16. JavaScript 实时 全角转半角
  17. Shell if条件语句
  18. [Java in NetBeans] Lesson 16. Exceptions.
  19. Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at xxxx/usr/bin/automake line 3939.
  20. spring之hello(简单环境配置)

热门文章

  1. python之pyquery 学习
  2. Apache Tomcat下载、安装、环境变量配置以及项目部署
  3. Android android studio常用的一些快捷键以及常用权限
  4. Matlab求三重积分
  5. Hadoop2.X主要模块默认端口及作用
  6. AT指令集之Call
  7. jquery操作html元素之(设置内容和属性)
  8. Ctrl快捷键
  9. c++智能指针(unique_ptr 、shared_ptr、weak_ptr、auto_ptr)
  10. shell 脚本999乘法表