一、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
posted on 2022-07-08 19:21  大咸鱼8125  阅读(1018)  评论(0)    收藏  举报