通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解。
二、实验内容
从 PC 使用 URL 捕获 Web 请求,运行模拟并捕获通信,研究捕获的通信。
2.1 从 PC 使用 URL 捕获 Web 请求。
2.2 从 PC 访问服务器的HTTPS服务,捕获数据包并分析。
2.3 从 PC 访问服务器的FTP服务,捕获数据包并分析。
三、实验步骤
Wireshark 可以捕获和显示通过网络接口进出其所在 PC 的所有网络通信。Packet Tracer 的模拟模式可以捕获流经整个网络的所有网络通信,但支持的协议数量有限。我们将使用一台 PC 直接连接到 Web 服务器网络,并捕获使用 URL 的网页请求。
1.从PC使用 URL 捕获 Web 请求
(1)运行模拟并捕获通信
①IP配置
1)新建拓扑图如下:
PC0:
首先在左下角的框中,选择终端设备End Devices;
然后在右边的框里,选择第一个,在下边会显示出PC-PT,然后拖到中间的空白处(或者直接点击一下2,然后直接在空白处再点击一下),就会得到下边的图。
服务器0:
首先在左下角的框中,选择终端设备End Devices;
然后在右边的框里,选择第三个,在下边会显示出Server-PT,然后拖到中间的空白处(或者直接点击一下2,然后直接在空白处再点击一下),就会得到下边的图。
2)PC的IP配置:
单击选中PC0:
选择桌面Desktop,然后选择IP配置:
对PC机进行IP配置,配置为静态IP192.168.0.1,并将DNS服务器IP地址配置为192.168.0.2。
3)服务器的IP配置:
单击选中服务器0:
选择桌面Desktop,然后选择IP配置:
对服务器0进行IP配置,将IP配置为192.168.0.2:
打开DNS服务,添加一个域名解析:
地址:192.168.0.2
服务器的HTTP服务是默认打开的。
4)连接主机与服务器
首先在左下角的框中,选择闪电标志[连接];
然后在右边的框里,选择第四个,在下边会显示出“交叉线”。
单击一下“交叉线”,然后单击一下PC0,出现下图,选中FastEthernet0,再把线拖到服务器0上,同样选择FastEthemet。拖拽前后如图所示:
②进行请求
PC机的DNS服务器设置为了192.168.0.2,当PC机对设置了域名解析的www.myserver.com进行访问时,首先会发送DNS请求报文给该服务器,由该服务器进行DNS解析并返回IP地址192.168.0.2,然后PC机再向服务器发起HTTP请求。
1)切换到模拟模式
选择“播放设置”中的“自动捕获/播放”:
2)PC发出请求
单击主机,进入web浏览器:
输入url,即http://www.myserver.com,点击“跳转”:
在事件窗口可以看到两个数据包,单击 “自动捕获/播放”。在拓扑图中可以动态看到web请求的模拟过程:
(2)数据包分析(事件列表)
说明:一开始创建的PC0,服务器0进行第一次仿真时正确,但多次仿真后的事件列表中没有找到PC0的ARP。遂又创建了PC1,服务器1进行首次仿真如下:
- DNS 请求:将 URL 解析为服务器 IP 地址;
- ARP 请求:将服务器 IP 地址解析为其硬件 MAC 地址;
- 查看PDU信息:点击一个DNS数据包的右边正方形,:
打开 PDU Information(PDU 信息)窗口时,默认显示 OSI Model(OSI 模型)视图。
此时单击 Outbound PDU Details(出站 PDU 详细数据)选项卡。向下滚动到此窗口的底部,您将会看到 DNS 查询在 UDP 数据段中封装成数据,并且封装于IP 数据包中。DNS QUERY可以看到请求的URL。
DNS 查询(第 7 层)封装在第 4 层的 UDP 数据段中。如果单击这些层,将会显示设备(本例中为 PC)使用的算法。
从上图中可以得知,DNS是建立在UDP的基础上的,与书上描述的一致。并且DST IP是之前自己设置的静态服务器1的IP地址。
- 没有上一个设备的数据包:
在设备端产生但未发送到的。其中HTTP请求是非持续连接,只发送了一个文件。
2.从PC访问服务器的HTTPS服务,捕获数据包并分析。
Packet Tracer支持HTTP协议和HTTPS协议,并且支持不同格式的图像。以下分别使用HTTP协议和HTTPS协议访问一个Web页面。捕获数据包并进行分析。
(1)打开HTTPS.pkt
(2)PC0的Web浏览器访问http://10.1.1.3
(3)查看事件列表
- 第一个HTTP请求
- 再打开一个HTTP请求:可以看到请求的对象是一个gif,jpg图片。
- 查看相应报文
(4)PC0的Web浏览器访问http://10.1.1.3
- 第一个HTTP请求: 相应报文:
可以看到HTTPS的内容是不可看的。原因是HTTPS有如下特点:
1.内容加密:采用混合加密技术,中间者无法直接查看明文内容
2.验证身份:通过证书认证客户端访问的是自己的服务器
3.保护数据完整性:防止传输的内容被中间人冒充或者篡改。
总结:HTTP是超文本传输协议,信息通过明文传输,
HTTPS则是具有安全性的ssl加密传输协议。
因此总体来说,HTTPS更加安全。
3.从 PC 访问服务器的FTP服务,捕获数据包并分析。
(1)打开FTP.pkt
网络拓扑结构如下,包含两个PC主机,一个交换机,一个路由器,以及一个服务器。
其中服务器提供FTP服务,支持文件的命名,删除,读写等操作;
PC运行FTP客户端,访问服务器提供的FTP服务。
(2)Test FTP Write AND Remote Directory listing
- 打开PC0的命令提示符command prompt
- 连接FTP服务器
输入:ftp www.ftpserver.com
用户名Username:cisco,密码Password:cisco:
- 上传文件到服务器
输入:put sampleFile.txt上传文件sampleFile.txt到服务器;
输入:dir,验证上传成功
(3)Test FTP Read and Directory listing AND QUIT
输入:get sampleFile.txt
quit之后,使用dir查看是否get成功:
(4)Test FTP Rename
输入:rename sample.txt mytest.txt;
然后输入dir验证更改成功:
(5)Test FTP Delete
输入:delete mytest.txt;然后输入dir,验证删除成功
(6)分析FTP数据包
- Welcome:
输入“FTP www.ftpserver.com”之后,服务器会提示需要输入用户名,此时会返回一个欢迎用户的信息,如图,是四个连续的FTP,
路径为:Server0—>Router0—>Switch0—>PC0。
所以完整一次传输过程包含四个FTP。
查看里面的内容,发现四个FTP内容是一样的,均为这一条欢迎用户的信息:
- 输入Username:
命令提示符里面提示要输入用户名,输入“cisco”,又可以观察到连续的四个FTP,路径为PC0—>Switch0—>Router0—>Server0。
连接并登陆FTP服务器的整个过程如下:
- 首先PC0输入ftp www.ftpserver.com发起连接;
- 收到服务器回复后;PC0发出一个包含账号的FTP数据包
- 服务器收到后,发出一个账号已收到,需要密码的ftp包
- 收到后,PC0再发出包含密码的FTP数据包
- 服务器回复包含登陆成功的FTP数据包
四、实验总结
通过这次实验,我学习了通过PacktTracer工具对应用层和传输层协议进行分析,学会简单的使用该工具分析web请求、HTTP请求和FTP请求,对于http和https的区别也有了更加爱清楚的认识与了解。
另 外,PacktTracer工具的仿真模拟的动画演示、创建拓扑图、连线等操作也还挺有意思的。