目录
文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
三次握手是TCP协议用于建立可靠连接的过程,其步骤如下:
第一次握手(SYN):客户端向服务器发送SYN包,请求建立连接。该包中包含一个随机生成的初始序列号ISN(Initial Sequence Number)。
第二次握手(SYN+ACK):服务器收到SYN包后,向客户端发送SYN+ACK包,表示同意建立连接。该包中也包含一个随机生成的序列号ISN,同时将确认序列号ACK设置为客户端的ISN+1。
第三次握手(ACK):客户端收到服务器的SYN+ACK包后,向服务器发送ACK包,表示客户端也同意建立连接。该包的序列号设置为服务器的ISN+1,确认序列号设置为服务器的ISN+1。
在三次握手完成后,TCP连接建立成功,双方可以开始进行数据传输。这个过程可以确保连接的可靠性和完整性,防止数据包的丢失或重复传输。
FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。
FTP服务器一般都支持主动和被动两种工作模式,具体采用哪一种由客户端决定.
主动模式: FTP客户端首先连接服务器的21端口,客户端需要接收数据的时候在这个通道上发送PORT命令,告诉服务端,客户端将在哪个端口上接受数据。发送数据时服务端将通过自己的20端口,将数据发送端指定端口。FTP server必须和客户端建立一个新的连接用来传送数据。
被动模式: FTP客户端首先连接服务器的21端口,发送用户名密码登录; 登录成功后在需要List列表或读取数据时,客户端发送PASV命令到FTP服务器,服务器在本地开放一个随机端口(1024以上),并将该端口告诉客户端,客户端连接到这个随机端口,然后FTP服务器将通过这个端口传送数据。
20端口: 用来传输数据的端口(主动模式)
21端口: 用来传输控制信息
1. 启用防火墙
2. 打开服务器管理器?工具?计算机管理
3. 选择本地用户与组?新建组
4. 给组命名,输入描述,点击创建
- 创建完成后,新建窗口不会消失,但是组已经创建成功
5. 新建用户,设置用户名称,添加描述,输入密码,点击创建
6. 将新建的用户与组绑定
- 将新建的用户右键选择属性?隶属于,将原有的user删除
- 点击添加,对象类型选择组,点击高级
- 选择对象类型为组,点击立即查找,选中建好的组,点击确定
- 点击应用,再点击确定
7. 安装FTP服务器
- 服务器管理器?管理?添加角色和功能
- 这里直接点击下一步
- 选择基于角色安装,点击下一步
- 勾选从服务池中选择服务器,点击下一步
- 勾选Web服务器(IIS)?添加功能,点击下一步
- 这里不用做任何的选择,直接下一步
- 这里也是直接下一步
- 勾选FTP服务器,点击下一步
- 开始安装
8. 配置FTP服务器
- 服务器管理器?工具?IIS管理器
- WIN-F5KUD4I8RTH?网站?右键?添加ftp站点
- 设置站点名称,存放路径,点击下一步
- 根据自己需求选择SSL,点击下一步
- 身份认证勾选基本,指定角色或用户组,填入创建的组,勾选权限,点击完成
- 服务就搭建完成了
9. 配置FTP文件夹的权限
- 在ftp目录处,右键点击属性?安全?编辑
- 点击添加?高级
- 对象类型选择组,点击立即查找,选中创建的组,点击确定
- 将权限勾选上,点击确定即可
10. 连接测试
- 在文件夹资源管理器中输入ftp://localhost,回车
- 出现一个窗口,输入ftp的用户名和密码
- 然后就登录进来了(这是在本机上可以访问,要想其他电脑也能访问这个ftp服务器,还需要以下配置)
- 在防火墙高级设置中,找到入站规则,找到FTP服务器
- 双击,选择程序与服务,将程序的路径c下来
- 再新建规则,这里的规则类型选择程序,点击下一步
- 输入刚刚c的程序路径,点击下一步
- 勾选允许连接,点击下一步
- 下一步
- 输入名称和描述,点击完成
- 在其他电脑上输入ftp://+服务器ip,即可访问ftp服务器
计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。
1、公认端口(Well Known Ports):从0到1023
2、注册端口(Registered Ports):从1024到49151
3、动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535
4、常见端口:
- 8080为http服务的备用端口
- 21 FTP服务器所开放的端口,用于上传、下载
- 22 SSH端口
- 23 Telnet
- 25 SMTP服务器所开放的端口,用于发送邮件
- 80 用于网页浏览
1、命令 netstat -na ,会显示本机连接情况及打开的端口
2、telnet ip port 命令测试端口是否开放
3、安装telnet
单击“开始”,右键单击“计算机”,然后单击“管理”。
在“功能摘要”部分,单击“添加功能”。
在“选择功能”页上,选择“Telnet 服务器”。还可以根据需要选择“Telnet 客户端”。
单击“下一步”,然后在“确认安装选项”页上,单击“安装”。
在“安装结果”页上,单击“关闭”。
此处注意服务是禁止的,需要在服务里改成自动或者手动
4、启动 Telnet 服务器,请键入 net start telnet。
5、停止 Telnet 服务器,请键入 net stop telnet。
netstat-tulnp
- Proto:? 协议
- Recv-Q 网络接收队列
- Send-Q 网络发送队列
- Local Address : 服务器监听的IP地址和端口号,如果为0.0.0.0表示监听本地所有的IP(有时服务器有不止一个网卡)
- Foreign Address : 与本地端口通讯的外部socket
- State:链路状态?