网络协议与攻击模拟_04ICMP协议与ICMP重定向

这篇具有很好参考价值的文章主要介绍了网络协议与攻击模拟_04ICMP协议与ICMP重定向。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ICMP协议是网络层协议, 利用ICMP协议可以实现网络中监听服务和拒绝服务,如 ICMP重定向的攻击。

一、ICMP基本概念

1、ICMP协议

ICMP是Internet控制报文协议,用于在IP主机、路由器之间传递控制消息,控制消息指网络通不通、主机是否可达,路由是否可用等等。

  • 案例
    • 环境:GNS3 路由器 交换机 电脑
    • slots设置:交换机要选择NM-6ESW,主机和路由器选NM-1FE-TX
    • icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向
PC#show int f0/0
FastEthernet0/0 is up, line protocol is up
  Hardware is AmdFE, address is cc02.1b08.0000 (bia cc02.1b08.0000)
  Internet address is 192.168.1.1/24

#可知PC的MAC地址为cc02.1b08.0000


R3#show int f0/0
FastEthernet0/0 is up, line protocol is up
  Hardware is AmdFE, address is cc03.187c.0000 (bia cc03.187c.0000)
#可知路由器R3的MAC地址为cc03.187c.0000
  • ping一下网关

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 抓包看到数据有请求有响应

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

根据抓到得报文可以看出:ICMP报文是有请求有响应的,如果说出现请求超时这种情况,很有可能是数据包可以到达目的地,但是回不来,或者说 根本不能到达目的地,所以请求超时会有多种情况。如果是路由器回复目标主机不可达造成的结果就是路由器没有帮你转发数据。

  • ICMP报文前面是网络层协议,有IPV4报文,接着才是ICMP协议 。

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

2、ICMP封装结构 

ICMP是主机和路由器之间传递控制报文消息的,ICMP属于网络层协议,是封装在传输层和控制层之间的。

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

3、ICMP报文结构

  • type类型
  • code 代码
  • Checksum校验和
  • Identifier(BE)和dentifier(LE)是报文的标志符
  • Sequence Number(BE)和Sequence Number(LE)是报文的序列号
  • Data:ICMP的数据

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

4、ICMP的Type&Code

ICMP报文主要就是看它的类型(type)和代码(code)

  • (8 0) ICMP请求
    ICMP报文type类型都为8,code字段为0,注不正常的请求下面有No response seen字段。
    icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向
  • (0 0) 回显应答(表示比较正常的应答)
  • (11 0) 超时(传输期间生存时间为0)
    icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向
  •  (3 1) 不正常应答(目标不可达主机不可达)
    icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向
  • (3 3) 目标不可达(端口不可达)
  • (3 2) 目标不可达(协议不可达)
  • 类型5 表示重定向
  • (5 0)网络重定向
  • (5 1)主机重定向
  • 类型13 14 时间戳请求 时间戳应答
  • 总计类型是有0到18,这里有个特殊点,就是类型0之后没有类型1 类型2 ,类型0过后是类型3 类型4 类型5 ,也没有类型6 类型7,接着是类型8 类型9……一直到类型18。

注:ICMP报文不同的类型下面可能有不同的代码,可能要去了解下常见的ICMP类型有哪些,某一类型下面有哪些代码。如当你去访问一个不存在或者目标不可达或者说没有响应的目的的时候,数据到达网关后,路由器发现目标无法到达或者回不来的时候,会给主机发送ICMP响应,即ICMP控制报文,根据UCMP控制报文的Type和code可以分析出主机访问目标到底是什么情况。

二、ICMP重定向

1、什么是ICMP重定向

重定向是ICMP控制报文中的一种,在某一种特定的情况下,当路由器检测到一台机器使用的是非优化路由的时候,这个时候路由器回会主机发送ICMP重定向报文,使得它走优化路由。.

2、ICMP重定向举例

(1)引入ICMP重定向

网络中有三台主机{主机A(192.168.1.10)主机B (192.168.2.1)主机C(192.168.3.1}

一台交换机和两台路由器,主机A通过交换机连接到路由器R1和R2,主机A的网关是R1,

主机B接R2,主机C接R1。网络拓扑如下:

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

现主机A(1.10)要访问主机B(3.1),因为主机A的网关是(1.254),初始R1没有配置到R2的路由,所以主机A是无法到达主机B的。

此时如果在R1路由器添加到R2的静态路由,主机A访问主机B的数据流向如下:

主机A->R1->R2->主机B

这样走的话就比较复杂了,因为从网络拓扑来看,主机A如果能够走R2到主机B的话显然是最优路线,那么就要引入了ICMP重定向l了。

(2)ICMP重定向

此时我们可以在R2路由器R1上直接设置主机重定向,让主机A访问主机B的时候直接走路由器R2.

即在此情况下,当路由器R1检测到主机A使用的是非优化的路由,路由器R1就会想主机A发送ICMP重定向报文,使主机A的路由改变。

此时,如果有黑客直接给逐句A发送ICMP重定向,将主机A的路由改变了,可能在成逐句A无法进行网络通信,或直接将主机A的网关改成自己来达成截取流量的目的,这就是ICMP重定向攻击。

3、ICMP重定向原理性实验

实验环境:GNS3(两台路由器、一台交换机、一台主机)2.1和3.1的网络通过路由器的loopback虚拟接口来实现

(1)网络搭建与配置

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

PC(config)#no ip routing
PC(config)#int f0/0
PC(config-if)#ip add 192.168.1.10 255.255.255.0
PC(config-if)#no shut
PC(config-if)#exit
PC(config)#ip default-gateway 192.168.1.254
PC(config)#



R1#
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int f0/0
R1(config-if)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#int loopback 0
R1(config-if)#ip
*Mar  1 00:13:05.739: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R1(config-if)#ip add 192.168.2.1 255.255.255.0
R1(config-if)#


R2#conf
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int f0/0
R2(config-if)#ip add 192.168.1.253 255.255.255.0
R2(config-if)#no shut
R2(config-if)#no shut
*Mar  1 00:09:59.695: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:10:00.695: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R2(config-if)#exit
R2(config)#int loopback 0
*Mar  1 00:10:18.415: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R2(config-if)#ip add 192.168.3.1 255.255.255.0

(2)主机Aping测试

R1、R2以及192.168.2.1都可以ping通,但是192.168.3.1无法ping通(没有路由)

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

(3)配置路由

直接在R1路由器配置一条路由,使得数据通过R1转发到192.168.3.0

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.1.253
R1(config)#

(4)抓包分析

开启三条链路的抓包,然后主机ping192.168.3.1抓取数据进行分析。

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 主机A->交换机数据流量

第一条报文是no response,没有响应也就是cmd上面显示请求超时的那条报文。

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

我们来看下ICMP报文的type和code字段,type类型为5,code为0表示对网络进行重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

下一条报文就请求到了

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 交换机->R1数据流量

左边链路是

1.10请求3.1

1.10收到路由器的重定向,

1.10去请求1.253的MAC地址

接下来后续的包就直接交给了1.253

主机A访问3.1的时候网关直接发送ICMP重定向报文给主机A,

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

由于主机A的网关R1发现自己路由表中有直接到达192.1683.1的路由

所以看到下一跳地址直接向R2发送了ARP请求,请求R2的MAC地址,R2发送ARP应答将自己的MAC地址响应给R1.icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 右边链路的抓包情况

右边这条链路很清楚,它就没有重定向的过程。直接是1.10请求3.1,3.1响应1.10

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

(4)总结

整个过程:

192.168.1.10请求192.168.3.1

192.168.1.10收到网关的ICMP重定向报文

网关请求R2(192.168.1.253)的MAC地址

接下来后续的包就直接交给了R1(192.168.1..253)

在GNS3中,重定向的路由直接改了PC网关;

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

4、ICMP重定向攻击

(1)环境

  • kali虚拟机(netwox工具、ettercap工具)

(2)工具

  • netwox

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • ettercap 

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

 如果遇到直接点击ettercap图标无法启动,尝试终端输入ettercap -G运行

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

(3)ettercap 攻击模拟

  • 选择网卡

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 扫描

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 查看扫描到的IP-MAC列表 

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • windows虚拟机作为被攻击目标 

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • kali作为攻击机

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  •  在扫描列表中找到被攻击主机,右击选中,然后Add to Target1

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

在列表中任选一个Add to Target2

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 点击右上角小地球标识,ICMP redirect

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  •  重定向到哪里去,这里输入的是一个虚假的MAC地址

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • windows上面抓包

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 正常还是可以访问网络的

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  •  这里抓到了ICMP报文

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

正常实施ICMP重定向攻击的话,Windows这台主机是不能通信的,实验结果的话在虚拟机里面很难实现。 

(4)netwox攻击模拟

web.ecs.syr.edu/~wedu/Teaching/cis758/netw522/netwox-doc_html/tools/index.html

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 用法
    • 参数:-d 指定网卡  -f  过滤器   -g  新的网关  -s   欺骗IP  -c  ICMP代码    -i   源IP地址
    • 使用示例:netwox的86模块 -g 指定新的网关

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 指定新网关并实施攻击

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • netwox是直接对网络中的所有主机进行了重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  •  ping下百度可以ping通,还是可以正常访问到网络的。

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  • 查找ping百度的报文进行分析

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

  •  kali向Windows10发送了重定向报文,将它的网关改成了192.168.183.134

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向

icmp数据包 是否有mac地址,安全与运维,网络,服务器,运维,icmp协议,icmp重定向文章来源地址https://www.toymoban.com/news/detail-794120.html

到了这里,关于网络协议与攻击模拟_04ICMP协议与ICMP重定向的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络】ICMP协议

    实验目的 应用所学知识: 1.熟悉ICMP的协议格式。 2.理解ping的运作机制。 3.理解traceroute的运作机制。 4.理解VPN的运作机制。 实验步骤与结果 1.任务一: 使用ping命令向www.sdu.edu.cn发送消息: 在wireshark中捕获到数据包: (1) 你所使用的主机的IP地址是多少?目标主机的IP地址是多

    2023年04月16日
    浏览(38)
  • 【计算机网络】IP协议与ICMP协议分析

    1、分析IP协议与IP数据报; 2、分析ICMP协议。 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE或其他浏览器。 (1)在命令提示符中,利用ipconfig -all查看自己主机的ip及MAC地址,查看自己的网关ip地址并 记录 。(物理地址 : C8-D9-D2-19-FC-4E,IPv4 地址: 10.0.132.12,默

    2024年02月05日
    浏览(30)
  • 2.3 - 网络协议 - ICMP协议工作原理,报文格式,抓包实战

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 ICMP(Internet Control Message Protocol)是 「控制报文协议」 ,是IP协议的一个组成

    2024年02月05日
    浏览(37)
  • 基于Wireshark的ARP协议分析和IP报文、ICMP报文的分析|网络数据抓包|课程设计|traceroute|ping|

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 https://blog.csdn.net/yu_cblog/category_12379430.html?spm=1001.2014.3001.5482 目录 ​编辑前言 Wireshark软

    2024年02月10日
    浏览(36)
  • 计算机网络——互联网控制报文协议(ICMP)

    目录 1 ICMP的作用与特点 1.1 ICMP的主要特点 1.2 ICMP报文结构 2 ICMP 报文类型 2. ICMP差错报告报文 2.1.1 目的不可达报文 2.1.2 源抑制报文 2.1.3 超时报文 2.1.4 参数问题报文 2.1.5 重定向报文  2.2 ICMP查询报文 2.2.1 回送请求和应答报文 2.2.2 时间戳请求和应答报文 2.2.3 路由器询问和通告

    2024年02月04日
    浏览(45)
  • ARP、IP、ICMP详解:三层网络层协议的综合讲解

            没有端口号,向TCP/UDP这些都是没有端口号只有协议号,只有应用层才有端口号。         网络探测与回馈机制                 1) 网络探测                 2) 路由跟踪,windows命令: tracert  IP地址    linux或路由: traceroute    IP地址     

    2024年02月05日
    浏览(30)
  • IP数据包格式(ICMP协议与ARP协议)

    定义了基于IP协议的逻辑地址,就是IP地址 连接不同的媒介类型 选择数据通过网络的最佳路径,完成逻辑地址寻址 数据封装的时候在网络层会封装ip地址的头部,形成ip数据包 IP数据包格式 IP数据包格式:分为20字节的固定部分,表示每个IP数据包的部分,和40字节的可变长部

    2024年02月02日
    浏览(37)
  • 哈工大计算机网络课程网络层协议详解之:互联网控制报文协议(ICMP)

    在互联网中,IP数据报的传输很容易出现差错,当出现差错时,最简单的处理办法就是对该IP数据报进行丢弃。但是,并不是直接丢弃就完了,为了让源主机感知到数据报出现差错,当数据报被丢弃时,IP网络会借助于ICMP协议,向发送数据报的源主机发送一个ICMP差错报文。本

    2024年02月12日
    浏览(38)
  • Linux云计算之网络基础4——ICMP协议和ARP协议

    目录 一、ICMP协议 ICMP报文被封装在IP数据报中发送 ICMP报文的种类 ICMP差错报告报文 ICMP询问报文 ICMP的典型应用 1.分组网间探测PING: 2.跟踪路由traceroute: ICMP报文结果统计 ping命令的使用 二、ARP地址解析协议 ARP:地址解析协议 ARP缓存表    ARP报文 ARP攻击与欺骗 ARP攻击 如何

    2024年04月14日
    浏览(47)
  • 《计算机网络—自顶向下方法》 Wireshark实验(八):ICMP 协议分析

            ICMP(Internet Control Message Protocol)网络控制报文协议。它是 TCP/IP 协议簇的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数

    2024年01月25日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包