1. ftp(File Transfer Protocol)即文件传输协议
FTP协议用到2个TCP连接,一是命令链路,用来在FTP客户端与服务器之间传递命令;二是数据链路,用来上传或下载数据。FTP是基于TCP协议的,因此iptables防火墙设置中只需要放开指定端口(21 + 传输(PASV)端口范围)的TCP协议即可。
2. ftp工作模式
① 主动(active)模式:
I 客户端会随机取一个端口(>1024)向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
II 当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了一个(>1024)的随机端口,你来连接我”。
III 于是,服务器从20端口向客户端的(>1024)的随机端口发送连接请求,建立一条数据链路来传送数据。
② 被动(passive)模式:
I 客户端会随机取一个端口(>1024)向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
II 当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了一个(>1024)的随机端口,你过来连接我”。
III 于是客户端向服务器的指定端口发送连接请求,建立一条数据链路来传送数据。
3. ftp常用命令
ls 查看ftp服务器当前目录下文件
help 查看ftp支持哪些命令
cd 指定目录
pwd 查看ftp服务器当前目录
get xxx.txt 下载xxx文件 (把ftp服务器当前目录下的xxx.txt文件下载到linux当前目录下)
put xxx.txt 上传xxx文件 (把linux当前目录下的xxx.txt文件上传到到ftp服务器当前目录下)
quit / bye 退出ftp
ftp xxx.xxx.xxx.xxx 登录
4. ftp命令行登录过程
① ftp xxx.xxx.xxx.xxx 登录(默认端口21),若端口改为22 ,ftp xxx.xxx.xxx.xxx 22 进行登录
② 登录成功后,会要求输入 用户名 和 密码
③ 然后,可进入目录, ls 查看目录下内容
④ cd 切换目录,get 获取文件, put 上传文件
⑤ quit / bye 退出ftp