这篇随笔将做为本科学习课程-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
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的数据包
根据主机系统的不一样有不一样的命令查看。在Linux上使用netstat命令,在命令终端中输入netstat -i能够查看接口的MTU值。
在Windows上使用netsh命令,在命令终端中输入netsh interface ip show interface能够查看接口的MTU值
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。
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连通,连通后查看PC0上ARP表的变化。
步骤6 进一步在拓扑图中增长路由器,链接更多的网络,在Packet Tracer中以模拟方式从PC0上对其余网络中主机命令ping,进行连通测试,仔细观察连经过程的ARP解析过程。连通后,在查看PC0上ARP表的变化。
4.实验报告
记录本身的实验过程和实验结果,理解ARP代理的实现过程,掌握ARP代理的工做特色。
实验过程和实验结果的步骤和截图已经展现在上面
5.思考
路由器不转发广播帧,而是接替地址请求者对其余网络的节点发送ARP请求,分析跨网络通讯时的ARP解析过程,进一步理解“Hop by Hop”的概念。
首先172.168.10.100/16主机向外发送目的主机为172.168.20.100/24的ARP请求报文;而后网关收到172.168.10.100/1的ARP请求报文,因为网关开启了ARP代理的功能,所以网关代替172.168.20.100/24向172.168.10.100/16发送ARP响应数据报;以后网关向172.168.20.0/24网段发送172.168.10.100/16的ARP请求报文;最后172.168.20.100/24收到后,发送ARP响应报文。