![深入浅出计算机网络](https://wfqqreader-1252317822.image.myqcloud.com/cover/26/40870026/b_40870026.jpg)
1.4.3 抓包分析FTP的工作过程
在虚拟机中安装Windows Server 2012 R2网络操作系统的服务器,安装FTP服务,在客户端通过抓包工具分析FTP客户端访问FTP服务器的数据包,观察FTP客户端访问FTP服务器的交互过程,可以看到客户端向服务器发送的请求,服务器向客户端返回的响应。在FTP服务器上设置禁止FTP的某些方法来实现FTP服务器的安全访问,如禁止删除FTP服务器上的文件。
在Windows Server 2012 R2网络操作系统中安装FTP服务。
打开服务器管理器,单击“添加角色和功能”选项,如图1-26所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image359.png?sign=1739050198-v1LwJHP12TgGRYyfnLRY3SuVilyZ3nFY-0-ddf1d903dfd15b569cacb40604a5c299)
图1-26 添加角色和功能
在弹出的“添加角色和功能向导”对话框的“选择安装类型”界面中选择“基于角色或基于功能的安装”单选项,单击“下一步”按钮,如图1-27所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image369.png?sign=1739050198-Bb0Z36PbAFS98eJf728ni9UGfIvVBlgX-0-1c5770f1a913d97d30a7025f7ea0620d)
图1-27 选择安装类型
在弹出的“选择目标服务器”界面中选择服务器,单击“下一步”按钮,如图1-28所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image380.png?sign=1739050198-zSzoIPKdv74baPzUOFtHwNI2c8oCYkVt-0-e078511fa101ca1eca11263faf9c0b56)
图1-28 选择目标服务器
在弹出的“选择服务器角色”界面中,勾选“Web服务器(IIS)”复选框,弹出“添加角色和功能向导”对话框,如图1-29所示。单击“添加功能”按钮,然后单击“下一步”按钮。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image391.png?sign=1739050198-tsFaRwDADKUWX9MzuHXNXvBEfmAytCSZ-0-337d9fb891f3adc6ddcba3f819ed162b)
图1-29 添加角色和功能向导
在弹出的“选择角色服务”界面中勾选“FTP服务器”和“FTP服务”复选框,单击“下一步”按钮,如图1-30所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image402.png?sign=1739050198-m9PMWUoRj5USjmG89y8tEW09636Hbdv9-0-cc41830151d445ed1fecaf179b6cf2cf)
图1-30 选择角色服务
打开管理工具中的“Internet Information Services(IIS)管理器”窗口,如图1-31所示,右键单击“网站”并单击“添加FTP站点”选项。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image413.png?sign=1739050198-fBt6tNgtLCuQvhtMW6a7526QoxEqzVmi-0-bbe62c2e19b95383e5d9fa0ddeede77d)
图1-31 添加FTP站点
在弹出的“添加FTP站点”对话框的“站点信息”界面中输入FTP站点名称并选择物理路径,单击“下一步”按钮,如图1-32所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image424.png?sign=1739050198-57raY0WkOtHIdDR9zCcV7n8w050RphA7-0-7736d919f5c5e452ec82a2a8c926eb68)
图1-32 输入FTP站点名称并选择物理路径
在弹出的“绑定和SSL设置”界面中指定FTP服务使用的IP地址和端口,其他的选项参照图中所示进行设置,单击“下一步”按钮,如图1-33所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image435.png?sign=1739050198-khe4fHfXNG7gaBCECULaUchdKL0QIvqc-0-ac63cf5418a9c79086b32800652c49d4)
图1-33 指定IP地址和端口
在弹出的“身份验证和授权信息”界面中勾选“匿名”和“基本”复选框,允许所有用户有读写权限,单击“下一步”按钮,完成FTP站点的创建,如图1-34所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image446.png?sign=1739050198-Lu6EWBmrvUB5hiu8DJQixFbSVNzDzODj-0-812467f83c4ac4e9aa9cded0246c42be)
图1-34 指定身份验证和访问权限
FTP被动模式需要FTP服务器打开很多端口,还需要关闭FTP服务器的防火墙。打开“运行”对话框,输入“wf.msc”。可以看到公用配置文件是活动的,如图1-35所示,单击“Windows防火墙属性”选项。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image457.png?sign=1739050198-2OcMW36zBm6R25mXUljoYwe8azwJLHY4-0-583da026605af3e82c58bb0f17391c24)
图1-35 Windows 防火墙属性
在弹出的“高级安全Windows防火墙-本地计算机 属性”对话框中单击“公用配置文件”选项卡,将防火墙状态改为“关闭”,单击“确定”按钮,如图1-36所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image468.png?sign=1739050198-AvUf4XESG1APUBn9bcXpuTttOufMcjZZ-0-1a1c736019e6c5665b7e8a9c7a4797d2)
图1-36 关闭防火墙
在Windows 10操作系统中安装Wireshark抓包工具。开始抓包后,打开资源管理器,资源管理器相当于FTP客户端,访问Windows Server 2012 R2网络操作系统上的FTP服务器,如图1-37所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image479.png?sign=1739050198-vYlfCSSaTHcmR0B4foOCHNf9A1arpRYQ-0-096b2e5c39298d401757b12a28be947a)
图1-37 访问FTP服务器
上传一个test.txt文件,重命名为abc.txt,最后删除FTP服务器上的abc.txt文件,抓包工具捕获了FTP客户端发送的全部命令以及FTP服务器返回的全部响应。
右击其中的一个FTP数据包,单击“追踪流”→“TCP流”,如图1-38所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image490.png?sign=1739050198-bD6oO36MrwZc2UlmMNSzKvnWc3w0039d-0-2a21bf1a0959efbff5148192939eb2e3)
图1-38 追踪TCP流
出现图1-39所示的窗口,将FTP客户端访问FTP服务器所有的交互过程产生的数据整理到一起,可以看到FTP中的方法,STOR方法用于上传test.txt文件,CWD方法用于改变工作目录,RNFR方法用于重命名test.txt文件,DELE方法用于删除abc.txt文件。如果想看到FTP的其他方法,可以使用FTP客户端在FTP服务器上进行创建文件夹、删除文件夹、下载文件夹等操作,这些操作对应的方法使用抓包工具都能看到。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image501.png?sign=1739050198-lYkyrPGVi42zE3mDqSdeWTSHGgxdZlnq-0-dd2b5e13876ec32d5a584506c0859ed4)
图1-39 FTP客户端访问FTP服务器的交互过程
为了防止客户端进行某些特定操作,可以配置FTP服务器禁止FTP中的一些方法。例如,要禁止FTP客户端删除FTP服务器上的文件,可以配置FTP服务请求筛选,禁止DELE方法。单击“FTP请求筛选”选项,如图1-40所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image512.png?sign=1739050198-keM5A09DfWDWyfby9xMU5qrsYvw2TY6v-0-398a8bf911be7e82e66f6af5554d79dd)
图1-40 管理FTP请求筛选
在出现的“FTP请求筛选”界面中单击“命令”选项卡,单击“拒绝命令”按钮,在弹出的“拒绝命令”对话框中输入“DELE”,单击“确定”按钮,如图1-41所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image523.png?sign=1739050198-FImk1DBwPcyRbpFzddIqw8hAvXKDrv7H-0-f37bfc7d7be1cf98cd6c74efe55eef15)
图1-41 禁用DELE方法
在Windows 7操作系统中再次删除FTP服务器上的文件,就会出现提示信息“500 Command not allowed.”,即命令不被允许,如图1-42所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image534.png?sign=1739050198-oH9yFDXl1IXJZRI76RleiNqhgIpaBBEG-0-8bb56bb1f1646dcac611aac36cf0c0ad)
图1-42 命令不被允许