ICMP协议
作者:互联网
一、ICMP基本概念
1、ICMP协议
- Internet控制报文协议,用于在IP主机、路由器之间传递控制消息。
- 控制消息指网络通不通、主机是否可达、路由是否可用等等
- ICMP是属于网络层的协议,封装在传输层与网络层之间
- 结构
2、ICMP报文格式
类型(Type)
编码(code)
- 类型(常见)
- (类型 编码)
- (8 0) 请求
- (0 0) 回显应答(表示比较正常的应答)
- (3 1) 目标不可达(因为主机不可达)
- (3 3) 目标不可达(因为端口不可达)
- (3 2) 目标不可达(因为协议不可达)
- (11 0) 超时(传输期间生存时间为0)
- 类型13和14 时间戳请求和应答
- (5 0) 重定向(网络重定向)
- (5 1) 重定向(主机重定向)
- 类型4 源抑制
- 源抑制充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率 type = 4
二、ICMP重定向
在某些特定情况下,路由器检测到主机使用非优化路由的时候,会向主机发送一个ICMP重定向的报文,使主机的路由改变
1、ICMP重定向原理实验
R1和R2设置了个loopback作为下一个主机
R1设置
int f0/0
ip add 192.168.1.254 255.255.255.0
no shut
exit
int loopback 0
ip add 192.168.2.1 255.255.255.0
no shut
R2设置
int f0/0
ip add 192.168.1.253 255.255.255.0
no shut
exit
int loopback 0
ip add 192.168.3.1 255.255.255.0
no shut
VM1
ping 192.168.3.1
抓包情况
-
- 首先目的地址为自己的网关
-
- 接着进行重定向,此时主机发送一份ICMP重定向报文给主机,告诉它以后把数据发送给R2而不是R1
-
- 可以看到,在第二次ping请求时,目的地址变成了R2的网关
注:每次第一个报文都会重定向
2、ICMP重定向攻击
在kali上使用工具实施ICMP重定向网关
-
环境
- kali Linux
- win10
- 两台主机在同一网段下
-
实验
-
kali使用netwox工具
-
抓win10上的包
- 可以看到,此时网关已经别改成了192.168.1.1
-
标签:协议,重定向,主机,报文,192.168,255.255,ICMP 来源: https://www.cnblogs.com/Xian-Yv/p/16459439.html