一:实验目的
1:掌握ICMP报文的各种类型及其代码。
2:掌握ICMP报文的格式。
3:深入理解TTL的含义(Time to Live,生存时间)。
二:实验仪器设备及软件
硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。
软件:记事本、WireShark、Chrome浏览器等。
三:实验方案
【实验的网络拓扑图】
1:请求、应答类型需要在ping通情况下获得,因此网络拓扑结构采用实验4.3的拓扑。
2:不可达类型需要发送方和接收方不在同一网内。
3:连接超时类型需要在ping通情况下获得,但是将TTL限制在1,因此网络拓扑结构采用实验4.3的拓扑。
四:实验步骤
1:设计拓扑并实现抓包分析4种icmp报文,每种报文按下表填写抓到的前4个报文信息。
设计拓扑方法已经在第三部分阐述。
Request类型下的前4个报文信息截图如下。
Request类型下的前4个报文信息填表如下。
报文号 | 源IP | 目的IP | 报文格式 | |||||
类型 | 代码 | 标识 | 序列号 | |||||
BE | LE | BE | LE | |||||
1 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 65 | 16640 |
3 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 66 | 16896 |
7 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 67 | 17152 |
9 | 10.206.30.2 | 10.206.10.2 | 8 | 0 | 1 | 256 | 68 | 17408 |
Reply类型下的前4个报文信息截图如下。
Reply类型下的前4个报文信息填表如下。
报文号 | 源IP | 目的IP | 报文格式 | |||||
类型 | 代码 | 标识 | 序列号 | |||||
BE | LE | BE | LE | |||||
2 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 65 | 16640 |
4 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 66 | 16896 |
8 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 67 | 17152 |
10 | 10.206.10.2 | 10.206.30.2 | 0 | 0 | 1 | 256 | 68 | 17408 |
Unreachable类型下的前4个报文信息截图如下。
Unreachable类型下的前4个报文信息填表如下。其中,代码为0标识是network unreachable。
报文号 | 源IP | 目的IP | 报文格式 | |||||
类型 | 代码 | 标识 | 序列号 | |||||
BE | LE | BE | LE | |||||
2 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |
4 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |
6 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |
8 | 10.206.30.1 | 10.206.30.2 | 3 | 0 | 无 | 无 | 无 | 无 |
Time out类型下的前4个报文信息截图如下。
Time out类型下的前4个报文信息填表如下。
报文号 | 源IP | 目的IP | 报文格式 | |||||
类型 | 代码 | 标识 | 序列号 | |||||
BE | LE | BE | LE | |||||
2 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
4 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
6 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
9 | 10.206.30.1 | 10.206.30.2 | 11 | 0 | 无 | 无 | 无 | 无 |
2:执行【tracert 某某网址】,抓图、抓包、分析。
执行的命令为:tracert www.baidu.com。完整的捕获报文,如下图所示。
本地cmd运行结果,如下图所示。
各类ICMP报文,汇总如下表。
ICMP报文 | 类型码 | 代码 |
请求 | 8 | 0 |
应答 | 0 | 0 |
超时 | 11 | 0 |
不可达 | 3 | 3 |
Request:
Exceeded:
Unreachable:
Reply:
五:实验结果及分析
1:第二个实验截获了哪几种ICMP报文?其类型码和代码各为多少?
截获了4种ICMP报文,分别是request、reply、unreachable、exceeded。
分别对应的类型码是8、0、3、11。
分别对应的类型码是0、0、3、0。
2:在第二个实验截获的报文中,哪些是超时报告报文?请截图显示并指出源地址分别是多少?
Info处显示Time-to-live exceeded的报文,均是超时报告报文。
截图如下,源地址是192.168.0.254,目的地址是192.168.0.108。
3:查看第二个实验ICMP echo分组,是否这个分组和前面使用ping的ICMP echo一样?若不一样,请分析使用tracert命令后收到的分组里TTL值的变化规律。
Echo的字段是一样的,字段内的数值不一样。
Ping的ICMP echo分组如下图所示。
Tracert的ICMP echo分组如下图所示。
使用tracert命令后收到的分组里TTL值,逐次加1。
4:对照ICMP协议,分析一下ICMP超时报告分组比ICMP echo分组多包含的信息有哪些?
IP数据报的首部以及TCP或UDP协议的端口号。
具体来说,超时报告有一个外层的internet control message protocol,内部包含基本的echo分组信息、internet protocol version 4、一个内层的internet control message protocol。
六:实验总结及体会
1:常用的查询报文和差错报文的type和code如下。其中黄色部分为查询报文,绿色部分为差错报文。
2:IP协议的缺点:IP协议没有差错报文或差错纠正机制,且缺少一种为主机和管理查询的基址。
3:ICMP报文格式如下。