一.实验目的
通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解。
二.实验内容
研究应用层和传输层协议
从 PC 使用 URL 捕获 Web 请求,运行模拟并捕获通信,研究捕获的通信。
Wireshark 可以捕获和显示通过网络接口进出其所在 PC 的所有网络通信。Packet Tracer 的模拟模式可以捕获流经整个网络的所有网络通信,但支持的协议数量有限。我们将使用一台 PC 直接连接到 Web 服务器网络,并捕获使用 URL 的网页请求。
三.实验步骤
任务 1:从 PC 使用 URL 捕获 Web 请求。
步骤 1. 运行模拟并捕获通信。 进入 Simulation(模拟)模式。单击 PC。在 Desktop(桌面)上打开 Web Browser(Web 浏览器)。在浏览器中访问服务器的web服务(服务器的IP地址请自己设置)。单击 Go(转到)将会发出 Web 服务器请求。最小化 Web 客户端配置窗口。Event List(事件列表)中将会显示两个数据包:将 URL 解析为服务器 IP 地址所需的 DNS 请求,以及将服务器 IP 地址解析为其硬件 MAC 地址所需的 ARP 请求。
单击 Auto Capture/Play(自动捕获/播放)按钮以运行模拟和捕获事件。收到 “No More Events”(没有更多事件)消息时单击 OK(确定)。
步骤 2. 研究捕获的通信。 在 Event List(事件列表)中找到第一个数据包,然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。此窗口将按 OSI 模型组织。在我们查看的第一个数据包中,注意 DNS 查询(第 7 层)封装在第 4 层的 UDP 数据段中,等等。如果单击这些层,将会显示设备(本例中为 PC)使用的算法。查看每一层发生的事件。
打开 PDU Information(PDU 信息)窗口时,默认显示 OSI Model(OSI 模型)视图。此时单击 Outbound PDU Details(出站 PDU 详细数据)选项卡。向下滚动到此窗口的底部,您将会看到 DNS 查询在 UDP 数据段中封装成数据,并且封装于 IP 数据包中。
查看 PDU 信息,了解交换中的其余事件。
任务 2:从 PC 访问服务器的HTTPS服务,捕获数据包并分析。
任务3:从 PC 访问服务器的FTP服务,捕获数据包并分析。
四.实验过程
任务 1:从 PC 使用 URL 捕获 Web 请求。
1.连接
按照要求选择一个PC和一个Server
使用交叉线连接,注意必须连在 FastEthernet0接口( 快速以太网口,主要连接以太网(局域网)用的,简单说就是连接交换机或电脑用的 ),出现绿色小三角,说明连接成功。
2.配置
PC0:
IP地址配置,使用静态地址
Server0:
IP地址配置,使用静态地址 ,注意其Address和上面的DNS Server是一样的
确认DHCP已经设置为OFF,并使用静态IP (啥也不用干,一般默认位off)
DNS服务器进行DNS设置,解析一个域名csee.hnu.edu.cn,填入Name中,设置IP为192.168.1.2,并点击Add。
配置完成
3.运行模拟并捕获通信
进入 Simulation(模拟)模式。单击 PC。在 Desktop(桌面)上打开 Web Browser(Web 浏览器)。在浏览器中访问服务器的web服务(我输入的是:csee.hnu.edu.cn)。单击 Go(转到)将会发出 Web 服务器请求。
最小化 Web 客户端配置窗口。Event List(事件列表)中将会显示两个数据包:将 URL 解析为服务器 IP 地址所需的 DNS 请求,以及将服务器 IP 地址解析为其硬件 MAC 地址所需的 ARP 请求。
单击 Auto Capture/Play(自动捕获/播放)按钮以运行模拟和捕获事件。收到 “No More Events”(没有更多事件)消息时单击 OK(确定)。
4.研究捕获的通信
在 Event List(事件列表)中找到第一个数据包,然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。此窗口将按 OSI 模型组织。在我们查看的第一个数据包中,注意 DNS 查询(第 7 层)封装在第 4 层的 UDP 数据段中,等等。如果单击这些层,将会显示设备(本例中为 PC)使用的算法。查看每一层发生的事件。
补充: OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
第7层为:The DNS client sends a DNS query to the DNS server. DNS客户端向DNS服务器发送DNS查询。
第4层为:The device encapsulates the PDU into an UDP segment.设备将PDU封装到UDP段中。
第3层为:1. The source IP address is not specified. The device sets it to the port's IP address. 2. The destination IP address is in the same subnet. The device sets the next-hop to destination. 未指定源IP地址。设备将其设置为端口的IP地址。目标IP地址在同一子网中。设备将下一跳设置为目标。
第2层为:1. The next-hop IP address is a unicast. The ARP process looks it up in the ARP table.
2.The next-hop IP address is not in the ARP table. The ARP process tries to send an ARP request for that IP address and buffers this packet.1. 下一跳IP地址为单播。ARP进程在ARP表中查找它。2.下一跳地址不在ARP表中。ARP进程尝试为该IP地址发送ARP请求,并缓冲此数据包。
其余层看不了
打开 PDU Information(PDU 信息)窗口时,默认显示 OSI Model(OSI 模型)视图。此时单击 Outbound PDU Details(出站 PDU 详细数据)选项卡。向下滚动到此窗口的底部,您将会看到 DNS 查询在 UDP 数据段中封装成数据,并且封装于 IP 数据包中。
名词解释:协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是报文(message)。
查看 PDU 信息,了解交换中的其余事件。
对于event list第一个数据包,查看PDU最后的PDU QWER(请求),可以知道,在这里,PC向服务器发送了一个DNS请求。
查看第二个(紧接在第一个之后)的数据包,在PDU Detail界面拉到最后,发现服务器已经返回了一个IP地址。
任务 2:从 PC 访问服务器的HTTPS服务,捕获数据包并分析。
Packet Tracer支持HTTP和HTTPS和不同类型的图像(JPEG,JPG, GIF, PNG)
测试HTTPS
-
使用PC0浏览器访问URL http://10.1.1.3。内容应该加载并显示在浏览器中。
可以看到加载的内容是两张图片
分析:
-
查看第一个http类型的请求
PC0发送Get类型的http请求,请求服务器传index.html过来
- 第二个重复传了个请求,应该是第一个请求超时了或者没传过去
-
第三个http报文
可以看到Server传回200 ok 返回html文件
-
第四个http报文
PC确认收到报文
-
第五个http报文
PC0请求图片
后续类似
-
使用PC0浏览器访问URL https://10.1.1.3。内容应该加载并显示在浏览器中。
可以看到,加载的内容同样是两张图片
但具体报文内容被加密了,没办法像分析http报文一样分析https报文
注意:对于Https,Packet Tracer并不实际加密和解密数据。数据包内容只是隐藏在PDU信息上。
分析:
任务3:从 PC 访问服务器的FTP服务,捕获数据包并分析。
实验要求如下:
PC0有一个FTP客户端,用于读取、写入、删除和重命名FTP服务器中的文件。
测试FTP写
1.从PC0打开Desktop命令提示符并键入命令“ftp www.ftpserver.com”。
2.输入用户名和密码为cisco(默认值),成功后将进入“ftp”提示符。
2.输入命令"put sampleFile.txt"。
3.从Server0打开FTP配置页面,查看上传的文件“sampleFile.txt”。
点击server的FTP,可以看到文件已经写入
测试FTP读取和目录清单
1.在ftp提示符中,键入"get <remote filename>",确保<remote filename>在FTP服务器上存在。
2.输入“quit”命令退出ftp提示符。
3.输入"dir"查看文件<远程文件名>这是下载的。
测试FTP远程目录列表
在FTP提示符中,输入“dir”查看远程FTP服务器目录下的文件。
测试 FTP重命名
1.在ftp提示符中,键入"rename <old remote filename>新的远程文件名>”。
2.如果重命名成功,那么键入"dir"查看更改。
测试FTP删除
1.在ftp提示符中,输入“delete <filename>”从远程ftp服务器上删除文件。
2如果删除成功,然后键入"dir"查看更改。
测试FTP退出
在FTP提示符中,输入“Quit”退出FTP提示符并返回到上一个提示符。
参考博客:裕东方link