网络协议分析-实验

这篇随笔将做为本科学习课程-TCP/IP协议分析教程与实验的简单记录。html

准备工具:

1.Cisco Packet Tracer浏览器

2.Wireshark缓存

3.GNS3网络

资料:工具

Wireshark基本用法和过滤规则:https://blog.csdn.net/hzhsan/article/details/43453251学习

netstat命令详解:http://www.javashuo.com/article/p-tkjjhpfu-bn.html测试

查看本身电脑的MTU:https://zhidao.baidu.com/question/553727686968963692.html网站

Cisco路由器配置命令大全:https://www.jianshu.com/p/73f84fed10e9spa


 ♦使用wireshark在本身的计算机上捕获浏览网页产生的数据包。怎样才能只查看访问指定网站(如:www.xinhuanet.com)的数据包?

1.捕获浏览网页产生的数据包操作系统

(1) 打开wireshark

(2) 选择网络接口(我用的无线网,因此选择wlan)

(3) 打开浏览器访问网页后产生数据包

2.只查看访问指定网站的数据包

(1) 以www.xinhuanet.com为例,在过滤器中输入ip.addr eq 202.200.79.43(注:202.200.79.43为该网站的ip地址,且提早用ping命令得到其ip)

(2) 确认过滤后只显示www.xinhuanet.com的数据包


 若是读者的主机系统有netstat命令,如何用它来肯定系统上的接口与其MTU?

根据主机系统的不一样有不一样的命令查看。在Linux上使用netstat命令,在命令终端中输入netstat -i能够查看接口的MTU值。

在Windows上使用netsh命令,在命令终端中输入netsh interface ip show interface能够查看接口的MTU值


 ♦ARP请求与应答

1.实验说明

分别在模拟和真实环境中分析ARP协议的报文格式,理解ARP协议的解析过程。

2.实验环境

Windows操做系统及网络环境(主机有以太网卡并链接局域网),安装有Packet Tracer6.0和Wireshark

3.实验步骤 

(1) 在Packet Tracer中观察ARP协议。

步骤1 启动Packet Tracer,创建以下图的拓扑结构。

 

 

 

步骤2 按上图配置网络接口地址,PC0上没有设置默认网关地址,PC1的默认网关设置为172.16.20.99。注意,上图中的MAC地址是Packet Tracer自动生成的,实验时以软件实际取值为准。

步骤3 在路由器Router0上查看ARP表,执行如下命令。

Router # show arp

查看各个表项内容,注意其中是否有172.16.20.100的表项。

 

 

步骤4 切换到模拟方式,而后在路由器Route0执行如下命令。

Router# ping 172.16.20.100

观察设备收发数据。能够看到,由于没有在本身的ARP 表中查找到与IP地址172.16.20.100对应的表项,不能构造出链路层帧,路由器Router0丢弃了第一个ICMP报文。随即发出了ARP请求,PC1在收到ARP请求后做出ARP应答,Router0收到应答后更新本身的ARP表。在下一个ICMP报文发出时,路由器就能顺利的构造出链路层帧了。这就解释了为何路由器在第一次执行ping命令时,表示连通的符号第一个老是不通,表示连通的惊叹号老是4个。

 

 

 

 

再次在Router0上查看ARP表,能够看到新增的172.16.20.100。

 

步骤5 仔细分析PDU信息,学习掌握ARP协议的PDU构成,注意观察ARP帧的链路层地址、操做码、报文内容,比较ARP请求和应答链路层帧和PDU内容的差别。

 

 

 

 

 

 

 

 

步骤6 对路由器ARP处理的过程进行分析。对没有ARP表项的通讯,路由器会先丢弃报文。

 

 

 

须要说明的是,ARP协议是在局域网内工做的,本实验利用路由器链接两个网络,在地址掩码上左不一样的设置,以说明默认网关的做用。

(2) 用Wireshark观察ARP协议的工做过程

步骤1 在Windows主机上运行Wireshark,选择本地网卡,启动抓包。为了观察方便,在显示过滤器栏中输入arp,以便只查看ARP数据包。

 

步骤2 在主机运行程序访问同一网络中的节点,只要该节点为第一次访问,则主机都会发出ARP请求。例如,在本地Windows主机(IP地址为192.168.1.102),运行cmd命令,打开命令行窗口,输入如下命令。

C:\>ping 192.168.1.53

则马上能够在Wireshark中捕获到ARP帧。分析帧结构和各个域的信息。

个人电脑连的wifi,分配的地址为192.168.2.145,具体信息以下图:

 

 

在命令行控制台输入ping 192.168.2.53后,Wireshark捕获的ARP帧以下图:

 

 

步骤3 通常真实的主机设有默认网关,和默认网关之间会有ARP数据交换。持续捕获一段时间的数据,通常能观察到主机和默认网关之间的ARP请求和应答。另外,也能够经过修改主机的IP地址或重启网卡(禁用后再启用)的方法,来观察ARP数据。

捕获到的主机与默认网关之间的ARP请求和应答以下图:

 

 4.实验报告

记录本身的实验过程和实验结果,分析ARP协议的请求和应答报文格式,理解ARP协议的解析过程。

(1) 实验过程和实验结果已经包含在上述的实验步骤和实验截图当中。

(2) ARP报文格式:

以太网源地址: 就是发送端地址。

帧类型: 若是是ARP报文,值为0x0806

硬件类型: 代表ARP协议实如今那种类型的网络上,它的值为1,即表示以太网地址

协议类型:表示解析协议(上层协议),这里通常是0800,即IP

硬件地址长度:也就是MAC地址长度,即6个字节

协议地址长度:也就是IP地址长度,即4个字节

操做类型:表示ARP协议数据报类型。1表示请求报文,2表示应答报文

发送端以太网地址:也就是源MAC地址

发送端IP地址:也就是源IP地址

目的端以太网地址:目标端MAC地址(若是是请求报文,是全0)

目地端IP地址:也就是目地端的IP地址

(3) ARP协议的解析过程

ARP借助ARP请求包和响应包来肯定MAC地址。

例如:处在同一链路上的主机A 向B发送一个IP请求包,且互不知MAC地址:主机为了获取主机B的MAC地址,起初经过广播发送一个ARP请求包,此包包含 想要获取MAC地址主机的IP地址,所以ARP的请求包中会被同一链路上的全部主机或路由解析,若是ARP请求包中的目标IP与本身的IP地址相同,那么此节点就将本身MAC地址塞入ARP响应包,返回给主机A。

 

 ♦ARP代理

1.实验说明

在模拟实验环境中,观察分析ARP代理对象,理解ARP代理的做用和工做过程。

2.实验环境

Windows操做系统及网络环境(主机有以太网卡并链接局域网),安装有Packet Tracer6.0

3.实验步骤

步骤1 启动PT,打开实验4-2的拓扑,西哟啊注意的是,PC0的地址172.16.10.100/16的子网掩码为16位,与其余各个地址的24位不一样,另外,PC0上未设置默认网关地址。

   

 

步骤2 PC0上打开命令行窗口,查看ARP表,执行如下命令。

PC>arp -a

该命令确认本地ARP缓存为空。

 

 

步骤3 切换到模拟方式,而后在PC0上执行如下命令,观察设备收发数据的过程。

PC>ping 172.16.10.99

 

 

PC>ping 172.16.20.100

 

步骤4 PC0上执行命令“arp -a”,查看ARP表,观察各个表项的特色,出现多个IP地址被映射到一个MAC地址,就是代理ARP的标志。

 

步骤5 在拓扑图的路由器Router0右侧(172.16.20.0/24网段)链接交换机,以添加更多的主机,注意要和PC1在同一网段。而后在PC0上对新增主机进行ping连通,连通后查看PC0ARP表的变化。

 

步骤6 进一步在拓扑图中增长路由器,链接更多的网络,在Packet Tracer中以模拟方式从PC0上对其余网络中主机命令ping,进行连通测试,仔细观察连经过程的ARP解析过程。连通后,在查看PC0ARP表的变化。

 

 

4.实验报告

记录本身的实验过程和实验结果,理解ARP代理的实现过程,掌握ARP代理的工做特色。

实验过程和实验结果的步骤和截图已经展现在上面

5.思考

路由器不转发广播帧,而是接替地址请求者对其余网络的节点发送ARP请求,分析跨网络通讯时的ARP解析过程,进一步理解“Hop by Hop”的概念。

首先172.168.10.100/16主机向外发送目的主机为172.168.20.100/24ARP请求报文;而后网关收到172.168.10.100/1ARP请求报文,因为网关开启了ARP代理的功能,所以网关代替172.168.20.100/24172.168.10.100/16发送ARP响应数据报;以后网关向172.168.20.0/24网段发送172.168.10.100/16ARP请求报文;最后172.168.20.100/24收到后,发送ARP响应报文。

相关文章
相关标签/搜索