![深入浅出计算机网络](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=1739073553-e8mcIWI0IDaf6kt0WPTYruuLTKJvynkB-0-bda833334e104e76f650ff82fd5a0375)
图1-26 添加角色和功能
在弹出的“添加角色和功能向导”对话框的“选择安装类型”界面中选择“基于角色或基于功能的安装”单选项,单击“下一步”按钮,如图1-27所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image369.png?sign=1739073553-jJdKg7W7G5rREOPxwR4FUQaEnsg2Cq6H-0-4a8dc6f7d76de9fc43f2da0b590e5578)
图1-27 选择安装类型
在弹出的“选择目标服务器”界面中选择服务器,单击“下一步”按钮,如图1-28所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image380.png?sign=1739073553-obo1gH9mZma14hZETiV6E8XH0xcrpEnP-0-b89a8d206ff8de051962c1c947037777)
图1-28 选择目标服务器
在弹出的“选择服务器角色”界面中,勾选“Web服务器(IIS)”复选框,弹出“添加角色和功能向导”对话框,如图1-29所示。单击“添加功能”按钮,然后单击“下一步”按钮。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image391.png?sign=1739073553-EqudmBouFxSJwOGWfVroxinnBSGGaAqV-0-e5392dea0a6167d7b3e9f13fc0184864)
图1-29 添加角色和功能向导
在弹出的“选择角色服务”界面中勾选“FTP服务器”和“FTP服务”复选框,单击“下一步”按钮,如图1-30所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image402.png?sign=1739073553-ZrMjXEYJ0xQ9Itw1jShlXofAbts4WIRf-0-710094c0c63c72a48c75c84f92a67a98)
图1-30 选择角色服务
打开管理工具中的“Internet Information Services(IIS)管理器”窗口,如图1-31所示,右键单击“网站”并单击“添加FTP站点”选项。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image413.png?sign=1739073553-uoaEiBJX1hXI5Ahw2UpP2f29JpfrpAZP-0-ab11882801c18c41a20f5181cb069315)
图1-31 添加FTP站点
在弹出的“添加FTP站点”对话框的“站点信息”界面中输入FTP站点名称并选择物理路径,单击“下一步”按钮,如图1-32所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image424.png?sign=1739073553-mI29ZnisDDHRDq5liZi3e2HQkJgrsn6H-0-8a8b325033145f731b54b36f75deb136)
图1-32 输入FTP站点名称并选择物理路径
在弹出的“绑定和SSL设置”界面中指定FTP服务使用的IP地址和端口,其他的选项参照图中所示进行设置,单击“下一步”按钮,如图1-33所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image435.png?sign=1739073553-ahOc8r7WNxuqUfPjC9DS1268PsfP6XV5-0-5b16099ec8cd5f070788560b933ca1cb)
图1-33 指定IP地址和端口
在弹出的“身份验证和授权信息”界面中勾选“匿名”和“基本”复选框,允许所有用户有读写权限,单击“下一步”按钮,完成FTP站点的创建,如图1-34所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image446.png?sign=1739073553-kVHay5YbBF0tqe5mdtgn35oF7DdXRt3N-0-f36c87e997a6f2779b7cba3bac22de73)
图1-34 指定身份验证和访问权限
FTP被动模式需要FTP服务器打开很多端口,还需要关闭FTP服务器的防火墙。打开“运行”对话框,输入“wf.msc”。可以看到公用配置文件是活动的,如图1-35所示,单击“Windows防火墙属性”选项。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image457.png?sign=1739073553-wAIyTxocS1x5wYsEnYIhHyqfOKhyjq32-0-f3fd233fc49a4ff8dd21256b41b73e6d)
图1-35 Windows 防火墙属性
在弹出的“高级安全Windows防火墙-本地计算机 属性”对话框中单击“公用配置文件”选项卡,将防火墙状态改为“关闭”,单击“确定”按钮,如图1-36所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image468.png?sign=1739073553-4yCj2ulolURXjRDgIYo4AZLFu0db7OaY-0-17f598ac86d005d942b800f4c6e0d6e2)
图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=1739073553-rHI08b4QnDFg0qSgDfUZ6keRMvjt5uer-0-bc6337f6a4e0130b9b622f902f11ce4b)
图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=1739073553-cWx3Fn5uVynsBBombPT5Cgv2DMnzrbMj-0-08acb1e1ce2afe0516d13c0ec20b97b4)
图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=1739073553-wkVp5TIHBmM07ZtOI8zvJD6MT9xTwzpi-0-3282512276c9aef28e8575b0eaa5b87f)
图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=1739073553-HaycFayTecYmSJEFrtEBKO5mmouieKJO-0-75c83feabb680277957f93ba7e470f1c)
图1-40 管理FTP请求筛选
在出现的“FTP请求筛选”界面中单击“命令”选项卡,单击“拒绝命令”按钮,在弹出的“拒绝命令”对话框中输入“DELE”,单击“确定”按钮,如图1-41所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image523.png?sign=1739073553-15U7KVx3c3Hl8jJjP32u0rx3EiWsOpot-0-163dffb210bc9bca18c9681647d547d7)
图1-41 禁用DELE方法
在Windows 7操作系统中再次删除FTP服务器上的文件,就会出现提示信息“500 Command not allowed.”,即命令不被允许,如图1-42所示。
![](https://epubservercos.yuewen.com/608F44/21234483308430506/epubprivate/OEBPS/Images/image534.png?sign=1739073553-dP6fWEfHtCTAlg0LZk2J16wneUp29CPn-0-43bd5b3f201f5098aa087262312d16c5)
图1-42 命令不被允许