实训三 用WireShark分析IP、TCP、FTP包
一、实训目的
1.用 Wireshark 捕获和分析 FTP 通信数据。
2.了解主动模式与被动模式FTP的工作过程。
二、实训设备
1.接入Internet的计算机主机;
2.FTP server;
3.抓包工具WireShark。
三、实训内容
用 Wireshark 捕获和分析 FTP通信。
使用 Web 浏览器和命令行 FTP 工具从 FTP 服务器下载数据。
(一)捕获用命令行FTP客户端访问FTP服务器的数据包
1.启动 Wireshark,选择本地物理网络接口,开始捕获。
2.单击开始 > 运行,然后键入 CMD 并单击确定。
3.使用 Windows FTP 客户端实用程序启动主机计算机与 FTP 服务器的 FTP 会话,命令如下:ftp 10.21.9.107 。要进行身份验证,请使用 anonymous 为用户 ID。在响应口令提示时,按 4.FTP 客户端提示为 ftp>。这表示 FTP 客户端正在等待命令发送到 FTP 服务器。要查看 FTP 客户端命令的列表,请键入 help 5.进入某个目录,下载一个文件,然后退出。步骤如下: ftp> cd 目录名 ftp> get 文件名 文件名 ftp>quit 6.停止 Wireshark 捕获,并将捕获保存为 FTP_CMD_Client (二)捕获用浏览器访问FTP服务器的数据包 1. 再次开始 Wireshark 捕获。 2. 打开 Web 浏览器,然后键入ftp://10.21.9.107 3. 打开目录,双击一个文件并保存文件。 4. 完成后,关闭 Web 浏览器。 5. 停止 Wireshark 捕获,并将捕获保存为 FTP_Web_Browser_Client (三)分析捕获的数据包 1 . 打开 Wireshark 捕获 的FTP_CMD_Client (第一次握手) (第二次握手) (第三次握手) 客户端发出quit指令后服务器发出221,然后四次握手断开连接。 (第一次握手) (第二次握手) (第三次握手) (第四次握手) (第一次握手) (第二次握手) (第三次握手) 2. 打开 Wireshark 捕获 的FTP_Web_Browser_Client 答: web浏览器的ftp工具使用被动模式,命令行ftp工具使用主动模式 【思考题】 分析并了解主动式FTP和被动式FTP的差异,以及它们各自在实际情况中的应用。 主动模式PORT: 工作方式是:client选择一个非端口N(N>1024,小于1024的端口都是系统的保留端口)连接到FTP server的21端口。然后client就监听自己的数据端口N+1,并发送PORT命令“PORT N+1”到FTP server。接着FTP server会从自己的20数据端口主动连接到client的N+1数据端口。 被动模式PASV: 为了解决服务器发起到客户端的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。 在被动方式FTP中,命令连接和数据连接都由客户端发起,此时服务器是被动接受或拒绝的。工作方式是:client打开两个非端口N和N+1(N > 1024),其中N端口连接FTP server的21端口,但与主动模式PORT不同,client不会提交PORT命令并允许FTP server来回连它的数据端口,而是提交 PASV命令。这样做的结果是FTP server会开启一个的非端口M(M > 1024),并发送PORT M命令给client。然后client从本地数据端口N+1到server的数据端口M的连接用来传送数据。 主动模式的主要问题来自客户端。因为客户端并没有实际建立一个到服务器数据端口的连接,它只是告诉服务器自己监听的数据端口,服务器再回来连接客户端这个指定的数据端口,而这个数据端口很有可能被客户端的防火墙阻塞掉了,从而造成ftp无法正常传送数据。 被动模式的主要问题产生于服务器端。因为客户端要与服务器建立两个连接,其中的数据连接要连接到服务器的高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉了。 被动模式解决了客户端的许多问题,但却给服务器带来了很大的危险性,因为任何客户端都可以连接到服务器的高位端口。一般说来,如果考虑FTP服务器的安全性,还是使用主动模式PORT好些。如果FTP服务器需要支持最多的客户连接,那么必须支持被动模式PASV。这时为了提高FTP server的安全,减少攻击危险,可以通过为FTP server指定有限的端口范围来减小服务器高位端口的暴露。这样,不在这个范围的任何高位端口会被服务器的防火墙阻塞 分析FTP数据在传输时是否安全? ftp采用明文传输,不安全。 参考: 1. 关于FTP协议 FTP 的主要功能如下: 提供文件的共享(计算机程序 / 数据); 支持间接使用远程计算机; 使用户不因各类主机文件存储器系统的差异而受影响; 可靠且有效的传输数据。 FTP服务器可以直接被终端用户使用,也可以使用FTP客户端程序访问。 大多数 FTP 控制帧是简单的 ASCII 文本,可以分为 FTP 命令或 FTP 消息。 FTP命令可在FTP命令模式下用“?”或“help”进行学习,FTP消息是对 FTP 命令的响应,它由带有解释文本的应答代码构成。 从信息安全的角度来看,了解两种模式之间的差异非常重要,因为传输模式确定了数据端口的配置方式。 在主动传输模式中,客户端在公认的 TCP 端口 21 上启动与服务器的 FTP 会话。在数据传输时,服务器启动从公认 TCP 端口 20 到客户端的高位端口(1023 以上的端口号)的连接。 在被动传输模式中,客户端在公认的 TCP 端口 21 上启动与服务器的 FTP 会话,使用的连接与主动传输模式中相同。但在数据传输时,有两个重要变化:第一,客户端启动到服务器的数据连接;第二,连接的两端都使用高位端口。 IP报文格式 TCP报文格式
分析FTP会话建立的TCP连接包问题 解答 本机IP地址 10.21.9.71 FTP服务器IP地址 10.21.9.107 FTP会话的启动方 服务器 FTP数据连接的启动方 客户端 FTP控制连接的源和目的端口 21和15678 FTP数据连接的源和目的端口 2781和15679 FTP数据响应的220表示什么 ftp服务器响应220表示服务就绪
该连接何时释放?字段名称 报文段1 报文段2 报文段3 源端口 15678 21 15678 目的端口 21 15678 21 序号 0 0 1 确认号 No 1 1 SYN 1 1 0 ACK 0 1 1
分析FTP数据连接建立的TCP连接包字段名称 报文段1 报文段2 报文段3 报文段3 源端口 21 15678 15678 21 目的端口 15678 21 21 15678 序号 388 79 79 3 确认号 79 3 3 80 FIN 1 0 1 0 ACK 1 1 1 1
该连接何时释放?transfer complete ,传输结束时。字段名称 报文段1 报文段2 报文段3 源端口 2781 2781 15679 目的端口 15679 15679 2781 序号 1 8 1 确认号 1 1 9 SYN 0 0 0 ACK 1 1 1
问题: Web 浏览器和命令行 FTP 工具从 FTP 服务器下载数据分别使用什么传输模式FTP(主动or被动)?问题 解答 本机IP地址 10.21.9.71 FTP服务器IP地址 10.21.9.107 FTP会话的启动方 服务器 FTP数据连接的启动方 客户端 FTP控制连接的源和目的端口 21和1229 FTP数据连接的源和目的端口 1242和2468 FTP数据响应的220表示什么 表示服务器ftp服务就绪 FTP数据传输是明文传输的吗? 是