Wireshark之FTP协议分析(二)

以实际抓包来分析ftp协议,加深理解。

环境:

win7电脑+linux设备,linux设备为ftp服务端,win7电脑通过WinSCP的ftp主动方式(我得版本winscp默认是被动方式,需要从高级选项修改)来连接ftp服务端。

过程:

电脑(192.168.3.206)与设备建立ftp(192.168.3.100)连接,然后电脑向设备传输一个2084字节的文件。然后电脑主动关闭连接。

设备上进行抓包,只抓取tcp port 20和21的报文。

实际抓包报文如下(一个一个包来分析):

第1-3包为tcp的三次握手,服务端端口21,即ftp控制连接建立;

第4包为服务端应答客户端报文,220:服务就绪,附加参数为服务端ftp版本号;

第5包客户端发送请求认证用户名,命令USER,参数实际用户名;

第6包为服务端tcp ack回应包;

第7包为服务端对客户端USER命令的应答,331:要求密码;

第8包客户端像服务端传送密码,命令PASS,后跟明文密码;

第9包为服务端tcp ack回应包;

第10包为服务端对客户端PASS命令的应答,230:登录成功;

第11包为客户端像服务端请求系统版本,命令SYST;

第12包为服务端tcp ack回应包;

第13包为服务端对客户端SYST命令的应答,215:系统名;

第14包为客户端向服务端请求服务端采用的特性列表,命令FEAT;

第15包为服务端对客户端命令FEAT的应答,211:系统状态回复;

第16-24包为服务端应答回复;

第25、26包为客户端tcp ack包;

第27-38包为客户端指定UTF8格式、获取服务器目录并切换命令及服务端的应答,不再赘述;

第39包为客户端向服务端请求LIST命令;

第40-42为服务端与客户端的数据连接建立(注意:是服务端发起的连接请求),服务端端口为20,连接的客户端端口为192*256+13(根据第37包客户端PORT给服务端的端口,计算公式为256*倒数第二位+倒数第一位)

第43-44包为服务端开始向客户端发送文件列表,注意只有实际列表传送走的数据连接,即第44包,第43包还是控制连接;

第45-47包为tcp 四次挥手包(剩余两个挥手包为第49、50包),从这可以看出文件列表传送完毕,数据连接立马关闭;

第52-68包又是一次客户端获取服务端列表的通信过程,可以看到又经历了一次建立数据连接并关闭的过程,不在赘述;

第68-89包为客户端向服务端传送文件的过程,先是确定为二进制模式,传输文件为sysctl.conf文件,然后建立数据连接进行传输,实际传送数据大小为2084字节,然后关闭数据连接;

第86包服务端应答传输完成;

第88包客户端向服务端传入文件的修改时间,这里不清楚为啥是20171115,明明是2018年;

第89包服务端应答客户端文件时间已修改;

第90-106包又是一次文件列表的获取过程,不再赘述;

第107-109为客户端主动断开与服务端的ftp连接的四次挥手包(闹么为啥只抓到三个包。。。);

四次挥手注意的是,因为数据连接采用的是服务端主动连接的,而控制连接为客户端主动连接的,屡一下,ftp客户端与服务端是针对控制连接而言的。数据连接主动模式下,实际是服务端充当客户端,不讲了有点乱,睡觉~~~

 

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Wireshark是一款网络协议分析工具,可以用来捕获网络数据包并进行分析。当我们需要分析FTP协议时,可以使用Wireshark来捕获FTP数据包,然后对数据包进行分析。 在Wireshark中,我们可以通过设置过滤器来捕获FTP数据包。设置过滤器的方法是在过滤器栏中输入“ftp”,然后点击“Apply”按钮即可。这样,Wireshark就会开始捕获FTP数据包。 捕获到FTP数据包后,我们可以对数据包进行分析。在Wireshark中,我们可以查看FTP数据包的各个字段,如源地址、目的地址、源端口、目的端口、协议类型等。此外,我们还可以查看FTP数据包的详细信息,如FTP命令、FTP响应、FTP数据等。 通过对FTP数据包的分析,我们可以了解FTP协议的工作原理,找出FTP协议中的问题,并进行优化。因此,Wireshark是一款非常实用的网络协议分析工具,可以帮助我们更好地理解和优化网络协议。 ### 回答2: Wireshark是一款网络协议分析工具,可以用来捕获和分析网络数据包。FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的协议。在本文中,我们将介绍如何使用Wireshark捕获FTP流量并进行协议分析。 首先,启动Wireshark并选择要捕获流量的接口。通常,我们选择在本地计算机或路由器上进行捕获。然后,我们可以使用FTP客户端连接到远程FTP服务器,并开始传输数据。 在Wireshark的界面中,我们可以看到捕获到的数据包列表。通过使用FTP软件进行文件传输,我们应该能够看到许多FTP协议相关的数据包。这些数据包包含了FTP协议所需的各种信息,例如登录信息、文件传输请求、数据传输等。 在Wireshark的数据包详细信息中,我们可以看到FTP协议中的各个阶段。例如,在登录时,我们可以看到FTP客户端向服务器发送“USER”和“PASS”命令,以提供用户名和密码。然后,服务器返回一个“230 User logged in”响应,以确认用户已成功登录。 之后,我们可以在Wireshark中看到文件传输请求。这些请求包括文件名、文件路径以及传输模式等。通过查看WiresharkFTP数据包的详细信息,我们可以深入了解FTP协议以及它是如何工作的。 在分析FTP流量时,我们还应该注意一些安全问题。因为FTP协议是基于明文传输的,所以用户的登录信息以及传输的数据都可以在传输过程中被窃取。为了保护数据安全,我们可以使用SFTP(Secure File Transfer Protocol)等安全协议来代替FTP协议进行文件传输。 总之,使用Wireshark分析FTP协议是非常有用的。通过学习FTP协议的工作原理,我们可以更好地了解它的行为,并帮助我们更好地保护网络安全。 ### 回答3: Wireshark是一个很好用的网络协议分析工具。从Wireshark捕获到的FTP协议数据包可以让我们更加深入地了解FTP协议的工作原理。 FTP是File Transfer Protocol的简称,常用于在网络上进行文件传输。FTP协议使用TCP进行通信,它使用两个端口:一个用于控制连接(默认端口:21),另一个用于数据传输(默认端口:20)。下面就介绍如何使用Wireshark进行FTP协议分析。 首先打开Wireshark,进入Capture界面,在界面中选择要捕获的网络接口。然后点击“Start”按钮开始捕获数据包。 然后我们可以通过Wireshark的过滤功能来筛选出FTP协议的数据包。在“Filter”框中输入“ftp”,然后点击“Apply”按钮。这样Wireshark就会过滤出所有FTP协议的数据包,我们可以更清楚地看到FTP协议的细节。 在FTP协议的工作过程中,有两种基本的传输模式:ASCII模式和进制模式。在ASCII模式下,数据会被解释成文本形式,而在进制模式下,数据会以原始的进制形式进行传输。我们可以根据数据包的信息来判断FTP协议所使用的传输模式。 另外,FTP协议还包括一些命令和响应,例如“USER”命令用于用户身份验证,而“STOR”命令用于上传文件。我们可以通过Wireshark获取FTP协议的命令和响应信息。 需要注意的是,FTP协议包含了很多敏感信息,例如用户名和密码等,因此在进行FTP协议分析时,应该避免使用公共网络接口。 总之,Wireshark是一个非常强大的网络协议分析工具,可以帮助我们更加深入地了解FTP协议的工作原理。通过Wireshark分析FTP协议,我们可以获得更多有关FTP协议的信息,例如传输模式、命令和响应等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值