一.实验目的
1.学习和掌握ICMP协议的基本作用和报文格式
2.理解ICMP协议与IP协议的封装关系
3.学习和掌握ICMP协议的应用和报文格式
4.理解tracertoute工作过程
二.实验拓扑
三.实验工具
GNS3和Wireshark抓包分析软件
四.ICMP协议的封装格式
(1)Type 类型值,标识ICMP分组类型
(2)Code 代码值,标识ICMP分组类型的某一种具体分组
(3)Checksum 校验和,用于检验数据包是否完整或是否被修改
(4)Identifier 标识符,标识本进程。当同时与多个目的通信时,通过本字段来区分
(5)Sequence Number 序列号,标识本地到目的的数据包序号,一般从序号1开始
五.实验内容及步骤
1)ping 和Traceroute实验
(1) 按照拓扑图搭建实验环境,并给接口配置对应的IP地址
(2) 启用OSPF协议实现全网可达
R1的OSPF配置
R2的OSPF配置
R3的OSPF配置
(3) 启动抓包软件,抓取R1的F0/0端口的流量
(4) 在R1上ping 12.1.1.2
(5) 结合ICMP报文的封装格式,分析ICMP报文,将下表填写完整。
1)echo request报文结构(type=8,code=0)
2)echo reply报文结构(type=0,code=0)
(6) 启动抓包软件,抓取R1的f0/0端口和R2的f0/1的流量
(7) 在R1上traceroute 3.3.3.3 probe 1(设置探测次数)
(8) 截获了报文中哪2种ICMP 报文?把不同类型报文填入
1)R1路由器上f0/0的第一次探测UDP数据包信息(TTL=1)
2)R2利用ICMP协议返回的TTL超时报文结构(type=11,code=0)
3)R1路由器上f0/0的第二次UDP数据包信息(TTL=2)
4)R2路由器上f0/1的第二次UDP数据包信息(TTL=1)
5)R3路由器上利用ICMP协议返回端口不可达报文的结构(type=3,code=3)
6)R2路由器上利用ICMP协议返回端口不可达报文的结构(type=3,code=3)
2)目标主机不可达
(1)在R1上配置默认路由:ip route 0.0.0.0 0.0.0.0 12.1.1.2,通过命令debug ip icmp 开启ICMP调试功能。
(2)开启抓包工具,抓取R1的f0/0端口流量
(3)在R1上ping 33.33.33.33
(4)分析ICMP目标主机不可达报文(type=3,code=1)
3)端口不可达(UDP协议-利用ICMP协议返回端口不可达信息)
(1)开启抓包工具,抓取R1的f0/0端口流量
(2)在R1上通过命令copy tftp: flash: 从3.3.3.3下载资料到本路由器的flash:
(3)分析TFTP报文结构
(4)分析UDP端口不可达报文结构(type=3,code=3)
4)端口不可达(TCP协议-利用将TCP头部的reset标志位置1)
(1)开启抓包工具,抓取R1的f0/0端口流量
(2)在R1上,通过命令 telnet 3.3.3.3 80 模拟浏览网页的80端口
(3)分析TCP端口不可达报文
5)禁止不可达(由于ACL或防火墙策略原因无法到达目标)
(1)开启抓包工具,抓取R1的f0/0端口流量
(2)在R2上写一个ACL语句,禁止任何主机访问3.3.3.3,并在R2的F0/0入方向调用该ACL
(3)在R1 上ping 3.3.3.3
(4)分析ICMP禁止不可达报文(type=3,code=13)
6)分片不可达
(1)在R2的F0/0入方向取消调用ACL
(2)在R1上开启抓包工具,抓取F0/0的流量(需要分片,但是设置了DF位)
(3)在R2的F1/0接口通过命令ip mtu 100将mtu 设置为 100
(4)在R1 上ping 3.3.3.3 size 200 df-bit
(5)分析ICMP分片不可达报文(type=3,code=4)
来源:freebuf.com 2021-04-22 22:47:55 by: Johnson666
请登录后发表评论
注册