一、文件传输协议FTP。

1.简介。

FTP(File Transfer Protocol),是文件传输协议的简称。
1)TCP/IP协议簇,应用层协议,用于Internet上的控制文件的双向传输,采用服务端与客户端通信方式共享文件。
2)FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。
3)现在的FTP一般用Serv-U搭建,IIS搭建的FTP服务端与Serv-U搭建的服务端返回的响应信息格式不一样,可能会导致解析出错。
4)服务端监听端口:
FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。
端口20:传输套接字(仅用于传输文件,每传输完毕一次,就关闭一次连接)
端口21:控制套接字(对话,传输控制,获取信息,持久连接)

2.主动模式与被动模式的概念:

(建立文件传输连接的两种不同方式而已)
1)主动模式:
客户端创建一个监听套接字,监听端口>1024,控制套接字发送PORT命令附带IP地址以及端口(特殊格式)到服务端。服务端收到PORT命令,服务端的20端口连接到客户端,建立文件传输通信。
2)被动模式:
客户端发送PASV命令,服务端收到后,会创建一个在>1024端口的监听套接字,然后回复一串IP地址以及端口号(特殊格式)。通过回复的信息,连接到服务端的文件传输套接字上进行通信。

3.为什么会有两种文件传输连接模式:

因为防火墙的存在,导致使用FTP协议的一方可能被防火墙过滤一些东西。
主动模式:客户端的>1024端口可能被过滤。
被动模式:服务端的>1024端口可能被过滤。
通常都是使用被动方式进行FTP连接。

4.匿名登录:

1)为了实现文件在互联网上传输的开放性,服务端管理员可以建立一个特殊的用户ID,提供给互联网上的用户下载和上传文件,这就是匿名用户,它不需要密码。
2)常用的匿名登录名称:anonymous

FTP也是一个客户/服务器系统,用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器,而连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。用户要连上FTP服务器,就要用到FTP的客户端软件,常用的FTP客户端软件为FileZilla。

二、开源FTP软件FileZilla

FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。要通过FileZilla服务器端和客户端建立本机和虚拟机之间的文件传输通道,需要安装Filezilla的服务器端和客户端。
可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。可以断点续传进行上传、下载、可进行站点管理、支持防火墙、可进行SSL加密连接、支持FTP, FTPS(FTP over SSL/TLS),SFTP(SSH File Transfer Protocol)等多种协议、支持IPv6、支持远程文件搜索等功能。

三、FileZilla的服务器版本。

1.安装。

推荐在本机上装服务器版本,在虚拟机上装客户端版本。
下载地址:https://filezilla-project.org/

下载好安装包之后,右键以管理员身份运行安装。

2.配置。

打开软件,进入服务器管理配置页面,按如下设置好之后点击Connect

点击Edit–Users,在General里进行如下设置。

点击Edit,进入Shared folders — Add — 选择文件夹—确定—设置权限—Set as home dir—OK 确定并退出。

3.警告。

完成上述操作之后,连接下出现警告。

第一个警告:

You appear to be behind a NAT router.
Please configure the passive mode settings and forward a range of ports in your router.

解决方案:
点击Edit–Setting,选择"Passive mode settings"选项卡,勾选"Use the following IP"并填写服务器的IP地址,之后点击"OK"保存退出;

第二个警告:

Warning: FTP over TLS is not enabled, users cannot securely log in.

解决方案:
具体操作如下: 点击Edit–Setting–FTP over TLS settings,选择FTP over TLS settings选项,点击"Generate …",server address填127.0.0.1,再选择保存地址(安装路径)—>Generate certificate—>提示“Certificate generated successfully”则说明生成没有问题,点击“确定”关闭弹窗 。




点击“OK”保存设置退出之后,信息提示不再出现警告,重新进入时出现Logged on代表登录成功。

四、FileZilla的客户端版本。

首先,同样的,在虚拟机上下载FileZilla客户端版本的安装包。

右键打开,安装。

五、连接客户端和服务器。

按下图打开站点服务器—新站点—填写主机名、端口(21是FTP的默认端口号)、用户、密码等信息,最后点击连接。

连接成功之后如图:

连接成功后便能实现本机与虚拟机之间的任意文件上传和下载。

文件传输协议FTP和开源FTP软件FileZilla相关推荐

  1. FTP文件传输协议(实现windows与linux文件互传)

    FTP文件传输协议(实现windows与linux文件互传) 目录 FTP文件传输协议(实现windows与linux文件互传) 一.FTP概述 二.FTP通信端口 三.FTP数据连接 四.FTP连接 ...

  2. 文件传输协议FTP、SFTP和SCP

    ftp.sftp.vsftp.ssh.vsftpd.sshd.scp 通信协议分层: 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(D ...

  3. 文件传输协议——FTP概述

    本篇主要参考FTP协议的维基百科: File Transfer Protocol FTP(FileTransfer Protocol)是在客户端和服务器之间传输文件的标准网络协议.FTP协议建立在C- ...

  4. 浅析文件传输协议 (ftp) 的工作原理

    起初,FTP并不是应用于IP网络上的协议,而是ARPANEt网络中计算机间的文件传输协议, ARPANET是美国国防部组建的老网络,于1960-1980年使用.在那时, FTP的主要功能是在主机间高速 ...

  5. FTP文件传输协议介绍和常用命令

    学云计算的同学肯定会碰到使用FTP工具的时候,今天小千就来简单给大家介绍一下什么是FTP,和一些常见的FTP命令. Ftp 介绍 文件传输协议(File Transfer Protocol,FTP), ...

  6. ftp文件传输协议的匿名用户、系统用户的实现详解过程

    一.ftp含义 FTP(File Transfer Protocol)文件传输协议,主要目的使得主机之间可以共享文件.监听在tcp的21端口,是一个文件共享服务,主要工作在应用层:FTP使用tcp生成 ...

  7. Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1...

    相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...

  8. FTP(文件传输协议)

    ftp (文件传输协议) FTP 是File Transfer Protocol(文件传输协议)的英文简称,是 TCP/IP 协议组中的协议之一.用于Internet上的控制文件的双向传输.同时,它也 ...

  9. FTP文件传输协议与部署,包括Linux系统、Windows系统和H3C路由交换设备部署

    1.FTP 1.1 定义 文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用 ...

最新文章

  1. 通俗易懂讲解JavaScript深拷贝和浅拷贝
  2. 网络编程五种IO模型之epoll模型
  3. Github标星66.6k+:常见数据结构与算法的Python实现
  4. python写windows程序_【Python学习】Python 写Windows Service服务程序
  5. 模板能够让我们花更少的时间,得到更多的东西
  6. jmeter(一)基础介绍
  7. 黑苹果怎么进recovery_黑苹果怎么自定义Clover GUI启动选项 黑苹果修复Clover GUI启动选项教程...
  8. matlab做线性规划图
  9. Lua脚本语言——Lua脚本基础语法
  10. Java方法——方法的重载
  11. 迅雷离线下载脚本 — LinuxTOY
  12. strut 多文件上传
  13. 【DirectX 2D游戏编程基础】DirectX精灵的创建
  14. 4月第1周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
  15. android 提高启动速度慢,安卓启动速度过慢的原因及解决方法
  16. oracle 在此 select 语句中缺少 into 子句,Go database/sql文档
  17. R语言用quantstrat包获取股票、债券、基金、黄金、原油、指数、外汇和全球经济数据
  18. Linux直接在通过终端打开图片文件
  19. 门禁控制器的选购指南
  20. HTML(Basic) Chapter4(Pink) 综合案例小米商城产品模块

热门文章

  1. python seo百度_python与seo,python获取百度360
  2. 做淘宝代销死路一条:本人亲感句句属实
  3. 异地大文件传输、大文件远程传输便捷方式
  4. 【M32】F103CBTx 移植 ThreadX
  5. 第七篇 - 手写Aop(面向切面编程)
  6. 1913: [Apio2010]signaling 信号覆盖
  7. VR城市街景让用户全面地了解城市状况
  8. 《华林科纳-半导体工艺》光刻胶剥离清洗
  9. Quartus-II利用两个半加器实现简单全加器
  10. 《Credit Risk Scorecard》 第六章: Scorecard Development