FTP数据库
1、两种传输方式安全
ASCII传输方式服务器
假定用户正在拷贝的文件包含的简单ASCII码文本,若是在远程机器上运行的不是UNIX,当文件传输时ftp一般会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。ssh
可是经常有这样的状况,用户正在传输的文件包含的不是文本文件,它们多是程序,数据库,字处理文件或者压缩文件。在拷贝任何非文本文件以前,用binary 命令告诉ftp逐字拷贝。加密
二进制传输方式url
在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。.net
如在ASCII方式下传输二进制文件,即便不须要也仍会转译。这会损坏数据。(ASCII方式通常假设每一字符的第一有效位无心义,由于ASCII字符组合不使用它。若是传输二进制文件,全部的位都是重要的。)设计
2、两种工做模式server
主动模式(PORT)ssl
1.FTP 客户端首先和服务器的TCP 21端口创建链接,用来发送命令;
2.客户端须要接收数据的时候在这个通道上给服务器发送PORT命令。PORT命令包含了客户端用来接收数据的端口号;
3.在传送数据的时候,服务器端经过本身的TCP 20端口链接至客户端的指定端口发送数据。(FTP server必须和客户端创建一个新的链接用来传送数据。)
被动模式(PASV)
1.FTP 客户端首先和服务器的TCP 21端口创建链接,用来发送命令(创建控制通道和Standard模式相似);
2.创建链接后发送Pasv命令。
3.服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)而且通知客户端在这个端口上传送数据的请求;
4.客户端链接FTP服务器此端口,而后FTP服务器将经过这个端口传送数据。
简而言之,主动模式的FTP是指服务器主动链接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端链接本身的数据端口。
被动模式的FTP一般用在处于防火墙以后的FTP客户端访问外界FTP服务器的状况,由于在这种状况下,防火墙一般配置为不容许外界访问防火墙以后主机,而只容许由防火墙以后的主机发起的链接请求经过。所以,在这种状况下不能使用主动模式的FTP传输,而被动模式的FTP能够良好的工做。(相反,客户端访问处于防火墙以后的FTP服务器则要用到主动模式)
FTPS与SFTP的对比
1.都是为ftp链接加密,协议很是类似。
2.FTPS是借助ssl协议加密,SFTP是借助ssh加密。ssl是为http/smtp等加密设计的,ssh是为telnet/ftp等加密、创建传输通道而设计的。
3.其实ssh创建传输通道就是为了加密和传输,并且这个通道是能够用来远程登陆。
4.若是只说它们的功能,通俗的讲,ssh就像铺管子,ssl就像打包裹,铺管子和打包裹都会使数据安全,都是一个制做密钥的过程,而由于ssh是一个管子因此它很适合ftp的安全传输。
简单的讲:sftp协议是ssh中的一条独立的协议,利用sftp服务器就能够传输数据。
而ftps是ftp-over-ssl的意思,即ftp借助ssl协议加密传输,不但要用ftp服务器还要用ssl协议加密。(若是是ftp-over-ssh,就是彻底不一样于sftp的传输方式了,就是利用ftp服务器和ssh协议加密传输数据。 )