![深入浅出计算机网络](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=1739555172-gjGy10vboNeLN7skiHp0F2QG6JSXeGsR-0-906e530b36d4b76a25e0a204cef2819f)
图1-26 添加角色和功能
在弹出的“添加角色和功能向导”对话框的“选择安装类型”界面中选择“基于角色或基于功能的安装”单选项,单击“下一步”按钮,如图1-27所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image369.png?sign=1739555172-61lOP4E6JQuRbG5UjRWBW41m66xecgMT-0-2e450a49643042fe51c812a5e8858a87)
图1-27 选择安装类型
在弹出的“选择目标服务器”界面中选择服务器,单击“下一步”按钮,如图1-28所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image380.png?sign=1739555172-Z63s0STbj1QTCEmtSsrH6jOGJC72UsjZ-0-c7bee3311aa71030e25096a28301c37c)
图1-28 选择目标服务器
在弹出的“选择服务器角色”界面中,勾选“Web服务器(IIS)”复选框,弹出“添加角色和功能向导”对话框,如图1-29所示。单击“添加功能”按钮,然后单击“下一步”按钮。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image391.png?sign=1739555172-XgW6MwmkqP6wOL4QDtLaTGUPVzqYk5CX-0-42df33c3e2e482828b448bc3321bb71b)
图1-29 添加角色和功能向导
在弹出的“选择角色服务”界面中勾选“FTP服务器”和“FTP服务”复选框,单击“下一步”按钮,如图1-30所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image402.png?sign=1739555172-wjwlBEJkfUrzSPeKBreCgBNc9llolG8Z-0-54fb1dd55f58d5bcb77e4c56e9bc292b)
图1-30 选择角色服务
打开管理工具中的“Internet Information Services(IIS)管理器”窗口,如图1-31所示,右键单击“网站”并单击“添加FTP站点”选项。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image413.png?sign=1739555172-3zKu5pSNcLBvlbEbdEFnSkvrRLEzd9Ca-0-f1cc2d57b2ac42983ae5acdd1d8150c9)
图1-31 添加FTP站点
在弹出的“添加FTP站点”对话框的“站点信息”界面中输入FTP站点名称并选择物理路径,单击“下一步”按钮,如图1-32所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image424.png?sign=1739555172-gx1bJRLS0RnUGEQ4vH6BkbYEFM3TxETi-0-b0b5edea6b46104525012d3caea8c62f)
图1-32 输入FTP站点名称并选择物理路径
在弹出的“绑定和SSL设置”界面中指定FTP服务使用的IP地址和端口,其他的选项参照图中所示进行设置,单击“下一步”按钮,如图1-33所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image435.png?sign=1739555172-iAQOy6w66cecC7cVDIlxfl0fh1FcLGDC-0-88683ef779d7d634da6ddb2aaa30e3c2)
图1-33 指定IP地址和端口
在弹出的“身份验证和授权信息”界面中勾选“匿名”和“基本”复选框,允许所有用户有读写权限,单击“下一步”按钮,完成FTP站点的创建,如图1-34所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image446.png?sign=1739555172-dg27yoS4KiqhJDZpvrj1Z1vZeV4Y3RcK-0-d54302eb657c3ea9ee1e106c5bc20a1b)
图1-34 指定身份验证和访问权限
FTP被动模式需要FTP服务器打开很多端口,还需要关闭FTP服务器的防火墙。打开“运行”对话框,输入“wf.msc”。可以看到公用配置文件是活动的,如图1-35所示,单击“Windows防火墙属性”选项。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image457.png?sign=1739555172-L7hAzGnazgfyjyd5vTXmgCz4ezaEe04O-0-5157771e94a8ad3a3f1a445bf78be4c8)
图1-35 Windows 防火墙属性
在弹出的“高级安全Windows防火墙-本地计算机 属性”对话框中单击“公用配置文件”选项卡,将防火墙状态改为“关闭”,单击“确定”按钮,如图1-36所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image468.png?sign=1739555172-2OLecvcJ6APUcoAlfZIIwb6j2gTHf63R-0-edacfa119f57a95bb19846589e390ef8)
图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=1739555172-Fi1GsTCw3Sz4Nw3ID0lgbMmt1JE3Y0Hm-0-c906f2be6f23fb36065fcf07ef721e58)
图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=1739555172-lZ4vrsk1GNzqOUrzmLx7k0ApOyZGzpHU-0-2de1694e750e1a0ffc540d23e0c7df6b)
图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=1739555172-7CR8Dgl8BNhuqEyjQKfwsm0zbByh7bPQ-0-ad99f2ad9ebb5c4f01101352ef4bdb06)
图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=1739555172-dLOUVdGnYvs2ajAG2RewnIOzBQCKO4z3-0-9222b24f1cb7c3a9ee6ba1262d0958e4)
图1-40 管理FTP请求筛选
在出现的“FTP请求筛选”界面中单击“命令”选项卡,单击“拒绝命令”按钮,在弹出的“拒绝命令”对话框中输入“DELE”,单击“确定”按钮,如图1-41所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image523.png?sign=1739555172-8a3iUFPANntVafuLBoGjNvkJ9QYYO6mM-0-55a09c17f563f063bd7fcdbc689e6e0f)
图1-41 禁用DELE方法
在Windows 7操作系统中再次删除FTP服务器上的文件,就会出现提示信息“500 Command not allowed.”,即命令不被允许,如图1-42所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image534.png?sign=1739555172-bwCyT1U52rWEhe6de7XZBtDNQsoCkUWG-0-32a7c071a62beb6e1dbec307f90bae26)
图1-42 命令不被允许