通过本实验,熟悉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服务,捕获数据包并分析。
新建一个PacketTracer文件,选择一台电脑和一个服务器,使用交叉线连接(工具栏里面的黑色虚线),实验拓扑图如下,注意交叉线在PC上必须连在FastEthernet接口,不要连在RS232上,否则联不通。出现绿点,说明连接成功。
PC1的IP地址配置,使用静态地址。
单击服务器,设置其IP、DHCP和DNS解析。下面是服务器的IP地址配置。同样使用静态选项。
确认DHCP已经设置为OFF,并使用静态IP。
DNS服务器进行DNS设置,解析一个域名www.example.com,填入Name中,设置IP为192.168.1.2,并点击Add。
至此配置完成,点击界面右下角进入Simulation,切换模式,并单击电脑,在电脑的Desktop中,打开浏览器中先输入网址“www.example.com”之后,点击右边的Auto Capture/Play,可以观察到过一会浏览器中加载好了页面,右边的event list中出现了各种数据包。
捕获的通信可以通过点击Info一栏的彩色正方形查看。以Event List中找到第一个数据包为例,单击事件列表中数据包的Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。此窗口将按OSI模型组织。这个模型是分成组织的。如果单击这些层,将会显示设备(本例中为 PC)使用的算法。查看每一层发生的事件。
名词解释:OSI,开放系统互联(Open System Interconnection)该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
以实验中的数据包为例,如图:(图中只显示第4层,其他点击类似)
第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层类似,点击即可查看。
接下来,打开OSI Model右边的Outbound PDU Details,可以查看出站PDU详细细数据。
名词解释:协议数据单元PDU(Protocol Data Unit)是指对等层次之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是报文(message)。
可以看到,看到DNS查询在UDP数据段中封装成数据,并且封装于IP数据包中。
查看交换中的其余事件:对于event list第一个数据包,查看PDU最后的PDU QWER(请求),可以知道,在这里,PC向服务器发送了一个DNS请求。
查看第二个(紧接在第一个之后)的数据包,在PDU Detail界面拉到最后,发现服务器已经返回了一个IP地址。
进入Simulation模式,在PC访问http://10.1.1.3,具体方法为,点击PC的桌面,进入浏览器,输入该IP地址,点击“Go”。点击Go以后,马上点击右边的auto capture捕获数据包,右上部分的event list中,会出现和之前上一个任务中类似的各种颜色、类型的数据包,而网页的加载情况如图,可以看到,加载的内容是两张图片。
查看event list中捕获到的第一个HTTP类型请求,可以看到,PC向IP为10.1.1.3的服务器发送了一个请求,其请求的东西是一张图片logo.gif,使用方法为GET。
继续查看第二个PC向server发送的HTTP请求,可以看到,该HTTP也是一个使用GET的请求。
在接下来的一个HTTP请求中,可以看到,服务器对于PC发送的请求应答正确,出现了应答码200,即为“OK”。
若在浏览器中输入“https://10.1.1.3”,则使用https访问,类似操作可以获得数据包,打开相应的HTTPS请求查看:
我们发现无法查看https协议的内容。这样的原因是,http是超文本传输协议,信息通过明文传输,https则是具有安全性的ssl加密传输协议。因此总体来说,https更加安全。
注释中给了非常详细的指导。这个任务需要通过PC0测试FTP的写、读、查看删除文件列表、重命名、删除、退出。
【在写操作中,请一定要打开auto capture认真做一次,确保在event list中捕获。本文最后的分析数据包,就以此操作为例】
【因为打开auto capture延迟可能较大,其他命令的测试,也可以使用real time模式,只要分析一组数据包即可】
(1)从PC0的命令提示符输入“FTP wwwftpserver.com”连接服务器。
(2)输入用户名:cisco,密码:cisco,进入FTP prompt界面。
(3)使用put sampleFile.txt将文件上传到服务器。
点击server的FTP,可以看到文件已经写入。(如File 18所示)
读取一个文件内容:ftp> get sampleFile.txt
输入 dir,可以看到服务器中所有文件的文件列表,包括刚刚上传的sampleFilesampleFile.txt
在FTP prompt输入:rename,将sampleFile.txt文件重命名为:1.txt。此时,再输入dir查看文件目录,可以发现更改后的文件已经提到最前。
delete 文件名
quit
以写操作为例,在我们输入“FTP wwwftpserver.com”之后,服务器会提示需要输入用户名,此时会返回一个欢迎用户的信息,如图,是四个连续的FTP,路径为:Server——Router——Switch——PC。
查看里面的内容,发现四个FTP内容是一样的,均为这一条欢迎用户的信息:
在这之后,命令提示符里面提示要输入用户名,输入“cisco”,又可以观察到连续的四个FTP,路径为PC——Switch——Router——Server。
查看里面的内容,发现也是一样的,均为这一条信息,将用户输入的用户名传送给服务器,之后服务器则会继续传回给PC,提示用户需要输入密码:
即:我们得到了FTP传输的路径情况。在该实验的拓扑图下,从客户机到服务器传输为PC——Switch——Router——Server;从服务器到客户机应答为Server——Router——Switch——PC,且均为连续的四个FTP包。