对服务器的ftp端口进行了修改,把21端口改了,比如221端口,就这样用221连接的时候,连接登录成功,但打不开目录,为何,总结如下:

  1、完成一个FTP的传输过程不仅仅只需要21一个端口,而是2个端口,21端口只是一个命令端口,其实另外还有一个数据端口,我想这就是有些 朋友在内网架设FTP并且在网关上做了21端口的映射之后外网还是不能访问的原因吧,另外一个数据端口是多少呢?这又牵涉到另外一个问题。

  2、FTP具有两种模式,分别是port模式(也叫主动模式)和pasv模式(也叫被动模式),怎么来理解这两种模式呢?我来打个比喻吧,在主 动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会通 过另外一个数据端口把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件;在被动模式下:客户端给服务器端的21端口发命令说,我要 下载什么什么,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被 动模式,可以理解为服务端被客户端拿走了东西,哈哈,可以看懂吧。

  在FTP的历史中,本来只有主动模式的,但是为什么又出现了被动模式呢?这又牵涉到另外一个问题了,呵呵~

  3、在很久以前(我也不知道多久),地球上还没有什么共享上网这种技术,但是后来出现了,所以也就有了下面的问题,大家都知道,共享上网就是很 多台电脑共享一个公网IP去使用internet,再打个比喻吧,某个局域网共享210.33.25.1这个公网IP上网,当一个内网用户 192.168.0.100去访问外网的FTP服务器时,如果采用主动模式的话,192.168.0.1告诉了FTP服务器我需要某个文件和我打开了x端 口之后,由于共享上网的原因,192.168.0.1在出网关的时候自己的IP地址已经被翻译成了210.33.25.1这个公网IP,所以服务器端收到 的消息也就是210.33.25.1需要某个文件并打开了x端口,FTP服务器就会往210.33.25.1的x端口传数据,这样当然会连接不成功了,因 为打开x端口的并不是210.33.25.1这个地址,在这种情况下被动模式就有用了,相信大家已经能够理解被动模式是怎么个连接法了吧。

  好了,说了这么多,现在可以回到第一个问题了。

  在主动模式中,FTP的两个端口是相对固定的,如果命令端口是x的话,那数据端口就是x-1,也就是说默认情况下,命令端口是21,数据端口就 是20;你把命令端口改成了123,那么数据端口就是122。这样使用防火墙就很方便了,只要开通这两个端口就可以了,但是如果客户端是共享上网的话那岂 不是不能正常使用FTP了,这样还是不行,一定需要被动模式。

  在被动模式中就麻烦了些,默认情况下命令端口是21,但是数据端口是随机的。

最新文章

  1. SQL 约束
  2. Web.xml各版本模版
  3. JAVA实现国际化
  4. Nginx+Tomcat发布时不间断服务的提供
  5. IoC控制反转与DI依赖注入
  6. ZOJ 2110 Tempter of the Bone
  7. shell script创建库
  8. 深入理解javascript的闭包
  9. Good Bye 2015 C. New Year and Domino 二维前缀
  10. 偶然发现关于网页JavaScript脚本无法正常运行的原因
  11. WPF的MVVM模式
  12. ZooKeeper 之快速入门
  13. 自编译Apache Spark2.3.3支持CDH5.16.1
  14. Problem - 1062 http://acm.hdu.edu.cn/showproblem.php?pid=1062
  15. logback kafkaAppender输出日志到kafka
  16. 反射生成 INSERT 多个对象的 SQL 语句(批量插入)
  17. 使用putty部署远程J2EE环境
  18. iOS 定时器的比较
  19. js-权威指南学习笔记17
  20. 一、DAO设计模式 二、DAO设计模式的优化 三、JDBC中的事务,连接池的使用

热门文章

  1. 9.1---上楼梯(CC150)
  2. Ext treelist 动态切换TreeStore
  3. C# 毕业证书打印《三》
  4. MVC Return View() 和 Return PartialView()的区别
  5. 【leetcode】Longest Valid Parentheses
  6. javascript 数组去重
  7. MongoDB 查询优化分析
  8. ffmpeg-20160813-bin.7z
  9. 数组里的数据绑定到dataset中
  10. WCF服务与WCF数据服务的区别