FTP(File Transfer
Protocol,文件传输协议)用于在远端服务器和本地主机之间传输文件,是IP网络上传输文件的通用协议。在万维网(WWW,World
Wide
Web)出现以前,用户使用命令行方式传输文件,最通用的应用程序就是FTP。虽然目前大多数用户在通常情况下选择使用Email和Web传输文件,但是FTP仍然有着比较广泛的应用。
FTP协议在TCP/IP协议族中属于应用层协议,用于在远端服务器和本地客户端之间传输文件,使用TCP端口20和21进行传输。端口20用于传输数据,端口21用于传输控制消息。FTP协议基本操作在RFC959中进行了描述。
FTP有两种文件传输模式:
二进制模式,用于传输程序文件(比如后缀名为.app、.bin和.btm的文件);
ASCII码模式,用于传输文本格式的文件(比如后缀名为.txt、.bat和.cfg的文件)。
实验环境搭建
一台路由器或交换机作为FtpServer,一台PC做客户端(我这里是用的HCL模拟器中的host主机,和本机相连接,这里就不展开讲了);
登录FtpServer,设置图中的IP地址,创建本地账号和密码,开启FTP服务;
<H3C>system-view
System View: return to User View with Ctrl+Z.
[H3C]interface gigabitethernet 0/0
[H3C-GigabitEthernet0/0]ip address 192.168.56.3 24
[H3C-GigabitEthernet0/0]quit
创建本地用户test,并赋予权限和使用FTP服务类型;
[H3C]local-user test
New local user added.
[H3C-luser-manage-test]password simple qweasd1234
Updating user information. Please wait... ...
[H3C-luser-manage-test]service-type ftp
[H3C-luser-manage-test]authorization-attribute user-role security-audit
[H3C-luser-manage-test]quit
[H3C]ftp server enable
在客户端中打开cmd终端(我这里是HCL模拟器和本机做了一个联动,大家可以按照自己的方式进行测试,上面的开启命令是正确的)
C:\>ftp 192.168.56.3
连接到 192.168.56.3。
220 FTP service ready.
502 Command not implemented.
用户(192.168.56.3:(none)): test
331 Password required for test.
密码:
230 User logged in.
上面的信息代表成功登录FtpServer,如果出现下面的提示,然后就向卡住了一样,说明是本机的防火墙没有关闭,关闭防火墙或在防火墙中者放行FTP服务就可以了。
ftp> dir
200 PORT command successful
如果出现下面的提示,说明FtpServer上的用户权限没有读取权限,设置下权限就可以了。
550 permission denied