**
12、 简述 FTP 协议?如何工作?
**
FTP协议简述
FTP(File Transfer Protocol,文件传输协议)
是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。
**
(登录FTP服务器成功的过程):
**
- 因为FTP使用的是TCP协议,所以客户端在通过ftp 192.168.120.240连接服务器时,首先会经历TCP的三次握手来建立控制通道。客户端使用任意的端口N(N>1024)来连接FTP服务器默认的21端口。
- 在TCP三次握手结束后,服务器端正式响应客户端的控制连接请求,控制通道建立。
- 客户端向服务器发送含有ACK的数据段来确认控制连接建立。
- 客户端向服务器发送用户名。
- 服务器向客户端发送含有ACK的数据段来确认用户名。
- 服务器向客户端询问密码。
- 客户端向服务器发送含有ACK的数据段来确认会发送密码。
- 客户端向服务器发送密码,密码为明文。
- 服务器向客户端发送含有ACK的数据段来确认密码收到。
- 服务器向客户端发送登陆成功的信息。
- 客户端向服务器发送含有ACK的数据段来确认收到登陆成功的信息。
**
ftp命令如何带上用户名和密码??
**
ftp是网络常用命令,但是使用此命令时都必须根据提示交互式的输入用户名和密码,对于希望程序自动执行或者批处理而言很不方便。下面提供两种ftp登陆时指定用户名密码的方法:
- 使用命令ftp://username:password@hostname:port
即(ftp://用户名:密码@ftp地址:端口)
这种用法只能在览器里使用,不能在命令行使用。
2.在命令行里可以使用配置文件来解决这个问题:
格式:ftp -s:[配置文件] [ftp地址]例子:ftp -s:e:/test_ftp.txt 192.1.101.203test_ftp.txt的文件内9 容是:usernamepwd