首页 > 其他分享 >Ftp主被动模式

Ftp主被动模式

时间:2023-10-25 14:23:51浏览次数:30  
标签:Ftp remote 被动模式 ftp FTP 命令 file 远端

ftp [-pinegvd] [host] pftp [-inegvd] [host]

用户通过ftp这个程序来使用Internet上的标准文件传输协议(FTP)。本程序允许用户向远端网站发送文件,或从远端网站接收文件。

注意:CentOS7中需要自己安装此程序。

(1).参数选项

参数选项可以在命令行启动ftp时指定,也可以在ftp命令解释模式下输入

1 2 3 4 5 6 7 -p 使用被动模式进行数据传输。 -I 进行多个文件传输时关掉交互式的确认提示 -n 一般在启动ftp时,ftp会试着进行自动登录,本选项关闭这个功能。否则,ftp命令会搜索home目录下.netrc文件中远端主机上的用户账户。如果.netrc文件中用户账户不存在,会提示输入远端主机的登录名(省略为用户在本地机器上的账户),如有需要还是提示输入密码。 -e 如果被编译成ftp可执行格式,本选项会关掉命令编辑和历史命名功能 -g 关掉文件名匹配功能 -v 显示详细选项。本选项使得ftp显示远端服务器的所有响应,并在数据传输完成后显示传输数据的统计信息。 -d 打开debug模式,详细显示命令执行过程

(2).主动模式与被动模式

主动模式英文为PORT,工作原理:FTP客户端连接到FTP服务器的21端口发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据,原理如下图:

 

被动模式英文为 PASV,是Passive的缩写,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输,原理如下图:

 

参考:https://www.cnblogs.com/mawanglin2008/articles/3607767.html

(3).常用的内部命令

ftp有72个内部命令,在命令解释模式下运行(’ftp>’)

1 2 3 4 5 6 7 8 9 10 11 ls [remote-directory] [local-file] 显示远端机器目录下的文件列表。具体如何显示与远端系统有关。例如,大多数UNIX系统显示shell命令ls –l的输出。如果不指定remote-directory则显示远端机器当前目录的内容。如果prompt状态为on,ftp会提示用户确认最右一个参数是用来存放ls显示结果的本地文件。如果不指定local-file,或者local-file指定为’-’,则结果显示到用户终端上。可以在命令中用引号指定附加参数。例如,如果余元系统为UNIX,则ls “-rt /usr”这台命令会显示远端机器/usr这个目录下的文件,显示结果按创建时间由远到近排序。 cd remote-directory 改变远端机器上的当前目录到remote-directory lcd [directory] 改变本地的当前工作目录。如果不指定参数directory,则切换到用户的home目录 close 终止当前的ftp连接,回到命令解释模式下。所有定义的宏都会被清除 hash 转换hash状态,即是否显示数据传输进度。如果hash状态为on,么传送玩一个1024字节的数据块显示一个#。 get remote-file [local-file] 把远端机器上的文件remote-file取回到本地。如果不指定本地文件名,则远端文件名在经过case,ntrans和nmap转换后,作为本地文件名使用。文件传输过程中会用到当前的type,from,mode和structure状态。 mget remote-files 匹配参数remote-files中指定的远端文件名,对匹配结果里的每个文件都执行一个get命令。文件被传输到本地机器的当前目录,你可以使用’lcd directory’命令改变本地机器的本地当前目录,也可以用’! mkdir directory’命令新建本地目录 put local-file [remote-file] 将本地文件传至远端主机。如果不指定参数remote-file,则根据当前的ntrans和nmap状态,本地文件名警告适当的转换后,作为远端文件名使用。在文件传输过程找那个会用到当前的type,format,mode和structure状态。 mput local-files 匹配参数中指定的文件名,对匹配几个里的每个文件都执行一个put命令。 bye 终止与当前FTP服务器的连接,退出ftp。文件结束符(CTRL+D用同样的功能) quit 同bye

标签:Ftp,remote,被动模式,ftp,FTP,命令,file,远端
From: https://www.cnblogs.com/forestwolf/p/17787117.html

相关文章

  • 详解Linux中FTP命令 (ftp命令 linux)
    Linux中FTP命令详解FTP(FileTransferProtocol)是一种用于在网络上传输文件的标准协议。在Linux操作系统中,可以使用FTP命令进行文件的上传和下载,而无需使用第三方工具。本文将详细介绍Linux中FTP命令的使用方法和相关技巧。一、FTP命令概述FTP命令是Linux中自带的命令之一,用于连......
  • Centos7 安装/卸载 vsftpd
    安装vsftpd[root@localhost~]#yum-yinstallvsftpd查看安装路径[root@localhost~]#whereisvsftpdvsftpd:/usr/sbin/vsftpd/etc/vsftpd/usr/share/man/man8/vsftpd.8.gz查看目录[root@localhost~]#ll/etc/vsftpd/-rw-------1rootroot125Mar222017ftpuser......
  • Centos7 - ftp login 530
    问题描述[root@localhostdevops]#ftp192.168.18.12938001Connectedto192.168.18.129(192.168.18.129).220(vsFTPd3.0.2)Name(192.168.18.129:root):test3331Pleasespecifythepassword.Password:530Loginincorrect.Loginfailed.查看/etc/vsftpd/ftpusers-......
  • 启动vsftpd进程时报错Job for vsftpd.service failed
    问题描述:启动vsftpd进程时报错Jobforvsftpd.servicefailed,如下所示:系统:rhel7.31、异常重现[root@leo-827mgr-masterlocal]#systemctlstartvsftpdJobforvsftpd.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusvsftpd.ser......
  • linux上部署ftp server
    在github上找到了2个还算活跃的方案:https://github.com/fauria/docker-vsftpdhttps://github.com/stilliard/docker-pure-ftpd方案一  https://github.com/fauria/docker-vsftpd1、创建容器dockerrun-d-v/my/data/directory:/home/vsftpd\-p20:20-p21:21-p2110......
  • socket访问ftp服务器
    原理:ftp协议是基于tcpip协议,用socket实现tcpip协议发送ftp指令、内容 IP地址转换函数inet_pton是一个IP地址转换函数,可以在将点分文本的IP地址转换为二进制网络字节序”的IP地址,而且inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。 strerror: C语言错误提示函数:str......
  • linux系统安装ftp记录
    使用的是yum工具安装ftp服务器1.首先安装ftp-0.17-89.el9.x86_64,这个不是ftp服务器程序,只是ftp访问工具:yuminstall-yftp2.安装vsftpd,ftp服务程序:yuminstall-y vsftpd启动服务:       systemctlstartvsftpd.service随系统启动:       ......
  • Linux 搭建 ftp服务器
    ftp服务器的搭建:文件的上传,文件下载yum-yinstallvsftpd//安装ftpvim/etc/vsftpd/vsftpd.conf   //关闭匿名访问anonymous_enable=NO     //关闭匿名访问systemctlstartvsftpd.service//启动服务systemctlstatusvsftpd.service//查看服务状态如果......
  • RaftPaper:寻一个可被理解的共识算法
    周末躺不平,摆不烂,卷不动,随便读一篇paper吧原文:InSearchofanUnderstandableConsensusAlgorithm作者:DiegoOngaro/JohnOusterhout——StanfordUniversity摘要Raft是一个用于管理一份被复制的日志的共识算法,它和(multi-)Paxos产出的结果等价,和Paxos一样高效,但它的结......
  • 【FTP】FlashFXP 530 Non-anonymous ... 连接失败(连接已被客户端关闭)
    参考的这个图: ......