- 实验目的
了解协议分析仪的使用方法和基本特点。
增强对网络协议的理解。
- 实验要求
要求在进行协议数据分析后,能够将网络数据与具体的网络操作相互映证,如实的记录实验结果,完成实验
- 实验环境
1.一台运行Windows 2000的计算机
2.各计算机已通过网卡、双绞线、集线器实现网络硬件连接。
- 实验步骤
- 执行“ipconfig /all”命令,记录自己的ip地址、物理地址、网关地址、DNS服务器地址。
由上,我们可以看出:
IP地址:10.1.246.149
物理地址:C8-D3-FF-3D-89-8B
网关地址:10.1.244.1
DNS服务器地址:10.1.244.18
实验探究:什么是DNS服务器?
通过查阅相关资料和自己理解总结如下:
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
- 执行“ping 网关”操作,捕获网络数据,再马上执行“arp –a”并记录网关ip地址绑定的物理地址。
屏幕参数解析如下:
通过arp -a可以看到此处我们的网关的物理地址为:00-00-5e-00-01-06.
2.1 在捕获的网络数据中通过对“协议”字段排序(用鼠标左键点击protocol字段两次),找到这次ping操作产生的8个ICMP数据,其中有四个ICMP请求,四个ICMP响应,请求与响应应该是交替出现。
实验探究:什么是ICMP?
通过查阅相关资料和自己理解总结如下:
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
由上可以看出:ICMP请求与ICMP响应的确是交替出现的。由图我们可以看到我们的主机第一次ICMP请求网关地址,网管地址给予回应:这里主要是说明侦测远端主机存在。
第二次ICMP请求网关地址,网管地址给予回应:这里作用是在建立及维护路由资料。
第三次ICMP请求网关地址,网管地址给予回应:这里是重导资料传送路径(ICMP重定向)。
第四次ICMP请求网关地址,网管地址给予回应:这里主要是进行资料流量控制。
2.2选择第一个ICMP请求,检查这个网络数据的整体封装关系——应该是ICMP数据封装在IP数据报中,IP数据报封装在帧中。
从以上三张截图可以看出:从上到下分别是帧以太网协议、链路层协议、IP协议、网际报文控制协议,这三张图对应着看的确ICMP数据封装在IP数据报中,IP数据报封装在帧中。
2.3记录该网络数据块“帧”层次的目的物理地址、源物理地址、帧类型,印证与前面得到的本机物理地址、网关物理地址是否一致,帧类型是否是“0800”,思考一下为什么是这样。
从链路层协议可以看出:源物理地址c8:d3:ff:3d:89:8b与我本机物理地址c8:d3:ff:3d:89:8b一样;目的物理地址00-00-5e-00-01-06与网关物理地址00-00-5e-00-01-06也一样。帧类型是0800。
实验探究:帧类型为什么是“0800”?
EtherType 是以太帧里的一个字段,用来指明应用于帧数据字段的协议。该类字段值取自 IEEE EtherType 字段寄存器。EtherType 字段是个极限空间,因此其分配是有限的。所以Ethernet II类型以太网帧格式用2个字节标识出以太网帧所携带的上层数据类型,而16进制数0x0800代表IP协议数据,所以在此帧类型是0800,因为他是IP协议数据。
2.4记录该网络数据块“IP数据报”层次的目的IP地址、源IP地址,印证与前面得到的本机IP地址、网关IP地址是否一致,记录“协议”字段的值。
屏幕参数说明:源IP地址10.1.246.149与我本机IP地址10.1.246.149一样;目的IP地址10.1.244.1与网关IP地址10.1.244.1也一样。
协议字段值说明如下:
version:版本号4;header length:IP报文头部20字节(说明选项字段为0);
Different iated services Field(区分服务领域):它包括DSCP:区分服务代码点,即DS标记值字段,它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特字节,通过编码值来区分优先级。用于选择PHB(单中断段行为)和CU(显示拥塞通知):总的概括就是前6位表示的优先级这里是0,后两位表示拥塞控制:00代表Non-ECT非ECN-Capable运输。
Total Length:IP数据报数据加首部总长度60字节。
Identification(标识):占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。这里总共1590个数据报。
Flags(标志):为0代表表示这已是若干数据报片中的最后一个。
- 执行“ping 某同学计算机IP地址”命令,捕获网络数据,找到对应的ARP请求和ARP响应网络数据(如果没有找到,则重新选择一个其他同学,ping他的IP地址)。
从上可以得到关键信息:
此同学的IP地址为:10.1.246.199物理地址为:C-8-D-3-F-F-3-D-7-1-7-7
3.1记录ARP请求在帧层次的目的物理地址、源物理地址、帧类型,并印证相关数据。记录ARP请求具体数据印证相关数据。
实验探究:什么是ARP协议?
通过查阅资料总结如下:
ARP(地址解析协议)它是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
屏幕参数说明:由上我们可以看到我本机先通过广播的方式将10.1.146.149这个目的网络进行询问,并接收返回消息,以此确定目的网络的物理地址,然后目的网络主机也对我的主机广播询问物理地址一次,就双方都互相知道对方的物理地址,开始进行通信。
源物理地址c8:d3:ff:3d:89:8b与我本机物理地址c8:d3:ff:3d:89:8b一样;目的物理地址ff-ff-ff-ff-ff-ff与同学的物理地址不一样。因为广播的时候还不知道目标网络的物理地址。
帧类型是0806。上文对帧类型进行了详解,可以看出此帧格式是Nthernet V2类型的帧。
3.2记录ARP响应在帧层次的目的物理地址、源物理地址、帧类型,并印证相关数据。记录ARP响应具体数据印证相关数据。
屏幕参数说明:由上我们可以看到目的网络主机作为响应回应了我本机它的物理地址。
源物理地址c8:d3:ff:3d:71:77与同学本机物理地址c8:d3:ff:3d:71:77一样;目的物理地址c8:d3:ff:3d:89:8b与我的物理地址一样。因为广播的时候还不知道目标网络的物理地址。
帧类型是0806。上文对帧类型进行了详解,可以看出此帧格式是Nthernet V2类型的帧。
- 使用tracert命令产生网络数据,并对数据进行分析,记录关键的数据特征,并做出解释。
屏幕参数分析:
Tracert:用来探测本机到目标计算机之间的路由器IP地址,会从源主机到目标主机之间的每一台路由器都会返回响应的报头。最左侧的,1,2,3,4~14,这标明在我现在使用的宽带(使用的是移动宽带)上,经过11个路由节点,可以到达腾讯的服务。
中间这三列,单位是ms,是表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值。后面的IP,就是每个路由节点对应的IP,每个ip输入什么,202开头的ip地址是C类ip地址。在第7个路由节点上,返回消息是超时,这表示这个路由节点和当前使用的宽带,是*和返回超时,那就说明这个IP,在各个路由节点都有问题。
从以上三个图我们能看到:
Tracert 先向目的主机发送三个 TTL 为 1 的封装了ICMP回应报文的IP数据报,在第一个路由器IP数据报的TTL字段被减为0,数据报被丢弃,同时向源主机发送已超时的ICMP差错报告,源主机即可得到第一个路由器的IP地址。接下来Tracert向目的主机发送三个 TTL 为 2 的封装了ICMP回应报文的IP数据报,在第二个路由器IP数据报的TTL字段被减为0,数据报被丢弃,同时向源主机发送已超时的ICMP差错报告,源主机即可得到第二个路由器的IP地址……最终,通过tracert可以探测本机到目的主机经过的所有路由器的IP地址。
- 用浏览器浏览某个网站(比如:www.sina.com.cn, www.yahoo.com.cn),查看捕获的数据,记录这次访问产生的网络数据(只记录每个数据包是什么数据包),注意它们的次序,给出简单的解释。参见用户点击URL后产生的网络事件。
这里看到,我访问的是清华的网站。
首先可以看到的是:HTTP的数据报,这里可以看到,我方的主机通过HTTP请求向清华网站服务器请求各种资源。我方主机发送HTTP请求 通过连接,客户端写一个ASCII文本请求行,后跟0或多个HTTP头标,一个空行和实现请求的任意数据。一个请求由四个部分组成:请求行、请求头标、空行和请求数据。服务端接受请求并返回HTTP响应清华服务器解析请求,定位指定资源。服务器将资源副本写至套接字,在此处由客户端读取。一个响应由四个部分组成;状态行、响应头标、空行、响应数据。
UDP面向无连接的协议:这里看到:它的源端口号、目的端口号、长度字段、域名系统字段。
这里主要找了一个数据帧进行分析:帧以太网协议、链路层协议、IP协议
帧以太网协议:
到达时间参数:就是这个数据包到达目的网络的时间
帧数:共有215个
数据包长度:75字节
捕获长度:75字节
链路层协议:
原网络:10.1.244.149(本机网络IP)
目的网络:10.1.244.1(可以看出此数据包是通过网管发出的)
帧类型:0x0800
IP协议:
version:版本号4;header length:IP报文头部20字节(说明选项字段为0);
Different iated services Field(区分服务领域):它包括DSCP:区分服务代码点,即DS标记值字段,它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特字节,通过编码值来区分优先级。用于选择PHB(单中断段行为)和CU(显示拥塞通知):总的概括就是前6位表示的优先级这里是0,后两位表示拥塞控制:00代表Non-ECT非ECN-Capable运输。
Total Length:IP数据报数据加首部总长度61字节。
Identification(标识):占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。这里总共18880个数据报。
Flags(标志):为0代表表示这已是若干数据报片中的最后一个。
- 参考文献
Kenneth D. Reed 著,孙坦等译. 协议分析[M]. 北京:电子工业出版社,2002.
谢鲲,张大方. 共享网段网络协议分析系统设计与实现[J]. 计算机工程与科学,2002.24(2).
福禄克公司关于协议分析(测试)仪的网站. http://www.flukenetworks.com.cn/