1 概述
随着网络应用的生长,越来越多的公司和小我私家使用网络举行文件传输。古板FTP虽然具备高效文件传输功效,但因缺乏清静性,传输的文件容易被网络上的攻击者窃取。而SFTP除了具有和FTP相同的功效外,还具备更高清静性。
本文在Windows 7情形下,划分搭建FTP和SFTP效劳器,并从客户端向效劳器传输文件。通过wireshark软件抓取传输的测试文件,模拟攻击者窃取文件的行为,剖析SFTP和FTP的区别。从客户端向效劳器传输文件的网络拓扑如下图所示。
图1-1 文件传输拓扑图
传输的文件内容如下图所示。
图1-2 文件内容
2 什么是FTP
2.1 FTP简介
FTP(File Transfer Protocol,文件传输协议)是IETF Network Working Group所制订的一套标准协议,属于网络协议组的应用层,FTP基于TCP(Transmission Control Protocol,传输控制协议)实现文件传输。FTP是Internet转达文件最主要的要领。
FTP接纳客户端/效劳器的模式,FTP效劳器提供远程客户端的接入与程序操作。用户可以通过客户端向效劳器发出下令,审查FTP效劳器目录下的文件,并把文件从远程盘算机上拷到外地,或把外地的文件传送到效劳器上。除此之外,FTP还提供登录验证及读写权限控制等功效。
2.2 搭建FTP效劳器
Window 7中自带FTP效劳。搭建FTP效劳器办法如下。
(1) 开启FTP效劳。翻开“控制面板”,在“翻开或关闭Windows功效”中勾选“FTP效劳器”和“Web治理工具”,如下图所示。
图2-1 开启FTP效劳
(2) 翻开“控制面板”,在“系统和清静”中点击“治理工具”,双击翻开“Internet 信息效劳(IIS)治理器”,如下图所示。
图2-2 翻开Internet 信息效劳(IIS)治理器
(3) 单击右键,并选择“添加FTP站点”,如下图所示。
图2-3 添加FTP站点
(4) 设置FTP站点信息。在“FTP站点名称”中输入建设的FTP站点名称,在“物理路径”中选择效劳器FTP站点需要共享的文件夹路径。如下图所示。
图2-4 设置FTP站点信息
(5) 设置效劳器IP地点。在“IP地点”中输入效劳器的IP地点。“端口”默认设置为21。勾选“自动启动FTP站点”,如下图所示。
图2-5 设置效劳器IP地点
(6) 设置身份验证和授权信息。凭证需求可选择允许会见的用户,以及选择是否允许读取、写入操作。如下图所示。至此完成FTP效劳器搭建。
图2-6 设置身份验证和授权信息
2.3 登录FTP效劳器
使用WinSCP作为客户端登录FTP效劳器。下载并装置WinSCP.exe。装置完成后,翻开软件并举行如下图设置登录FTP效劳器。
图2-7 使用WinSCP登录FTP效劳器
2.4 FTP文件传输
(1) 传输文件。乐成登录FTP效劳器后,从客户端向效劳器传输测试文件,同时使用wireshark软件抓包模拟攻击者窃取测试文件。如下图所示,红框中十六进制内容即为窃取的文件数据。
图2-8 模拟攻击者窃取文件数据
(2) 转换数据流。
a 选中“FTP Data”后,单击右键,在弹出的窗口中选择“Follow”,并选择“TCP Stream”。如下图所示。
图2-9 转换数据流
b 在弹出的“TCP Stream”窗口中,"Show data as"选择"Raw",并另存为(Save as)一个文件。
说明
“Raw”体现转换为原始数据流。
图2-10 生涯转换文件
c 用Notepad++软件翻开上一步另存的文件,即可看到文件内容。如下图所示。
图2-11 获取文件内容
3 什么是SFTP
3.1 SFTP简介
SSH(Secure Shell,清静外壳)是一个需要举行加密和认证的,用于远程会见及文件传输的网络清静协议。SSH基于加密和认证的特征可以为用户提供更强盛的清静包管机制,在用户使用不清静的网络情形登录装备时,SSH能够有用;ぷ氨覆皇躀P地点诓骗、明文密码截取等攻击。
SFTP(SSH File Transfer Protocol,也称为Secret File Transfer Protocol,清静文件传输协议)基于SSH,能够为文件传输提供清静的加密通道。SFTP具备和FTP一样的功效,即用户可以通过客户端向效劳器发出下令,审查SFTP效劳器目录下的文件,并把文件从远程盘算机上拷到外地,或把外地的文件传送到SFTP效劳器上。
3.2 搭建SFTP效劳器
(1) 在Window 7中,使用freeSSHd软件搭建SFTP效劳器。需要下载并装置freeSSHd.exe。装置完成后,翻开软件的设置界面,如下图所示。
图3-1 freeSSHd设置界面
(2) 点击"SSH"选项卡,在“Listen address”中设置SFTP效劳器地点,在“Port”中设置SFTP端口号,默以为22,在“Max number of connections”中设置最大毗连次数为10,最后勾选“Start SSH server on freeSShd startup”和“User new console engine”。如下图所示。
图3-2 设置SFTP效劳器地点和端口号
(3) 点击"Authentication"选项卡,选择用密码认证(Password authentication)方法,而不是公钥认证(Public key authentication)方法。如下图所示。
图3-3 设置SFTP登录验证方法
(4) 点击"Users"选项卡,再点击"Add"按钮,弹出“User Properties”窗口。在“Login”中输入登录Windows效劳器的用户名,在“Authorization”中选择使用Windows账户密码登录。如下图所示。
图3-4 添加SFTP用户
(5) 点击"Server status"选项卡,开启SSH效劳器。如下图所示。至此完成SFTP效劳器搭建。
图3-5 开启SSH效劳器
3.3 登录SFTP效劳器
使用WinSCP作为客户端登录SFTP效劳器。下载并装置WinSCP.exe。装置完成后,翻开软件并举行如下图设置登录SFTP效劳器。
图3-6 使用WinSCP登录SFTP效劳器
3.4 SFTP文件传输
(1) 传输文件。乐成登录SFTP效劳器后,从客户端向效劳器传输测试文件,同时使用wireshark软件抓包模拟攻击者窃取测试文件。如下图所示,红框中十六进制内容即为窃取的文件数据。
图3-7 模拟攻击者窃取文件数据
(2) 转换数据流。若是凭证FTP转换数据流的操作,获得的文件内容如下所示?杉淙辉谕缟锨匀×宋募数据,可是无法获得文件内容。
图3-8 获取文件内容
4 SFTP和FTP的区别
通过FTP文件传输和SFTP文件传输的操作剖析,SFTP和FTP的区别如下:
●协议差别。
FTP基于TCP/IP协议,使用TCP端口21建设控制通道,使用TCP端口20建设数据通道。SFTP基于SSH协议(使用TCP端口22建设清静通道)。
●清静性差别。
FTP没有清静通道传输数据,SFTP使用SSH建设的加密清静通道传输数据。FTP接纳明文传输,攻击者只要在网络上窃取到文件数据,就能万无一失地获得文件内容。SFTP接纳加密传输,攻击者虽然窃取到文件数据,只要不知道加密密钥,也无法获得文件内容。这也是SFTP比FTP更清静的缘故原由。
●传输效率差别。
SFTP在传输历程中需要加密息争密,传输效率不如FTP。
5 结语
从SFTP和FTP的区别可以看出,SFTP是在加密通道中传输文件,清静性比FTP高,适合在公网中传输私有信息。FTP虽然清静性缺乏SFTP,但FTP不需要加密息争密,传输效率比SFTP高,适合公司内部文件的快速传输,可以凭证需要选择差别的文件传输方法。