超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品

FTP服务器的配置和使用

  • 第一部分 原理
    • FTP协议
    • FTP的两种模式
      • FTP控制连接
      • FTP数据连接(PORT模式)
      • FTP数据连接(PASV模式)
    • 匿名FTP
    • NAT
      • NAT简介
      • NAT的功能
      • NAT的实现方式
    • 外网映射软件的原理
  • FTP服务器的搭建与配置
    • FileZilla Server的下载与安装
    • FileZilla Server的配置
    • 配置用户
  • 内网访问FTP服务器
    • 通过cmd访问FTP服务器
    • 通过浏览器和资源管理器登录FTP服务器
    • 抓包结果分析
  • 外网登录FTP服务器
    • Sakura Frp的安装
    • 创建隧道并映射服务器
    • 外网映射之后的一些额外设置
    • 外网通过cmd访问FTP
  • 被动模式浏览器和资源管理器外网访问FTP服务器
    • 访问结果
    • 抓包结果分析
  • 主动模式下资源管理器和浏览器外网访问FTP服务器
    • 资源管理器在主动模式下访问FTP服务器结果
    • 浏览器主动模式下访问FTP服务器结果
    • 主动模式报文分析
  • 通过配套客户端登录服务器
    • 客户端的设置与使用
    • 报文分析
  • 使用不同的权限用户登录FTP服务器
    • 使用匿名账户登录服务器
    • 匿名用户抓包分析
    • 使用权限不全用户登录FTP服务器
    • 权限不全用户访问FTP服务器抓包结果
  • 额外的抓包结果
  • 出现的问题以及合理推测

这是个人的课程设计课程的研究成果,虽然还有很多问题,但是希望能帮助到看到这篇文章的各位
看这篇文章之前,希望大家能有一些FTP的基础,不至于基础的内容都看不懂
FTP基础内容
windows 10系统
使用软件:FileZilla Server(FTP服务器)、Sakura frp(外网映射软件)、FileZilla Client(FTP客户端)、wireshark(抓包软件)

第一部分 原理

FTP协议

FTP(文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第1张图片

FTP的两种模式

FTP控制连接

传输FTP命令(包括:发送用户名、口令、查询目录命令、传输文件命令等)

超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第2张图片

FTP数据连接(PORT模式)

FTP服务器从控制连接上收到一个传输文件命令后,使用20端口与FTP客户建立一个数据连接

PORT命令:由FTP客户发送,把用于数据连接的临时端口号告诉服务器
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第3张图片

FTP数据连接(PASV模式)

FTP服务器从控制连接上收到一个传输文件命令后,使用临时端口与FTP客户建立一个数据连接

PASV命令:由FTP客户发送,要求FTP服务器返回一个端口号

PASV响应:由FTP服务器发送,把用于数据连接的临时端口号告诉客户
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第4张图片

匿名FTP

默认状态下,FTP 站点允许匿名访问,FTP 服务器接受对该资源的所有请求,并且不提示用户输入用户名或密码。如果站点中存储有重要的或敏感的信息,只允许授权用户访问,应禁止匿名访问。 使用FTP时必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有帐号。匿名FTP就是为解决这个问题而产生的。

匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员建立了一个特殊的用户ID,名为anonymous, Internet上的任何人在任何地方都可使用该用户ID。通过FTP程序连接匿名FTP主机的方式同连接普通FTP主机的方式差不多,只是在要求提供用户标识ID时必须输入anonymous,该用户ID的口令可以是任意的字符串。习惯上,用自己的E-mail地址作为口令,使系统维护程序能够记录下来谁在存取这些文件。值得注意的是,匿名FTP不适用于所有Internet主机,它只适用于那些提供了这项服务的主机。

当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件,也就是说,用户可将匿名FTP主机上的所有文件全部拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载,利用这种方式,远程主机的用户得到了保护,避免了有人上传有问题的文件,如带病毒的文件。

NAT

NAT简介

NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。

这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

另外,这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。

NAT的功能

NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。

  1. 宽带分享:这是 NAT 主机的最大功能。
  2. 安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。

NAT的实现方式

NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。

静态转换是指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。

动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。

端口多路复用(Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。

ALG(Application Level Gateway),即应用程序级网关技术:传统的NAT技术只对IP层和传输层头部进行转换处理,但是一些应用层协议,在协议数据报文中包含了地址信息。为了使得这些应用也能透明地完成NAT转换,NAT使用一种称作ALG的技术,它能对这些应用程序在通信时所包含的地址信息也进行相应的NAT转换。例如:对于FTP协议的PORT/PASV命令、DNS协议的 “A” 和 “PTR” queries命令和部分ICMP消息类型等都需要相应的ALG来支持。

外网映射软件的原理

FRP DDNS是将用户的动态IP 地址映射到一个固定的域名上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP 地址传送给位于服务商主机上的服务器程序,服务项目器程序负责提供 DNS 服务并实现动态域名解析。DDNS 的主要作用就是捕获用户每次变化的 IP 地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来与用户交流了。

DSL每次拨号上网所获得的IP地址每次都是不同的,这样就需要我们每次访问服务器都输入新的ip地址,而映射软件起到的作用就是方便用户访问我们的服务器(只需要输入域名便可),而不用每次都输入IP地址那么麻烦。也就是说,具体的服务器,是要我们自己去设置完成的。而不同的上网方式,建立服务器的方式是不同的.还可以通过DSL直接拨号上网(不经过路由器等路由设备)和通过路由器共享上网(也就是处于局域网内部)。

FTP服务器的搭建与配置

我们采用的FTP服务器软件是FileZilla

FileZilla Server的下载与安装

超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第5张图片
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第6张图片
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第7张图片

FileZilla Server的配置

超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第8张图片
在你关闭FileZilla后,再次启动,可能会碰到一直报错连接不上服务器的情况,这可能是因为电脑中对FileZilla的服务是手动状态,可是他并没有请求你是否打开,于是我们需要在服务中将该服务改成自动
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第9张图片
在设置中,将服务器设置使用被动模式,且使用的端口范围必须是连续的端口,这里将访问端口设置为两个连续的端口17855~17856,。同时这个界面可以设置访问IP,如果不设置则默认使用127.0.0.1
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第10张图片
需要在安全设置中完全禁用IP限制,因为FileZilla服务器会限制数据端口的连接,这里需要配置这个安全策略来确保客户端可以正常传输数据
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第11张图片

配置用户

在电脑中先选好用户要访问的路径,这里我专门创建了两个文件夹供不同用户访问
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第12张图片
添加新的用户,并设置用户的名称与密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第13张图片
设定用户能访问的文件夹范围和权限
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第14张图片
不同的用户可以使用不同的路径,拥有不同的权限

内网访问FTP服务器

通过cmd访问FTP服务器

访问结果
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第15张图片
这时服务器后台的响应数据
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第16张图片

通过浏览器和资源管理器登录FTP服务器

资源管理器登录FTP服务器
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第17张图片
浏览器登录
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第18张图片
通过资源管理器和浏览器登录时,不询问账号,会直接进入匿名账号的权限地址,如果没有设置匿名账号会报错

抓包结果分析

内网的访问抓包,尤其是服务器端我根本抓不到,无论是本电脑和本电脑通信,还是两台电脑通信,服务器端都抓不到包,不知道是为什么

外网登录FTP服务器

我们使用的内网穿透软件是Sakura Frp,平常玩Minecraft的时候用的也是这个,有时间的话也考虑出一期MC联机的教程

Sakura Frp的安装

登录官网
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第19张图片
注册账号
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第20张图片
登录账号
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第21张图片
通过签到获得流量
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第22张图片
下载系统相应版本的软件,并解压安装
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第23张图片
在用户信息界面获取访问密钥,登录自己的账号后输入访问密钥,即可成功登录

创建隧道并映射服务器

监听隧道的创建,本地端口为21,分配的端口随机
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第24张图片
数据隧道的创建,数据隧道的映射端口必须和映射前的端口一模一样才能成功映射
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第25张图片
开启端口
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第26张图片
通过后台给出的IP来连接服务器
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第27张图片

外网映射之后的一些额外设置

在防火墙—高级安全设置—入站规则—添加规则—将21号端口,映射端口,以及数据连接的端口添加到其中,这里的设置是为了后面客户端的成功通信
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第28张图片
在防火墙—允许的应用中添加Filezilla server 和FileZilla Server Interface,将通信权限给服务器
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第29张图片

外网通过cmd访问FTP

cmd访问结果
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第30张图片
因为cmd访问FTP服务器,只会访问默认的21号端口,经过映射之后,监听端口已经不是21了,所以无法访问

被动模式浏览器和资源管理器外网访问FTP服务器

访问结果

资源管理器访问结果
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第31张图片
浏览器访问结果
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第32张图片

抓包结果分析

这是客户端浏览器连接时的抓包,其他抓包结果类似或与其有对应

Tcp建立连接三握手
TCP建立连接三握手
欢迎信息
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第33张图片
登录账户,为匿名账户
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第34张图片
询问密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第35张图片
发送密码
发送密码
登录成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第36张图片
定位到根目录
定位到根目录
定位到根目录成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第37张图片
文件传输模式设置为ASCII码
ASCII
设置成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第38张图片
被动模式
PASV
被动模式回报端口与IP
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第39张图片
结束连接
结束连接

主动模式下资源管理器和浏览器外网访问FTP服务器

资源管理器和浏览器想要调整为主动模式,需要打开旧版IE浏览器,将Internet选项中的使用被动FTP选项取消打钩
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第40张图片

资源管理器在主动模式下访问FTP服务器结果

这时因为是主动登录,所以会询问用户名和密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第41张图片
这时资源管理器登录成功,并开始加载,进度条加载缓慢,且加载完报错超时,通过FileZilla后台可以看到是无法获取目录,这步无法解决
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第42张图片

浏览器主动模式下访问FTP服务器结果

这里并没有响应
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第43张图片

主动模式报文分析

这里的依然是采用客户端浏览器的抓包,但是浏览器只会登录匿名账户,所以如果采用资源管理器的话,抓包中登录用户和密码那几块会变成相应的内容

三握手建立连接
三握手建立连接
欢迎信息
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第44张图片
输入用户名
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第45张图片
请求密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第46张图片
输入密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第47张图片
登录成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第48张图片
定位到根目录
定位到根目录
定位成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第49张图片
文件传输形式设置为ASCII码
ASCII码
设置成功
设置成功
开启主动端口
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第50张图片
开启成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第51张图片
请求目录
请求目录
请求目录失败,请求超时
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第52张图片
结束连接
结束连接

通过配套客户端登录服务器

客户端的设置与使用

打开客户端
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第53张图片
新建站点
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第54张图片
将站点设置为被动模式(虽然我在测试中主动模式也能登录上服务器)
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第55张图片
登录站点
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第56张图片
登录成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第57张图片
此时可以在客户端上,利用用户的相应权限来对目标地址做出相应指令,如:新建文件夹
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第58张图片

报文分析

这里采用的是服务器端的抓包

在这个流的开头出现了一种奇怪的协议,这种协议即没见过,也没法百度到
狮鹫协议
用户登录
用户登录
请求密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第59张图片
给出密码
给出密码
登录成功
登录成功
请求服务器的操作系统
请求服务器的操作系统
回答
回答
请求服务器的特征
请求服务器的特征
回答
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第60张图片
请求根目录
请求根目录
请求成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第61张图片
文件传输类型设置为二进制传输
二进制传输
设置成功
设置成功
被动模式连接
被动模式
进入被动模式,打开端口
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第62张图片
请求文件目录,这里用的是MLSD命令

新的服务器提供的MLSD命令通过FTP客户端发送MLSD命令,服务器收集文件信息,如文件创建时间,修改时间,文件大小及文件所有用,向用户返回一个标准,详细且可读格式的目录列表。由于MLSD目录列表包含UTC格式的文件修改时间,因此这对于FTP客户端非常有用,当需要同步目录时,它可转换远程文件的时间戳到你的本地时间。同时,MLST命令也被用于获得单个远程文件的时间戳。
请求目录
打开数据通道获取目录
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第63张图片
获取目录成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第64张图片
新建一个目录,目录名称ykw
新建目录
新建成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第65张图片

使用不同的权限用户登录FTP服务器

使用匿名账户登录服务器

访问结果,我们使用该用户登录后,断开,再次连接,并下载了匿名用户权限路径下的文件
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第66张图片

匿名用户抓包分析

这里采用的是服务器端的抓包分析

欢迎信息
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第67张图片
询问是否打开TLS
TLS
并未打开
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第68张图片
询问是否打开SSL
SSL
并未打开
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第69张图片
匿名账户
匿名账户
请求密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第70张图片
输入密码
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第71张图片
登录成功
登录成功
询问服务器的操作系统
询问服务器的操作系统
回答
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第72张图片
询问服务器的特征
询问服务器的特征
回答
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第73张图片
设置为二进制传输
二进制
设置成功
设置成功
用PWD命令请求根目录
PWD
请求成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第74张图片
被动模式
被动模式
开启被动模式和端口
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第75张图片
请求目录
请求目录
开始建立数据连接传输目录
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第76张图片
传输成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第77张图片
这时断开连接后,重新连接服务器,产生了不一样的变化
前面的连接都一样,直到登录成功后
使用CWD命令请求了一次根目录
CWD
又使用PWD命令请求了一次根目录
PWD
两次请求都成功,以下是两个命令的区别

打印工作目录(PWD)
在响应是返回当前工作目录。

改变工作目录(CWD)
此命令使用户可以在不同的目录或数据集下工作而不用改变它的登录或帐户信息。传输参数也不变。参数一般是目录名或与系统相关的文件集合。

且这时设置文件传输类型为ASCII码模式
ASCII码
下载文件what.txt
下载文件
打开数据通道传输该文件
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第78张图片
成功传输
成功传输

使用权限不全用户登录FTP服务器

我们分配给该用户的权限为只读,权限地址和我们之前的普通用户一样
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第79张图片
访问结果:我们使用该用户做了一些超出该用户权限的事,并得到了想要的答案
访问结果

权限不全用户访问FTP服务器抓包结果

我采用的是服务器端的抓包结果,前面的抓包与正常用户抓包没什么区别
也都有访问是否为TSL,SSL,启动的文件传输类型也为ASCII码,也收到了PWD和CWD两个命令

请求下载233.txt
请求下载
打开数据通道开始传输文件
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第80张图片
文件传输成功
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第81张图片
请求创建文件夹cgf
创建文件夹
没有权限,创建失败
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第82张图片
删除文件233.txt
删除文件
没有权限,删除失败
删除失败

额外的抓包结果

这是个没见过的协议
狮鹫协议
内网穿透软件还会发送一些报文用来保活
在这里插入图片描述
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第83张图片
在这里插入图片描述
超详细教程FTP服务器的配置和使用 使用FileZilla和Sakura frp 个人计算机网络协议分析课程设计成品_第84张图片

在每一个内容报文之前,会有一个定长的空白报文
在这里插入图片描述
在这里插入图片描述

出现的问题以及合理推测

:出现了一个从未见过的协议Gryphon,且只出现在服务器端与映射服务器的交互上
推测:协议Gryphon应该是一种类似TCP的、来自内网映射软件的协议,可能含有保持连接等的功能,在一条连接中,他只会出现在未成功建立连接时的服务器端抓包中

:每个有信息的报文前都会出现个空白报文
推测:空白报文定长66字节,其中客户端不会发给服务器但会收到,服务器即会发送也会收到该报文,可能是内网映射软件在其服务器上为了保持两端连接做的设定

:服务器端固定以7000端口与映射服务器交互,客户端以映射出来的19741端口与其交互
推测:7000端口应该是内网映射软件使用的端口,所以无论映射的是服务器端的什么端口,应该在映射时都通过7000来与内网映射服务器交互

:在广域网使用资源管理器和浏览器登录服务器,使用不同模式登录报错不一致,报文也不一致
推测:被动模式下如同cmd,在21号端口被映射的情况下,无法访问服务器。主动模式下,请求服务器的监听端口建立连接,但是无法建立数据连接,猜测被加密

:为什么有时候采用命令PWD,有时候采用CWD

:为什么有时候采用ASCII码模式传输,有时候使用二进制码传输

:为什么在局域网服务器端抓不到包

你可能感兴趣的:(计算机网络协议分析,学习笔记,计算机网络)