考试大编辑整理:实现文件双向传输 搭建FTP服务器

FTP(File Transfer Protocol),是文件传输协议的简称。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

FTP协议

TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp协议对话,并且能访问Internet, 你可以用ftp命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。

FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。

1.ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。

但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。

2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。

如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。

FTP的工作方式

FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。

下面介绍一个这两种方式的工作原理:

Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

实现文件双向传输搭建FTP服务器.doc

下载Word文档到电脑,方便收藏和打印[全文共1508字]

编辑推荐:

下载Word文档

ftp服务器不能双向传输文件,实现文件双向传输搭建FTP服务器相关推荐

  1. Xshell使用xftp传输文件,使用pure-ftpd搭建ftp服务

    笔记内容: 15.4 xshell使用xftp传输文件 15.5 使用pure-ftpd搭建ftp服务 笔记日期:2017-11-03 15.4 xshell使用xftp传输文件 在官网下载xftp, ...

  2. xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

    exportfs命令 exportfs命令可以添加共享目录不用重启nfs服务, 测试:首先更改服务器端的nfs配置文件 [root@100xuni1 ~]# vim /etc/exports ##增加 ...

  3. xshell使用xftp传输文件和使用pure-ftpd搭建ftp服务

    xshell使用xftp传输文件 首先安装xftp,然后建立会话,步骤和xshell一样,在使用的时候用Ctrl+ALT+f呼出,左边是windows桌面,右面是linux,双击或拖拽都可以实现命令互 ...

  4. mac搭建svn服务器文件被锁定,MAC搭建SVN服务器并配置Cornerstone

    搭建SVN服务器 Mac默认已经安装了svn,我们只需要进行配置并开启 我们可以验证一下是否安装了svn,打开终端,输入命令 svnserve --version 查看svn版本 svn上的文件不是以 ...

  5. Linux centosVMware xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

    一.xshell使用xftp传输文件 Ctrl+Alt+F 弹出 下载进入 填写任意名字,自己邮箱 进入邮箱点击网址就自动下载了 然后安装 二.使用pure-ftpd搭建ftp服务 yum insta ...

  6. Linux学习笔记七:下载文件到开发板--搭建TFTP服务器

    目录 一.概述 二.Ubuntu 2.1 搭建 2.2 测试 2.3 疑问 三.开发板 3.1 查看IP 3.2 测试网络 3.3 从Ubuntu获取文件 一.概述 前面将交叉编译后的hello文件下 ...

  7. srs服务器播放文件,使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频

    1.简介 srs是一个简单的流媒体开源直播软件,ffmpeg是完整的跨平台解决方案,用于记录,转换和流传输音频和视频. 2.相关 官网下载页面:点击我到达 在线演示播放页面:点击我到达 Git页面:点 ...

  8. git服务器文件同步,使用gitolite搭建git服务器并实现文件的自动备份

    现在搭建git服务器是一件比较简单的事情,有很多现成的工具,个人感觉比较好的是使用GitLab搭建git服务器,搭建完成了只有在电脑的浏览器中输入对应的网址就能看到图形界面,图形界面和github很像 ...

  9. serv-u ftp server是什么?如何利用花生壳搭建ftp服务器?

    serv u ftp是一种被广泛运用的ftp服务器端工具,是ftp连接服务器的桥梁,也是站长远程维护网站的重要工具.现在很多朋友对它还不太了解,下面小编为大家普及一下什么是serv u ftp?花生壳 ...

  10. 14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

    2019独角兽企业重金招聘Python工程师标准>>> 14.4 exportfs命令 exportfs命令 和NFS一起安装的 例: 配置了一个共享目录,之后需要新增.更改.机器或 ...

最新文章

  1. linux:配置jdk环境变量
  2. Python数据类型方法总结
  3. oracle触发器监听数据变化,【Trigger】利用Oracle的触发器,自动记录数据的变动履历...
  4. 长能耐了?想造反了?你老婆没了.......
  5. OFFICE2019精简安装D盘(包括Word、PPT、Excel,可根据需要调整)+VISIO2019+Mathtype7.4.0完美下载安装教程
  6. python Django之Web框架本质 (2)
  7. php 后端刷新页面
  8. 【FZU 2277】Change
  9. VSA Cluster中小企业无SAN环境解决方案
  10. Ubuntu下ssh安装、配置及使用
  11. PointOperation03_Matlab灰度gray图反色(inverting)
  12. NRF51822---AD采样(连载5)
  13. 字体加密网站的抓取以及思路解决
  14. 基于matlab的单相pwm逆变电路的仿真研究,基于MATLAB的单相PWM逆变电路的仿真研究.pdf...
  15. GamesIndustry.biz采访尼古拉斯·弗朗西斯(Nicholas Francis)
  16. 【GCC】Linux GCC 常用命令和EFF文件格式
  17. Redisson 限流器 RRateLimiter的使用
  18. 对大数据指标的理解、大数据常用指标都有哪些
  19. mysql四种隔离级别
  20. 希望计算机专业同学都知道这些宝藏博主

热门文章

  1. IT人员健康信号之颈椎病自疗
  2. Oracle密码过期 怎么修改
  3. 使用CL_GOS_DOCUMENT_SERVICE对采购申请挂附件
  4. OO实现ALV TABLE 九:ALV的事件
  5. 洽洽三只松鼠良品铺子,到底谁能笑傲“后坚果时代”?
  6. linux重置网络协议,Linux 内核网络协议栈 ------ tcp_ack 函数处理接收到的ACK包之后 ....
  7. html复选框读取数据库,checkbox 读取数据库
  8. vue ui框架_你为什么要使用前端框架Vue?
  9. linux网卡热,linux网卡
  10. java的http请求头信息_HTTP请求头所包含的信息