Linux虚拟主机与物理主机安装FTP,实现文件上传下载功能

一、认识FTP协议

        FTP即文件传输协议的简称,它是TCP/IP协议簇中的一员,也是Internet上最早使用的协议之一,通过它可以实现电脑与电脑间对文件的各种操作(如文件的增、删、改、查、传送等),FTP的目标是提高文件的共享性,提供非直接使用远程计算机,实现计算机文件的相互操作,使存储介质对用户透明和可靠高效地传送数据。

        它是基于C/S(客户端/服务端)模型设计,工作在网络体系结构中的应用层,使用TCP进行传输,保证客户与服务器之间的连接是可靠的。

        支持的连接方式:

        FTP支持Standard (PORT方式,主动方式),Passive (PASV,被动方式)两种连接模式,连接的流程大致如下:

        1、FTP客户端发起FTP会话,与FTP服务器建立相应的连接,在会话期间,FTP会建立控制信息进程与数据进程两个连接。

        2、控制进程连接的用途: 用于传输FTP内部命令以及命令的响应等控制信息,无法进行数据传输。

        3、数据进程连接的用途: 用于客户端与服务端之间数据的传输,它是全双工的,可以支持双向数据传输,当数据传输完成后,它就会撤销然后回到FTP会话状态,直到控制连接进程也取消,退出整个FTP会话。

        PORT模式:

        FTP客户端会与服务端的TCP 21端口创建连接(控制连接),用于发送命令,当客户端需要接收数据时,会通过这个连接向服务端发送PORT命名,PORT命令中包含了会使用什么端口来接收服务端传输的数据,此时,服务端会通过TCP 20端口跟FTP客户端创建连接(数据连接)完成数据传输。

        Passive模式:

        FTP客户端会与服务端的TCP 21端口创建连接(控制连接),用于发送命令,当客户端需要接收数据时,会通过这个连接向服务端发送Pasv命名,服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。

二、虚拟机安装FTP

[root@1 ~]# yum -y install vsftpd    #yum安装vsftpd
[root@1 ~]# cd /etc/vsftpd   #切换到vsftpd目录
[root@1 vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@1 vsftpd]# systemctl start vsftpd   #开启ftpd服务
[root@1 vsftpd]# systemctl stop firewalld    #关闭防火墙
[root@1 vsftpd]# setenforce 0    #关闭selinux
[root@1 vsftpd]# echo "this is test" > /var/ftp/test.txt  #添加一个文本文件
[root@1 vsftpd]# ls /var/ftp
pub  test.txt

三、物理主机安装FTP

        选择程序

选择程序

        选择启用或关闭Windows功能

        勾选FTP服务以及iis管理控制台

        再进入系统和安全选择Windows工具点击(IIS)管理器

        添加FTP站点

     

        开启FTP服务防火墙允许

物理主机通过ftp访问linux的共享文件夹

        在命令控制符中连接虚拟机,并且完成文件的上传与下载

C:\Users\86150>ftp 192.168.2.3
连接到 192.168.2.3。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.2.3:(none)): te     #虚拟机新建的用户
331 Please specify the password.
密码:
230 Login successful.
ftp> ls -a
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
.
..
pub
test.txt    #创建的文本文件
226 Directory send OK.
ftp: 收到 25 字节,用时 0.00秒 12.50千字节/秒。
ftp> get test.txt   #获取即本机下载文本文件
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test.txt (13 bytes).
226 Transfer complete.
ftp: 收到 13 字节,用时 0.00秒 13000.00千字节/秒。
ftp> put test.txt    #上传文本文件
200 PORT command successful. Consider using PASV.
553 Could not create file.

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值