网络协议攻击与模拟_02ARP协议

news2024/11/24 14:32:20

一、arp协议简介

 一个工作在二层的三层协议,事一个2.5层协议

ARP协议地址解析协议,将一个已知的Ip地址解析为MAC地址,从而进行二层数据交互

二、工作流程

1、两个阶段

  • ARP请求
  • ARP响应
    两台主机IP地址主机A和主机B,IP地址和MAC地址如图所示:主机A发送数据给主机B会先发送给ARP请求报文给主机B,主机B收到请求后会给主机A发送响应即ARP响应。

    主机A发送数据给主机B,首先要知道主机B的IP地址,主机A在数据封装的时候会进行三层封装和二层封装,三层封装会将源IP和目的IP封装进去,二层封装会将源MAC地址和目的MAC地址封装进去,主机A初始不知道目的MAC地址,是以广播的MAC地址00-00,以广播的方式发送请求。响应的时候是单播。
  • ARP请求很简单就是一个请求一个响应,由于很简单所以会造成不安全的因素,就比如你广播发送出去数据,中间有个人冒充主机B及性能响应就会造成ARP欺骗。

2、实验

ARP请请求和响应的过程

主机A(192.168.2.12)和主机B(192.168.2.16)

  • 打开主机B的winshark,并在主机A上ping主机B(192.168.2.16)

ARP报文:一个是ARP请求报文一个是ARP响应报文

(1)ARP请求报文

 显示出来目标的MAC地址是一个广播地址,源MAC地址是主机A(192.168.2.12)、Type类型是0x0806

整体的ARP请求里面的在整体内容,这里有源MAC地址和目标MAC地址,因为目标MAC地址它不知道所以用全零来填充。上面的destination是broadcast广播。

(2)ARP响应报文

主机B(192.168.2.16)收到之后会进行响应

ARP请求里面源MAC是自己,目的MAC是对方。

3、ARP协议报文

(1)ARP报文格式

  • 以太网的数据帧格式是这样的
    目的MC、接着是源MAC,帧的类型,中间是网络层的数据包,后面是帧校验
  • 对比ICMP报文,可以看到数据链路层下来是网络层,但是ARP协议是二层之后就到了ARP协议,没有网络层。
    目的MC、接着是源MAC,帧的类型,中间是ARP的数据包,后面是帧校验

(2)ARP数据帧

  • ARP报文数据帧格式:
    • 硬件类型
    • 协议类型
    • 硬件地址长度
    • 协议地址长度
    • Opcode操作类型标识报文时请求报文还是响应报文,1代表请求 2代表响应
    • 发送方MAC地址
    • 发送方IP地址 
    • 接收方的MAC地址 
    • 接收方的IP地址

4、ARP缓存

主要目的是为了避免去重复发送ARP请求 

(1)windows的ARP命令

重新抓取流量就不会有ARP请求和响应的报文了,因为主机中存在了ARP缓存

  • 使用arp -a命令可以查看arp缓存

  • arp -d清空缓存

下一次访问会重新发送ARP请求。通过请求和响应的出来的是动态学习到的

  • 使用arp -s命令可以静态绑定

(2)思科设备GNS3

c3600设备三台,改变图标为两台主机一台交换机

  • PC1 ping PC2、关闭交换机路由功能
R2#
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#no ip routing
R2(config)#int  f0/0
R2(config-if)#ip add 192.168.2.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#hostname PC1
PC2(config)#
R3#
R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#no ip routing
R3(config)#int f0/0
R3(config-if)#ip add 192.168.2.2 255.255.255.0
R3(config-if)#no shut
R3(config-if)#
*Mar  1 00:03:54.163: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:03:55.163: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R3(config-if)#hostname PC2
PC2(config)#
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#hostname SW
SW(config)#
SW(config)#no ip routing
SW(config)#
  • PC1pingPC2

  • show arp

  • clear arp

  • 永久绑定(直接绑定的还没有通信) 

  • 清除静态绑定的

  • 静态绑定虚假MAC地址成功
    ping 不通目标主机,给虚假的MAC地址发信息目标主机收不到。

  • 引出安全性因素

主机C想主机A响应虚假MAC地址,主机A学习到了主机C响应的虚假的MAC地址,主机A就会想虚假的MAC地址发信息,主机A无法通信,这就是ARP攻击。

场景:主机C响应给主机A自己的MAC地址,造成主机A误认为主机C是主机B,当主机A给主机B发送消息的时候就会发送给主机C。主机C截获主机A发给主机B的数据,这就是ARP欺骗。

三、ARP攻击和ARP欺骗

1、ARP攻击

伪造ARP应答向被攻击主机和网关响应虚假的MAC地址

当被攻击主机进行网络通信时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAC地址不存在,所以造成被攻击主机无法访问网络。

示例:

主机A发送arp请求在整个网络中进行广播,当主机收到ARP请求会进行响应,此时发送方主机就学习到目的主机的MAC地址。若主机C伪造ARP应答,向被攻击主机响应虚假的MAC地址就实施了ARP攻击。

当被攻击主机进行网络通信时,会将数据交给虚假的MAC地址进行转发,由于虚假的MAC地址不存在,所以造成被攻击主机无法访问网络。

主机A访问公网,首先会向网络中发送ARP请求,主机B主机C和路由器都能够收到ARP请求,正常的当路由器收到主机A数据发现主机A请求得路由器得IP地址会进行响应,如果此时主机C(攻击主机)向主机A响应虚假得MAC地址,造成主机无法进行网络通信。

2、 ARP欺骗

(1)欺骗网关

  • 伪造ARP应答,向被攻击主机和网关响应真实的MAC地址
  • 当被攻击主机进行网络通信时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据。这时被攻击主机时可以进行网络通信的。

主机A访问互联网会将数据交给自己的出口路由器,攻击主机C向主机A发送ARP应答,响应自己的MAC地址给主机A,主机A访问公网的时候就会将数据给到主机C,还要在攻击主机上开启ARP转发的功能,主机C向出口路由器发送ARP应答,告诉出口路由器主机A的MAC地址时主机C自己的MAC地址从而实现数据监听。

(2)欺骗主机

  • 伪造ARP应答向被攻击主机和网关响应真实的MAC地址
  • 当被攻击主机进行主机通信时,会将数据交给真实的MAC地址进行转发,从而截获被攻击主机的数据。

主机A发送数据给主机B,主机C向主机A发送应答,主机C向主机发应答

3、避免ARP攻击/欺骗

  • ARP防火墙
  • 主机上进行ARP静态绑定(设备基本都有此功能)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1372892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年AI红利:抓住AI内容写作、绘画、数字人、等四大变现机遇

2023年见证了人工智能大模型的爆发,其影响力超出了科技界范畴,成为推动社会进步的重要力量。大模型的突破性进展引起了全球关注,被视为科技发展4.0时代的革命性创新。而每一次革命性创新都是一把双刃剑,随之而来的互联网大裁员事件…

RocketMQ 消费重试

消费者出现异常,消费某条消息失败时, Apache RocketMQ 会根据消费重试策略重新投递该消息进行故障恢复。本文介绍消费重试机制的原理、版本兼容性和使用建议。 一、应用场景​ Apache RocketMQ 的消费重试主要解决的是业务处理逻辑失败导致的消费完整性…

Web开发SpringBoot SpringMVC Spring的学习笔记(包含开发常用工具类)

开发框架学习笔记 一.Spring SpringMVC SpringBoot三者的联系SpringMVC工作原理 二.SpringBoot的学习2.1 注解2.1.1 SpringBoot的核心注解2.1.2 配置导入注解(简化Spring配置写XML的痛苦)Configuration和Bean(人为注册Spring 的 Bean)Import(补)ImportResource(补)AutowiredQua…

盖子的c++小课堂——第二十四讲:差分数组

前言 嗨嗨嗨,这里是盖子的小课堂哟,这次更新主要是因为快放假了,时间多了,好嘞,废话不多说,点赞评论拿来吧你~ 差分数组 一维差分数组 假设给你一个数组 nums ,先对区间 [a,b] 中每个元素加…

深兰科技AI医疗健康产品获3000台采购订单

12月6日,武汉某企业与深兰科技签署协议,一次性采购3000台深兰科技AI生理健康检测仪——扁鹊。 深兰科技AI生理健康检测仪——扁鹊是深兰科技推出的人体生理指标检测产品。基于AI生物技术、融合互联网医疗及AIoT技术,深兰科技AI生理健康检测仪…

STM32入门教程-2023版【3-4】按键控制制LED

关注 点赞 不错过精彩内容 大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! 这篇文章以项目代码的形式实现GPIO输入 一、按键控制LED (1)搭建面包板电…

Java中输入和输出处理(三)二进制篇

叮咚!加油!马上学完 读写二进制文件Data DataInputStream类 FilFeInputStream的子类 与FileInputStream类结合使用读取二进制文件 DataOutputStream类 FileOutputStream的子类 与FileOutputStream类结合使用写二进制文件 读写二进制代码 package 面…

国产AI工具钉钉AI助理:开启个性化助手服务的新篇章

钉钉AI助理是钉钉平台的一项功能,它可以根据用户的需求提供个性化的AI助手服务。用户可以在AI助理页面一键创建个性化的AI助理,如个人的工作AI助理、旅游AI助理、资讯AI助理等。企业也可以充分使用企业所沉淀的知识库和业务数据,在获得授权后…

文字转语音在线合成系统源码 附带完整的安装部署教程

现如今,文字转语音(TTS)技术逐渐成为人们获取信息的重要手段之一。然而,市面上的TTS工具大多需要下载安装,且功能较为单一,无法满足用户多样化的需求。因此,开发一款功能强大、易于部署的文字转…

共享wifi项目如何加盟?

共享wifi贴项目如何加盟呢?具体的途径在哪里,费用是多少呢?今天小编就来一次性同你讲清楚。 我们先来讲一下共享wifi贴的加盟方法。 首先,找到共享wifi的官方渠道在点击右上角,根据页面上的信息填写资料。 然后&…

长期使用外接键盘,外物压着自带键盘,容易导致华硕飞行堡垒FX53VD键盘全部失灵【除电源键】

华硕飞行堡垒FX53VD键盘全部失灵【除电源键】 前言一、故障排查二、发现问题三、使用方法总结 前言 版本型号: 型号 ASUS FX53VD(华硕-飞行堡垒) 板号:GL553VD 故障情况描述: 键盘无法使用,键盘除开机键外…

每日学习更新(LQR+iLQR)

一直想更新一下根据cost to go来推导LQR,之前的话可能会直接套问题,但是对于理论有些困惑,正好最近在学习ilqr轨迹生成/优化,因此来推一下公式,以下参考B站Dr_CAN,链接如下: 【最优控制】5_线性…

基于arcgis的遥感深度学习数据集制作

由于很多时候,我们在研究过程中往往需要根据实际情况使用自己的影像数据来提取目标物,如果没有合适的公开数据集的话,为了满足实际需要,我们就需要制作符合自己要求的数据集。 今天我们就根据实际情况来详细讲解如何利用arcgis&am…

视频分割软件,视频批量分割,轻松搞定

有时候,为了特定的需求,我们需要对视频进行分割,传统的方法是使用视频编辑软件,逐个进行操作,费时又费力。那么,有没有一种方法可以批量分割视频,轻松高效地完成任务呢?这个确实是有…

虚拟机安装intel架构的银河麒麟V10(SP1)

一 背景 银河麒麟是国产操作系统之一,是基于Linux内核的桌面操作系统,有自己的应用中心,具有一定的生态系统。今从官网下载了V10(SP1)镜像文件,在Windowns的VMware虚拟机上安装试用。 官网:http…

JMeter之Windows安装

JMeter之Windows安装 一、安装JDK二、安装JMeter1、下载JMeter2、配置环境变量3、验证JMeter 三、扩展知识1、汉化 一、安装JDK 略 二、安装JMeter 1、下载JMeter 官网地址:https://jmeter.apache.org/download_jmeter.cgi 放到本地目录下 2、配置环境变量 变量…

RTX20系开启超分辨率

我的显卡是2070s现在也支持了超分辨率,根据网上的教程一通折腾后发现了不少的坑,记一下.希望有缘人可以少走点弯路. 机器配置如下: [CPU] CPU #1: 3600MHz, AMD Ryzen 7 3700X 8-Core Processor , AMD64 Family 23 Model 113 Stepping Instruction set: MMX MMX…

Camunda外部任务

外部任务&#xff1a;即任务可以在外部系统进行审批。 一&#xff1a;pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…

大模型LLM在 Text2SQL 上的应用实践

一、前言 目前&#xff0c;大模型的一个热门应用方向Text2SQL&#xff0c;它可以帮助用户快速生成想要查询的SQL语句&#xff0c;再结合可视化技术可以降低使用数据的门槛&#xff0c;更便捷的支持决策。本文将从以下四个方面介绍LLM在Text2SQL应用上的基础实践。 Text2SQL概…

22、Kubernetes核心技术 - 整合Rancher通过界面管理k8s集群

目录 一、概述 二、Rancher API Server 的功能 2.1、授权和角色权限控制 2.2、使用 Kubernetes 的功能 2.3、配置云端基础信息 2.4、查看集群信息 三、Rancher 安装 3.1、前置环境 3.2、通过 Docker 来进行安装Rancher 3.3、在 Rancher 的界面上绑定k8s集群 3.4、在 …