精华内容
下载资源
问答
  • Internet协议分析-FTP报文分析-SMTP报文分析 网络环境中抓取报文分析
  • FTP协议报文详解及FTP穿越NAT

    万次阅读 多人点赞 2019-04-04 15:16:36
    2、FTP协议简介 3、FTP工作原理 3.1、主动连接(PORT) 3.2、被动连接(PASV) 3.3、FTP主动模式穿越SNAT原理 3.4、FTP被动模式穿越DNAT原理 4、问题思考 4.1、主动模式和被动模式是谁决定的 4.2、主动模式...

    目录

     

    1、拓扑图

    2、FTP协议简介

    3、FTP工作原理

    3.1、主动连接(PORT)

    3.2、被动连接(PASV)

    3.3、FTP主动模式穿越SNAT原理

    3.4、FTP被动模式穿越DNAT原理

    4、问题思考

    4.1、主动模式和被动模式是谁决定的

    4.2、主动模式和被动模式是怎么协商出端口

    4.3、设想中间防火墙怎么识别子连接并给子连接放行

    4.4、思考NAT设备如何给子连接做地址转换

    4.5、下载两个文件,会每个文件开一个数据连接么

    4.6、列出目录,服务器发送目录列表,会使用数据连接传输么

    5、FTPipv4和ipv6的区别


    1、拓扑图

     

    2、FTP协议简介

    FTP 英文全称:File Transfer Protocol,中文全称:文件传输协议

    提供交互式的访问,对传输文件的格式和类型有分类,允许文件具有存取权限。适合异构网络任意计算机的传送。

    3、FTP工作原理

    FTP采用C/S架构,使用TCP可靠的传输服务。一个FTP服务器进程可同时为多个客户进程提供服务,FTP服务器检查有两大部分组成:一个主进程,负责接收新的请求,另外有若干的从属进程,负责处理单个请求,工作步骤如下:

    1. 建立TCP连接
    2. 打开熟知端口21(控制端口),使客户进程能够连接上
    3. 等待客户进程发链接请求。
    4. 启动从属进程来处理客户进程发来的请求。主进程与从进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
    5. 回到等待状态,继续接收其他客户进程的请求。

    3.1、主动连接(PORT)

    1、主动连接介绍

    服务端通过制定端口号(20)主动与客户端建立数据连接,并向客户端发送数据。

    以下报文是SNAT转换后的报文,源IP(10.10.10.2)转换成出接口IP地址(192.168.10.114)

    2、报文拆分解释

    2.1、报文1-3:TCP建立三次握手,建立连接

     

    2.2、报文4:服务端(21端口)向客户端(49203端口)发送request报文。code字段表示新用户服务就绪,arg字段为服务器名称和服务器版本号

     

    2.3、报文5:客户端(49203端口)向服务端(21端口)发送request报文。command字段表示该报文里包含的是用户名,arg字段为用户名内容。

     

    2.4、报文6:服务端(21端口)回复response报文,code值为331,表示用户名可以,需要密码

    2.5、报文7:客户端(49203端口)向服务端(21端口)发送request报文,command字段表示该报文里包含的是密码,arg字段为密码内容。

     

    2.6、报文8:服务端(21端口)回复response报文,code值为230,表示用户已登录,请继续操作

    2.7、报文9:客户端(49203端口)向服务端(21端口)发送SYST报文,表示返回服务器使用的操作系统。

    2.8、报文10:服务端(21端口)回应系统类型,code字段为215,表示返回的是系统类型。arg字段为UNIX,表示系统类型是UNIX系统

    2.9、包11:客户端(49203端口)请求系统状态

    包12:服务端(21端口)回应系统状态,code字段为211,arg字段为特征列表

    2.10、包15:客户端(49203端口)PWD获取当前路径

    包16:服务端(21端口)返回当前路径

    包17:客户端(49203端口)CWD更改目录

    包18:服务端(21端口)返回修改后的目录

    包19:客户端(49203端口)PWD获取当前路径

    包20:服务端(21端口)返回当前路径

    2.11、包21:客户端(49203端口)请求使用ascii传输

    包22:服务端(21端口)响应,同意使用ascii传输

     

    2.12、包23:客户端(49203端口)发起主动连接,向服务端发送建立子连接的IP和端口

    包24:服务端(21端口)响应,同意使用客户端发送的IP端口建立子连接

    2.13、包26-28:FTP子连接三次握手建立TCP连接。

    2.14、包:30-32:服务端(20端口)向客户端(49204端口)发送数据。

    2.15、包33-37:数据传输完成,TCP断开连接

    2.16、包60-63:控制连接已断开,TCP四次挥手断开TCP连接

    3.2、被动连接(PASV)

    1、被动连接介绍

    服务端采用客户端建议使用被动模式,开启数据传输端口的监听,被动等待客户端的连接然后向客户端发送数据。

    以下报文是SNAT转换后的报文,源IP(10.10.10.2)转换成出接口IP地址(192.168.10.114)

    2、报文拆分解释

    2.1、TCP三次握手建立TCP连接

    2.2、报文4:服务端(21端口)向客户端(49206端口)。code字段表示新用户服务就绪,arg字段为服务器名称和服务器版本号

    2.3、报文5:客户端(49206端口)向服务端(21端口)发送request报文。command字段表示该报文里包含的是用户名,arg字段为用户名内容。

    2.4、报文6:服务端(21端口)回复response报文,code值为331,表示用户名可以,需要密码

    2.5、报文7:客户端(49206端口)向服务端(21端口)发送request报文,command字段表示该报文里包含的是密码,arg字段为密码内容。

    2.6、报文8:服务端(21端口)回复response报文,code值为230,表示用户已登录,请继续操作

    2.7、报文9:客户端(49206端口)向服务端(21端口)发送SYST报文,表示返回服务器使用的操作系统。

    2.8、报文10:服务端(21端口)回应系统类型,code字段为215,表示返回的是系统类型。arg字段为UNIX,表示系统类型是UNIX系统

    2.9、包11:客户端(49206端口)请求系统状态

    包12:服务端(21端口)回应系统状态,code字段为211,arg字段为特征列表

    2.10、包15:客户端(49206端口)PWD获取当前路径

    包16:服务端(21端口)返回当前路径

    包17:客户端(49206端口)CWD更改目录

    包18:服务端(21端口)返回修改后的目录

    包19:客户端(49206端口)PWD获取当前路径

    包20:服务端(21端口)返回当前路径

    2.12、包23:客户端(49206端口)向服务端请求建立被动连接

    包24:服务端(21端口)响应,同意建立被动连接,并且向客户端发送服务端的IP和监听端口

    2.13、包26-28:FTP子连接三次握手建立TCP连接。

    2.14、包:32-33:服务端(20端口)向客户端(49207端口)发送数据。

    2.15、包34-36:数据传输完成,TCP断开连接

    2.16、包59-62:控制连接已断开,TCP四次挥手断开TCP连接

    3.3、FTP主动模式穿越SNAT原理

    主动模式穿越SNAT主要用于FTP服务端在公网,客户端需要通过SNAT转换访问服务端。

    1、FTP客户端通过防火墙的SNAT访问FTP服务端时使用主动模式。

    2、当客户端发送PORT报文到服务端时,报文内的active ip address字段为10.10.10.2,active port字段为49217

    3、当穿越SNAT的时候,SNAT会把active ip address字段和active port字段改为转换后的IP和端口

    4、服务端收到经过SNAT后的PORT报文后,会给192.168.10.114发送响应报文。

    5、响应报文经过链接跟踪表,转发给客户端。

    3.4、FTP被动模式穿越DNAT原理

    被动模式穿越DNAT主要用于FTP服务端在私网,客户端需要通过DNAT转换后访问服务端。

    1、FTP客户端访问防火墙的10.10.10.1,进行DNAT转换,转换目的IP为192.168.10.114

    2、当客户端发送PASV报文到服务端后,服务端返回自己的监听IP和端口,passive ip address字段是192.168.10.115,passive port字段是62443

    3、当穿越DNAT的时候,DNAT会把passive ip address字段和passive port字段改为转换后的IP和端口

    4、客户端收到转换后的响应报文后,和转换后的响应报文进行建立数据连接

     

    4、问题思考

    4.1、主动模式和被动模式是谁决定的

    主动模式和被动模式是由客户端决定的,客户端请求建立数据连接时,发送PVSA报文,服务端就会建立被动连接;当客户端发送PORT报文时,服务端就会建立主动连接。

    4.2、主动模式和被动模式是怎么协商出端口

    主动模式协商端口

    1、客户端使用任意一个的非熟知权端口N(N>1024)与服务端建立FTP控制连接,然后客户端开始监听N+1端口。客户端向服务端21端口发送PORT报文,PORT报文里包含客户端监听的IP和N+1端口。

    2、服务端收到客户端的PORT报文后,使用客户端发送的IP和N+1端口与客户端建立数据连接。

    被动模式协商端口

    1. 客户端开启FTP连接时,会打开两个任意的非熟知端口(N > 1024和N+1)。N端口连接服务器的21端口。
    2. 客户端发送PVSA报文给服务端
    3. 服务器会开启一个任意的非熟知端口(P > 1024),并发送响应报文给客户端响应报文包含服务端IP和端口号P。
    4. 客户端发起从本地端口N+1到服务器的端口P建立数据连接。

    4.3、设想中间防火墙怎么识别子连接并给子连接放行

    被动模式:

    1. 客户端开启FTP连接时,会打开两个任意的非熟知端口(N > 1024和N+1)。N端口连接服务器的21端口。
    2. 客户端发送PVSA报文给服务端。
    3. 服务器会开启一个任意的非熟知端口(P > 1024),并发送响应报文给客户端,响应报文包含服务端子连接IP和端口P。
    4. 防火墙收到服务端的响应后,获取响应报文中子连接的IP和端口P。
    5. 客户端发起从本地端口N+1到服务器的子连接IP、端口P建立数据连接。
    6. 防火墙收到客户端发送的报文目的IP是子连接IP后,允许转发,并转发给服务器。

    4.4、思考NAT设备如何给子连接做地址转换

    主动模式:

    1. 客户端使用任意一个的非熟知端口N(N>1024)与服务端建立FTP控制连接
    2. 客户端监听N+1端口。
    3. 客户端向服务端21端口发送PORT报文建立子连接,PORT报文里包含客户端监听的IP和N+1端口。
    4. NAT设备获取PORT报文内的客户端IP和N+1端口
    5. NAT设备修改PORT报文内的客户端IP和N+1端口为自己的IP和端口,生成动态NAT
    6. 服务端收到客户端的PORT报文后,使用NAT转换后的IP和端口与客户端建立数据连接。
    7. NAT设备收到后,访问转换后的IP和端口,根据动态NAT转换为客户端子连接的IP和N+1端口,发送给客户端。

    4.5、下载两个文件,会每个文件开一个数据连接么

    FTP同时下载两个文件,FTP会为每个文件打开一个数据连接。


    1、下载文件test.txt,开启一条数据连接

    2、下载文件test1.txt,开启另一条数据连接

    4.6、列出目录,服务器发送目录列表,会使用数据连接传输么

    会使用数据连接发送目录列表,当数据连接建立完成后,服务器会向客户端发送当前路径和目录列表内容。

    5、FTPipv4和ipv6的区别

    控制连接请求(被动模式)

    IPv4使用PASV建立控制连接。PASV报文response报文的code字段为227(进入被动模式),arg字段为监听IP和端口。

    IPv6使用EPSV建立控制连接。EPSV报文response报文的code字段为229(进入被动模式),arg字段为监听端口

    控制连接请求(主动模式)

    IPv4使用PORT建立控制连接。请求时携带监听的IPv4地址和端口。PART报文response报文返回200

    IPv6使用EPRT建立控制连接。请求时携带监听的IPv6地址和端口。EPRT报文response报文返回200

     

    展开全文
  • FTP协议分析

    万次阅读 多人点赞 2016-04-08 12:06:14
    FTP协议分析二、实验目标 1、理解FTP协议的工作原理; 2、了解FTP协议的常用命令; 3、了解应用层协议与传输层协议的关系三、实验原理 FTP(File Transfer Protocal),是文件传输协议的简称。FTP使得主机...

    一、实验名称
    FTP协议分析

    二、实验目标
    1、理解FTP协议的工作原理;
    2、了解FTP协议的常用命令;
    3、了解应用层协议与传输层协议的关系

    三、实验原理
    FTP(File Transfer Protocal),是文件传输协议的简称。FTP使得主机间可以共享文件,用于控制Internet上文件的双向传输。它是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。 当FTP客户端与服务器建立FTP连接时,将与服务器上的两个端口建立联系:端口20和21。FTP使用不同的端口号传输不同的内容,会建立不同的TCP连接。首先,使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。

    FTP的工作过程: FTP使用2个TCP端口,一个数据端口和一个命令端口(也可叫做控制端口)。通常来说这两个端口是21——命令端口和20——数据端口,但根据FTP工作在主动模式还是被动模式,21和20端口的使用方法略有不同。 主动模式的FTP是这样的:客户机从一个任意的非特权端口N(N≥1024),连接到FTP服务器的命令端口,也就是21端口,建立一个控制连接。这个连接用于传递客户端的命令和服务器端对命令的响应,生存期是整个FTP会话时间。

    如果期间需要传输文件和其它数据,例如:目录列表等,客户端就需要建立数据连接了。这种连接在需要数据传输时建立,而一旦数据传输完毕就关闭,整个FTP期间可能会建立多次。在主动模式下,建立数据连接时,客户端会开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1),开始进行数据传输。

    四、实验步骤
    1. 打开Wireshark,选择工具栏上的“Capture”->“interfaces选择网关”,如图:
    这里写图片描述
    2、然后在Wireshark,选择工具栏上的“Capture”->“optoins”选择过滤器,并在capture filter中输入 tcp port 20 or tcp port 21(表示要抓tcp的包),如图:
    这里写图片描述
    3.打开命令提示符,键入CMD后,输入ping 192.168.1.104发现能ping通
    这里写图片描述

    4.ping 通后输入ftp 192.168.1.104 出现如下界面
    这里写图片描述

    此时抓到5个包
    前面三帧是客户端与主机的三次握手
    这里写图片描述
    第四帧
    这里写图片描述

    第四帧是服务器端的响应报文,并以ascii码方式明文传输数据,这一帧表明控制连接完成。
    第五帧是客户端向服务器端发的确认
    第六、七、八、九、十,十一帧是分别是:客户端输入用户名;服务器端确认并提示输密码;客户端确认;客户端发送密码;服务器端确认密码正确;客户端确认收到。
    其中,密码和用户名都是明文的,如下图
    这里写图片描述

    第十二帧客户端向服务器端请求数据连接,并打开端口号5001
    这里写图片描述

    第十三帧服务器端确认,并告诉客户端打开200端口
    第十四帧客户端确认并请求能访问的文件目录
    这里写图片描述

    第十五、十六、十七帧是数据连接的创建(数据连接创建)
    这里写图片描述

    第十八帧服务器端回到控制连接向第14帧确认,并表示请求的文件目录将以ASCII码的方式发送。
    第十九帧服务器端向客户端发送传输了195个比特。
    第二十帧服务器端向客户端发送完成信息并要求断开数据连接。
    这里写图片描述

    第二十一帧客户端向服务器端确认
    第二十二帧返回控制连接,服务器端断开数据连接;
    第二十三帧分别是客户端向服务器端确认收到;
    第二十四帧是客户端断开数据连接。
    第二十五帧是服务器端对客户端断开连接的确认。(至此,数据连接断开)
    这里写图片描述

    第二十六帧客户端向服务器端请求数据连接,并打开端口号5002(数据连接再次开始建立)
    这里写图片描述

    第二十七帧服务器端确认,并告诉客户端打开200端口
    第二十八帧客户端请求从服务器端下载2.txt.txt
    这里写图片描述

    第三十二帧回到数据连接,向第28帧确认,并告诉客户端文件将以ASCII码的方式发送。
    这里写图片描述

    第三十三帧是服务器端将2.txt.txt以ASCII码的方式传送到客户端
    这里写图片描述

    第三十四帧表示服务器端发完了,要断开数据连接

    这里写图片描述
    第三十五帧客户端向服务器端确认
    第三十六帧返回控制连接,服务器端断开数据连接;
    第三十七帧分别是客户端向服务器端确认收到;
    第三十八帧是客户端断开数据连接。
    第三十九帧是服务器端对客户端断开连接的确认。(至此,数据连接再次断开)
    这里写图片描述

    由于忘记退出(EXIT)所以保存下来的包没有断开控制连接的包,但后面应该有4帧断开。
    FTP协议分析结束。

    展开全文
  • FTP协议解析之Wireshark报文分析

    千次阅读 2021-02-27 21:40:14
    FTP是客户端-服务器协议,客户端将请求文件,而本地或远程服务器将提供该文件。我们熟知的FTP客户端:WinSCP、WS FTP、FileZilla等都是使用文件传输协议,它是一种标准的Internet 协议。用于通过TCP / IP 连接在...

    FTP是客户端-服务器协议,客户端将请求文件,而本地或远程服务器将提供该文件。我们熟知的FTP客户端:WinSCP、WS FTP、FileZilla等都是使用文件传输协议,它是一种标准的Internet 协议。用于通过TCP / IP 连接在Internet上的计算机之间传输文件 。

    文件传输协议如何工作?

    FTP是客户端-服务器协议,它依赖于客户端和服务器之间的两个通信通道。一个用于控制对话的命令通道和一个用于传输文件内容的数据通道。客户端通过请求下载文件来启动与服务器的对话。

    客户端可以使用FTP上传、下载、删除、重命名、移动和复制服务器上的文件。用户通常需要登录FTP服务器,而某些服务器无需输入ID或密码即可使部分或全部内容可用。我们称为匿名FTP。

    在这里插入图片描述FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流。并且是命令通向ftp服务器的进口。

    • 控制连接(TCP 21端口)主要用于实现FTP协议控制信令传送,服务器端打开TCP 21端口被动等待客户端发起连接命令。一旦建立连接,数据就会通过这些客户端和服务器端口进行传输。
    • 数据连接(TCP 20端口)主要用于实现应用数据传送,服务器的数据连接端使用端口20。一旦建立连接,数据就会通过这些客户端和服务器端口进行传输。

    FTP是否安全?

    FTP不是一项安全的协议,并且具有许多安全漏洞,这跟历史定义有关,FTP最初是在1971年定义的,之前没有定义TCP和IP。而且,FTP不会对流量进行加密,个人可以通过(Wireshark)捕获数据包以读取用户名,密码和其他数据。

    还有可能容易受到暴力攻击,数据包捕获,欺骗,FTP反弹和其他攻击。

    常见的FTP命令和应答

    • SYST命令

    在这里插入图片描述
    Response:服务器返回系统类型。

    • LIST命令

    在这里插入图片描述
    .客户端开始发送LIST命令查询文件列表信息,服务器回复了相应文件信息,并开始准备从数据连接发送文件。

    • RETR命令

    在这里插入图片描述

    RETR请求要求服务器通过客户端已经建立的数据连接发送文件的内容。

    • TYPE命令

    在这里插入图片描述

    TYPE说明文件类型:A表示ASCLL,I表示图像。

    FTP支持两种方式的传输:文本(ASCII)方式和二进制(Binary)方式。通常文本文件的传输采用ASCII方式,而图象、声音文件、加密和压缩文件等非文本文件采用二进制方式传输。

    • USER和PASS命令

    TCP三次握手建立成功后,服务器也知道了客户端需要请求FTP服务,于是要求客户端提供相应的用户名。
    在这里插入图片描述
    客户端收到服务器的验证需求后,立即发送用户名 user = ftp_test

    在这里插入图片描述

    服务器收到后,确认用户名OK,此时需要客户端提供password=12345

    • QUIT命令

    在这里插入图片描述

    由客户端发起端开请求命令 QUIT,服务器收到请求后同意断开 向客户端发送goodbye。表示从服务器上注销。

    • PORT命令

    在这里插入图片描述

    PORT请求要求服务器使用不同的机制来创建数据连接:服务器与客户端建立TCP连接。

    在这里插入图片描述

    PORT请求具有以下形式的参数:

    h1,h2,h3,h4,p1,p2

    这意味着客户端正 在侦听IP地址h1上TCP端口p1 * 256 + p2上的 连接 。h2。h3。h4。(RFC 959形式语法不允许这些数字中的任何一个都为0。形式语法是错误的。)

    服务器通常接受代码为200的PORT。如果服务器正在侦听连接,它将停止并丢弃所有已建立的连接。

    服务器不会立即连接到客户端的端口。客户端发送RETR并在服务器发送其初始标记后,服务器将尝试连接。如果连接尝试失败,它将拒绝代码为425的RETR请求。否则,它将正常进行。

    出于安全原因,客户端永远不要使用PORT。但是,某些客户端仍然依赖PORT,如果拒绝PORT,则将放弃文件传输。我当前的建议是服务器继续支持PORT。

    FTP协议解析

    int main(int argc, char* argv[])
    {
        char errbuf[1024];
        pcap_t *desc = 0;
    
        char *filename = argv[1];
        if (argc != 2)
        {
            printf("usage: ./dissect_ftp [pcap file]\n");
            return -1;
        }
    
        return 0;
    }
    
    
    

    编译运行:

    在这里插入图片描述

    在这里插入图片描述

    总结

    使用FTP有以下优点:

    • 它允许您传输多个文件和文件夹。
    • 当连接断开时,它具有恢复传输的能力。
    • 对要传输的文件大小没有限制。浏览器大概允许最大2 GB的传输。
    • 许多FTP客户端(例如FileZilla)都可以进行传输。
    • 数据传输比HTTP快。

    使用FTP有以下缺点:

    • FTP不会对流量进行加密
    • 容易受到数据包捕获和其他攻击的攻击

    参考

    • 《TCP/IP协议详解》
    • http://cr.yp.to/ftp/retr.html

    欢迎关注微信公众号【程序猿编码】,需要完整FTP源码和报文的添加本人微信号(17865354792)

    展开全文
  • FTP协议抓包分析

    万次阅读 多人点赞 2018-06-17 13:06:53
    1-3号包是tcp三次握手,建立连接,可见ftp是基于tcp的 4号包,服务器向客户端发送自己的相关信息,后面的状态码220表示服务准备就绪 5号包应该是编码相关内容,具体不知 6-13号包,登录,8号包发送输入的用户名...

    1-3号包是tcp三次握手,建立连接,可见ftp是基于tcp的

    4号包,服务器向客户端发送自己的相关信息,后面的状态码220表示服务准备就绪

    5号包应该是编码相关内容,具体不知
    6-13号包,登录,8号包发送输入的用户名:ftp,11号包向服务端发送输入的密码:111111(明文传输->不安全),12号包提示,登录成功(状态码230表示登录成功)
    14-16号包,期间去百度ftp相关知识,没有操作,可以看到大约两分钟后(13-14时间差),服务器提示超时,主动关闭了连接(状态码421表示服务关闭)
    17-18号包,因为当时不知道ftp服务器会超时关闭连接,继续操作时提示连接已经关闭,看了数据包才知道(14-16),服务器已经关闭了连接,17-18是我刚才尝试继续操作的时候,被服务器拒绝(客户端没有自动提示连接超时关闭,当超时后再操作才提示连接已关闭,具体提示内容没有截图)


    FTP响应码 响应代码 解释说明 
    110 新文件指示器上的重启标记              120 服务器准备就绪的时间(分钟数)          125 打开数据连接,开始传输 
    150 打开连接                                         200 成功 202 命令没有执行                                   211 系统状态回复
     212 目录状态回复                                            213 文件状态回复                                                    214 帮助信息回复 
    215 系统类型回复                                             220 服务就绪                                                             221 退出网络 
    225 打开数据连接                                             226 结束数据连接                                                    227 进入被动模式(IP 地址、ID 端口) 
    230 登录因特网                                                  250 文件行为完成                                                   257 路径名建立 
    331 要求密码                                         332 要求帐号                                               350 文件行为暂停 
    421 服务关闭                                         425 无法打开数据连接                                           426 结束连接
     450 文件不可用                                                451 遇到本地错误                                        452 磁盘空间不足
     500 无效命令                                        501 错误参数                                               502 命令没有执行
     503 错误指令序列                                            504 无效命令参数                                                   530 未登录网络 
    532 存储文件需要帐号                                    550 文件不可用                                                        551 不知道的页类型 
    552 超过存储分配                                             553 文件名不允许

    ftp协议分析2 (本次操作是登录后下载了IcY.asp文件,执行命令get IcY.ASP,顺便测试一下windows是不区分大小写的)

    1-13号包是登录过程,上面已经解释过了
    下面主要解释ftp文件下载过程:get IcY.ASP(服务器上文件名是IcY.asp)
    14号包:我想从Ip = 169.254.69.245(就是客户端自己的地址) 端口:59*256+77=15181连接你的数据端口(256是约定好的常数) 使用PORT 主动模式(对服务器来说 :意思就是让服务器主动来连接客户端,从下面分析可以看到)
    15号包,服务器同意
    16号包:我想下载IcY.ASP文件(服务器上该文件的命名是IcY.asp)
    17号包:给你传了(这里过滤包时不要直接追踪1-17号包的TCP流,因为ftp的控制连接和数据连接是两个不同的TCP连接,如果直接追踪,看不到数据连接,也就是看不到数据传输的过程)

    18-20号包:TCP连接三次握手,可以看到ftp为数据传输又开辟了一个TCP连接(数据连接),服务器端口是20,常说的ftp21端口是ftp的控制连接(1-17号包)

    21-161是传输IcY.asp文件的过程
    可见,服务器每发两个包,客户端ack一次
    162-165:数据连接关闭,文件传输完成(注意只是关闭了数据连接)
    166-168:服务器通过控制连接告诉客户端,我传完了
    169-170:此时我输入了quit命令,退出ftp客户端
    171-174:四次挥手,断开控制 连接,至此,ftp连接完全关闭(控制连接+数据连接)


    文件下载后的名是IcY.ASP (是按照我请求的文件名,而不是服务器中的文件名IcY.asp)


    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
    PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
    PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。




    ftp服务器搭建:
    具体百度,补充,在ftp的目录下放上文件后直接客户端get 下载提示access denied (状态码好像是5**,忘了)
    解决方法,在服务器中把文件的权限配置:右击文件属性-安全-添加用户everyone-完全控制


    ftp客户端:
    cmd命令行下
    输入 ftp 服务器IP
    输入用户名和密码即可


    参考:《Wireshark网络分析就这么简单》 林沛满著 

     

    展开全文
  • Ftp协议分析实验报告

    2013-04-17 13:20:25
    计算机网络实验课第一次实验报告,Ftp协议分析实验报告
  • ftp协议详解

    千次阅读 2019-03-02 11:13:20
    一、Windows下搭建FTP服务器,抓取FTP数据包 1、 2、 3、 4、 5、IP地址填写自己本机的IP地址 6、勾选了匿名就不用输入密码了 7、 8、抓包 二、linux下FTP抓包 先检查有没有安装FTP 没有...
  • FTP协议安全分析

    2021-04-11 00:04:53
    文章目录前 言第一章 FTP协议一、协议简介二、数据表示(一)文件类型(二)格式控制(三)结构(四)传输方式三、FTP命令四、FTP应答五、连接管理第二章 安全隐患一、FTP服务器软件漏洞二、明文口令三、FTP旗标四、...
  • 1.对截取浏览网页时和即时通讯时的数据报文,进行分析,陈述两个不同高层应用的传输层协议的不同,应特别说明端口问题,并把截图写入报告。 2.在TCP建立和断开连接时截获数据报文,用截图说明三次握手和四次握手的...
  • IP协议报文详解

    千次阅读 2019-07-23 12:47:12
    IP协议字段解析
  • 计算机网路 原创实验报告 观察 TCP 报文段并监听分析 FTP 协议,计算机网络实验课作业
  • wireshark过滤表达式&wireshark捕获ftp协议分析

    万次阅读 多人点赞 2017-10-15 20:40:59
    记录学习Wireshark的一些问题,主要是: 1.过滤表达式 2.本机搭建ftp站点 3.利用wireshark捕获ftp协议交互过程并对此进行分析
  • FTP协议的工作流程

    2021-05-23 08:33:57
    用户通过一个支持 FTP 协议的客户机程序,连接在远程主机上的 FTP 服务器程序。通过在客户端向服务器端发送 FTP 命令,服务器执行该命令,并将执行结果返回给客户端。由于“控制连接”的因素,客户端发送的 FTP 命令...
  • Wireshark之FTP协议分析(一)

    千次阅读 2018-11-15 22:05:17
    故对ftp协议进行了简单学习,总结如下。 1. ftp协议概述 这部分内容我参考的百度文库的一篇文档: https://wenku.baidu.com/view/fef7d6d658fb770bf68a55ae.html 里面讲的很详细。在此对重点的部分进行总结一下...
  • sniffer报文分析

    2010-08-07 18:00:32
    分析IP数据报,sniffer的使用方法,协议分析。网络瓶颈的发现。
  • Wireshark之FTP协议分析(二)

    千次阅读 2018-11-15 23:19:42
    以实际抓包来分析ftp协议,加深理解。 环境: win7电脑+linux设备,linux设备为ftp服务端,win7电脑通过WinSCP的ftp主动方式(我得版本winscp默认是被动方式,需要从高级选项修改)来连接ftp服务端。 过程: ...
  • FTP底层通过TCP实现。 FTP采用两个TCP连接,一个作为命令通道(端口号一般是21,用于登陆,删除文件,改变目录操作),一个作为数据通道(用于目录列出,上传下载文件)。 以下实验,通过FileZilla Server和TCP...
  • . 工程类实验报告 系 网络工程 专业 网络工程 年级 2009 姓名 学号 实验课程 网络协议分析 实验室号 _田 C510_ 实验设备号 ...FTP 客户端命令的使用分析 FTP 报文格式和 FTP 协议的工作过程 二实验原理 FTP 是文件传
  • 在做计组FTP试验时,有部分知识点掌握的不是很好,把上网收集到的资料整合一下,加强记忆。
  • 实验二 HTTPFTP协议分析 1. 本次实验包括HTTP FTP两个协议的分析详见一二 2. 参考文档所述步骤完成数据包的捕获并进行分析 3. 认真撰写实验报告叙述实验过程要层次分明对关键的过程或结果截图说 明分析回答实验文档...
  • FTP(ENSP)协议分析实验

    千次阅读 2020-05-01 07:44:54
    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而...
  • Word格式 实验二 HTTP FTP协议分析 1. 本次实验包括HTTP FTP两个协议的分析详见一二 2. 参考文档所述步骤完成数据包的捕获并进分析 3. 认真撰写实验报告叙述实验过程要层次分明对关键的过程或结果截图说 明分析回答...
  • java实现FTP协议:wireshark抓包解析

    千次阅读 2020-02-20 17:22:57
    本节我们看看ftp协议的数据包格式,同时使用代码加以实现。首先我们现在机器上安装ftp服务器,我在自己的机器上安装了QuickFTP Server,它是我随便找来的一款Mac ftp服务器,如下图所示,我将连接端口设置为2100,...
  • 1.分析FTP协议 2.分析DNS协议 3. 分析HTTP协议 二.分析要求 (1)ftp部分: 学习 Serv-U FTP Server 服务软件的基本配置和FTP 客户端命令的使用 设计应用以获取ftp报文 分析ftp报文的格式与...
  • ICMP(Internet Control Message Protocol)网际报文控制协议,是Internet协议族的核心协议之一,它主要用在网络计算机的操作系统中发送出错信息。例如:请求服务不可用,主机不可达。ICMP协议是一种面向无连接的...
  • 本文记录如何用Cisco Packet Tracer抓取丰富多样的应用层协议报文,包括HTTP、HTTPS、DNS、DHCP、FTP、SMTP、POP3。1. 准备工作本文旨在记录如何用Cisco Packet Tracer抓取丰富多样的应用层协议报文。其他层的报文,...
  • IP协议报文头部解析

    千次阅读 2020-04-18 22:11:55
    IP协议是TCP/IP协议族中最为核心的协议。它提供不可靠、无连接的服务,也即依赖其他层的协议进行差错控制。在局域网环境,IP协议往往被封装在以太网帧中传送。而所有的TCP、UDP、ICMP、IGMP数据都被封装在IP数据报中...
  • 转载自网络今天刚刚申请了一个虚拟主机,上传数据成为问题,Google一下,呵呵哒,看到了flashfxp这个软件,这个叫什么鬼东西,原谅小客...wireshark 抓包分析协议 FTP协议的数据包分析与总结本文主要是针对在wiresh...
  • 实验三 FTP协议分析

    万次阅读 2009-08-29 00:04:00
    实验三 FTP协议分析 一、实验目的分析FTP报文格式和FTP协议工作过程。 二、实验内容试验主要分析FTP报文格式和FTP协议的工作过程。 三、实验环境和分组l 三层交换机2台,标准网线4根,console线4条,计算机4台;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,035
精华内容 8,414
关键字:

ftp协议报文分析