jol是什麼意思在線翻譯讀音例句-软件培训
2023年4月2日发(作者:glee第四季)
FTP、FTPS和SFTP
FTP、FTPS和SFTP
⼀、协议知识
FTP
FTP(FileTransferProtocol,RFC959)是TCP/IP⽹络上⽤于⽂件传输的标准协议,基于C/S架构,可以上传、下载、删除⽂
件,创建或改变服务器上的⽬录。在客户端和服务器间要建⽴分离的控制和数据连接,控制连接⽤于Session管理,如交换命令和回
复、交换⽤户标识和密码等,数据连接⽤于传输数据。FTP使⽤明⽂登录协议验证⽤户名和密码,如果服务器允许也可以匿名连接。
FTP有两种传输模式:主动和被动。主动模式时,客户端创建到服务器的TCP控制连接,发送客户端IP地址和随机的端⼝号,然
后等待直到服务器初始化数据连接。这种情况下,如果客户端有防⽕墙,将⽆法接受进⼊的TCP连接。被动模式时,客户端使⽤控制
连接向服务器发送PASV命令,然后接收服务器IP地址和端⼝号,客户端使⽤随机端⼝建⽴到服务器的数据连接。由于控制连接和数
据连接都由客户端发起,这就可以解决防⽕墙问题。
多数浏览器和⽂件管理器都能连接FTP服务器,默认⼤都使⽤被动模式。FTPURL语法如下:
>
FTP不是⼀个安全的协议,所有的⽤户名、密码、命令和数据等都使⽤明⽂传输,⾮常容易就可以截获这些内容。在加密机制创⽴
前设计的的⽹络协议,如SMTP、Telnet、POP、IMAP,都有这个问题。
FTPS
FTPoverSSL,常被称为SecureFTP,它是构建在SSL/TLS(RFC5246,SecureSocketLay下自成蹊 er/TransportLayerSecurity)协
议
之上的,通过SSL/TLS对信道进⾏加密传输,它本⾝还需要FTP服务器的⽀持,⼜分为显⽰和隐式。
显⽰FTPS⼜称为FTPES,是对FTP标准的扩展,客户端必须显⽰请求(客户端发送\"AUTHTLS\"命令)对FTP会话加密。如果客户
端不要求加密,服务器也允许⾮加密通讯。服务器可以选择允许或拒绝未请求TLS的连接。这个扩展协议在推荐标准RFC4217中定义。
隐式FTPS是过期的FTP标迭起的意思 准,需要所有客户端都使⽤SSL或TLS连接。为了保持兼容性,隐式FTPS控制连接使⽤990端⼝,数
据连接使⽤989端⼝。注意,隐式FTPS未在RFC4217中定义。
FTPS⽀持如下验证⽅式:
1、密码验证
2、SSL证书验证
SFTP
SFTP(SSHFileTransferProtocol)是SSH2.0的⼀项扩展协议,提供安全的⽂件访问、⽂件传输和⽂件管理功能。SFTP协议的
⽬标是通过任何可靠的数据流提供安全的小学生必读的国学经典 ⽂件传输功能,本⾝不提供验证和安琵琶行原文完整版 全,需要依赖底层协议。SFTP协议虽然在SSH2协议中
描述,但它是通⽤的,独⽴于SSH2套件中的其余协议。SFTP常作为SSH2.0实现的⼀个⼦系统。
SFTP除了也有⽂件传输功能,有相似的命令集外,与FTP是⽆关的。与标准FTP不同,它加密命令和数据,以防⽌在⽹络上明⽂
传输密码和敏感信息。功能上与FTP相似,但由于使⽤了不同的协议,不能使⽤标准的FTP客户端与SFTP服务器通讯,也不能使⽤
SFTP客户端与FTP服务器通讯。
SFTP是⼆进制协议,所有的命令(请求)都打包优秀作文 成⼆进制消息后发送到服务器,服务器回复⼆进制应答包。
与早期的仅⽀持⽂件传输的SCP协议(SSH1.x中的)相⽐,SFTP协议⽀持更⼴泛的远程⽂件操作。SFTP客户端增加的额外功能
包括:恢复中断的传输、⽬录列表、远程⽂件删除。SFTP服务器⽀持⼤多数平台。SSH1是过时的,不安全的,不推荐使⽤。
FTPS和SFTP相同点在于都组合使⽤了对称加密算法(DES/3DES,AES等)、⾮对称加密算法(RSA,DSA)和密钥交换算法。不同之
处在于他们的验证⽅式,FTPS使⽤X.509证书验证,⽽SFTP使⽤SSH密钥。X.509证书包含公钥和证书持有者信息,通过这些信
息,
另⼀⽅可以校验证书本⾝的完整性和验证证书持有者。SSH密钥仅包含公钥。
SSH服务器提供了如下3种验证⽅式:
1、密码验证
2、密钥验证
3、密码加密钥验证
关于验证⽅式的选择,推荐使⽤密钥验证,其安全性⾼于单纯的密码验证。
⽬前使⽤最⼴泛的SFTP服务器是OpenSSH。
FTPoverSSH
FTPoverSSHreferstothepracticeoftunnelinganormalFTPsessionoveranSSHconnection.
因为FTP使⽤了多个TCP连接,通过SSH隧道技术是很难实现的。对于许多SSH客户端,试图为控制通道建⽴⼀个隧道,只能保
护这⼀个通道,当传输数据时,FTP软件将建⽴新的TCP连接(数据通道),将绕开SSH连接,因⽽没有机密性、完整性保护。否则,
SSH客户端软件应具有FTP协议知识,监控和重写FTP控制通道消息,⾃主为FTP数据通道打开新的数据包转发。
因此,此⽅案技术上可⾏,但⾮常少⽤。
⼆、FTPSvsSFTP
请参考⽂档:WhattoChoose
三、Java客户端API
ApacheCommonsNet
⽀持的协议:
FTP/FTPS
FTPoverHTTP(experimental)
NNTP
SMTP(S)
POP3(S)
IMAP(S)
Telnet
TFTP
Finger
Whois
rexec/rcmd/rlogin
Time(rdate)andDaytime
Echo
Discard
NTP/SNTP
ftp4j是实现了全功能FTP客户端的Java类库(LGPLlicense),通过它可以传输⽂件(上传和下载),浏览远程FTP站点(包括
⽬录列表),创建、删除、重命名、移动远程⽬录和⽂件。ftp4j提供多种⽅式连接到远程FTP服务器,包括:通过TCP/IP直接连接,
通过FTP代理、HTTP代理、SOCKS4/4a代理和SOCKS5代理连接。
⽀持FTPS(FTPoverimplicitTLS/SSL)和FTPES(FTP八年级《三峡》翻译 overexplicitTLS/SSL)。
jsch
SSH2的纯Java实现(BSDstylelicense),可以连接到sshd服务器,使⽤端⼝转发、X11转发、⽂件传输(⽀持sftp版本0、1、
2、3)等。⽀持http代理、SOCKS5代理连接。
Jftp
JavaNetworkBrowser,⽀持多平台、多协议的⽹络浏览器。起初jftp只是⼀个ftp客户端,现在已经发展为⽀持file、ftp、
smb、http、sftp、nfs和rawtcp/ip等多种协议。从1.53版本开始使⽤jsch来⽀持sftp。Jftp不仅提供了图形操作界⾯,也可
以使⽤中的API(GPLlicense)。
四、FTP客户端
FileZilla
⽀持FTP、FTPS、SFTP,⽀持多种平台,⽀持多种语⾔,⽀持HTTP/1.1、SOCKS5、FTP代理。
CoreFTP
WindowsFTP客户端,⽀持FTP、FTPS、SFTP。
五、服务器
ApacheSSHD
ApacheSSHD是⽀持SSH协议的100%纯Java类库,可⽤于客户端和服务端,很容易将其嵌⼊到你的应⽤中作为⼀个SSH服务器。
OpenSSH
ftp4j
⽀持SSH协议的所有版本。OpenSSH使⽤ssh程序取代了rlogin和telnet,scp取代了rcp,sftp取代了ftp。也包括sshd,和
其他的⼯具如:ssh-add、ssh-agent、ssh-keysign、ssh-keyscan、ssh-keygen和sftp-server。
copssh
Copssh是⼀个OpenSSH服务器和客户端的windows系统的实现,有图形管理界⾯。它包装了OpenSSH、Cygwin和⼀些流⾏⼯
具,
附加了⼀些安全相关的最佳实践。可以使⽤Copssh安全地远程管理系统或收集远程信息。不幸的是,新版本不是免费的了。
Kypm
KpyMTelnet/SSHServer(KTS)是Windows平台的开源telnet和ssh服务器。最新版本1.19C,更新⽇期为2011-01-29。
DropbearSSHserverandclient
Dropbear是开源、MIT-stylelicense的SSH2服务器和客户端,特别适⽤于嵌⼊型Linux(或其他Unix)系统,如⽆线路由。
更多推荐
ftps是什么意思s在线翻译读音例句
发布评论