7.12、中间人攻击(ARP欺骗)

一、ARP协议原理

        地址解析协议(Address Resolution Protocol,ARP),负责把目的主机的IP 地址解析成目的MAC地址地址解析的目标就是发现逻辑地址与物理地址的映射关系。网络中的计算机、交换机、路由器等都会定期维护自己的ARP缓存表。

        为什么需要ARP?

        在发送者给其他的网络设备发送数据的时候, 是以数据帧的形式发送的,数据帧是由源MAC地址和目的MAC地址组成的,如果发送者只知道目的主机的IP地址, 不知道目的主机的MAC地址, 就不能把这个数据包转化成数据帧发走。

        如果发送者和接收者在同一个网络内,arp解析的就是接收者的MAC地址。如果发送者和接收者不在同一个网络内, arp解析的就是这个网络内网关的接口MAC地址。

        ARP协议工作原理主要是ARP高速缓存(ARP cache)。ARP高速缓存就是一个映射表,它记录了IP地址和物理地址的映射关系。在实际传输中,通常已知下一跳的目的IP地址,通过查询ARP高速缓存即可知道对应的物理地址。

        假设AA,BB,CC分别为PC1,PC2,PC3各自的MAC地址,且二层交换机只解封到帧数据包,也就是说,只认MAC地址(ARP是网络层协议)

        当PC1向PC3发送data数据时,因为不知道PC3的MAC,会发送ARP广播来获取MAC地址。

        ARP广播:目的MAC为FF,源MAC为AA,源IP为10.1.1.1,目的IP为10.1.1.3的数据包,PC2收到该数据包发现目的IP不是本机IP,丢弃;PC3收到后发现目的IP与本机IP一致,则给PC1发送单播ARP响应报文告知自己的MAC地址。

二、中间人攻击原理

        假设PC2装了ARP攻击工具,其可以发送伪装的ARP报文,当PC1发送ARP广播:目的MAC为FF,源MAC为AA,源IP为10.1.1.1,目的IP为10.1.1.3的数据包后,PC3收到后会返回单播报文告知MAC(我是10.1.1.3我的MAC是CC),此时,PC1的ARP缓存表认为10.1.1.3映射的MAC为CC;然后PC2利用ARP工具也回复了同样的单播ARP响应报文告知MAC(我是10.1.1.3我的MAC是BB),此时,PC1的ARP缓存表认为10.1.1.3映射的MAC为BB(ARP缓存映射原则为谁后到达学谁),则前一条映射被覆盖。通常PC3的ARP响应报文只会回复一次,而PC2利用ARP攻击工具可以回复N次,所以PC1最后的ARP缓存映射必然是10.1.1.3映射的MAC为BB。

        然后,PC1会发送数据包(目的MAC为BB,源MAC为AA,源IP为10.1.1.1,目的IP为10.1.1.3,data),交换机并不会解封装IP头,所以根据目的IP为BB,则将其发送至PC2,但因为PC3未收到该报文,则不会响应PC1。为了避免窃听被发现,当数据包(目的MAC为BB,源MAC为AA,源IP为10.1.1.1,目的IP为10.1.1.3,data)发送至PC2,PC2读取后,将数据包修改为(目的MAC为CC,源MAC为AA,源IP为10.1.1.1,目的IP为10.1.1.3,data)转发至PC3,PC3响应。同时,PC2也可以欺骗PC3,告知PC3(我是10.1.1.1,MAC为AA),那么PC3最后的ARP缓存映射是10.1.1.1映射的MAC为BB。最终,PC2可以窃取PC1与PC3之间的通信报文,即中间人攻击(ARP欺骗)。

        另,当PC2发送ARP广播(目的MAC为FF,源MAC为BB,源IP为10.1.1.1,目的IP随意),那么接收到该广播的PC无论是否为目的IP主机,都会在自己的ARP缓存表映射10.1.1.1的MAC为BB,以此类推,修改源IP地址继续发送ARP广播(目的MAC为FF,源MAC为BB,源IP为10.1.1.2,目的IP随意),那么最终10.1.1.1-254映射的MAC都是BB。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK分离式日志(2)

目录 一.FilebeatELK 部署 开台服务器(192.168.233.50)下载fliebeat: 安装nginx后查看下日志文件: 设置 filebeat 的主配置文件: 关闭logstash,检测文件: 在50节点上启动filebeat: 访问页…

2、Line Charts折线图

可视化时间趋势 现在你已经熟悉了编码环境,是时候学习如何制作自己的图表了! 在本教程中,您将学习足够的Python来创建专业外观的折线图。然后,在接下来的练习中,您将使用您的最新技能处理真实世界的数据集。 本课程数据集夸克网盘下载链接:https://pan.quark.cn/s/a235ac…

Windows下RocketMQ搭建

RocketMQ安装 注:Windows必须先安装64bit的 JDK1.8 或以上版本及Maven 。 1.官网下载:下载 | RocketMQ 2.将下载下的安装文件解压到本地磁盘 3.配置环境变量 : 变量名:ROCKETMQ_HOME 变量值:G:\RocketMQ\rocketmq…

HCIA NAT练习

目录 实验拓扑 实验要求 实验步骤 1、IP分配 2、使用ACL使PC访问外网 3、缺省路由 4、边界路由器公网ip端口配置 测试 实验拓扑 实验要求 1、R2为ISP路由器,其上只能配置ip地址,不得再进行其他的任何配置 2、PC1-PC2可以ping通客户平板和DNS服…

[视频处理]关于视频处理的多画面样式

在开发视频系统时,经常会遇到多画面的需求,这里收集一些多画面的素材,共大家参考。 图片来源于网络,仅供参考。 后续补充文章 【图像处理】使用FPGA实现视频多画面的方案 多画面样式

springboot集成easypoi

easypoi,主打的功能就是容易,通过简单的配置&#xff0c;就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出 pom导入依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-star…

【C++】priority_queue模拟实现过程中值得注意的点

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 前言 本篇文章旨在记录博主在模…

【差分数组】【图论】【分类讨论】【整除以2】100213按距离统计房屋对数目

作者推荐 【动态规划】【数学】【C算法】18赛车 本文涉及知识点 差分数组 图论 分类讨论 整除以2 LeetCode100213按距离统计房屋对数目 给你三个 正整数 n 、x 和 y 。 在城市中&#xff0c;存在编号从 1 到 n 的房屋&#xff0c;由 n 条街道相连。对所有 1 < i < n…

vivado JTAG链、连接、IP关联规则

JTAG链 这列出了定义板上可用的不同JTAG链。每个链都列在下面<jtag_chain>以及链的名称&#xff0c;以及定义名称和链中组件的位置&#xff1a; <jtag_chains> <jtag_chain name"chain1"> <position name"0" component"part0…

基于ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模教程

详情点击链接&#xff1a;基于ChatGPT4Python近红外光谱数据分析及机器学习与深度学习建模教程 第一&#xff1a;GPT4 1、ChatGPT&#xff08;GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变&#xff09; 2、ChatGPT对话初体验 3、GPT-4与GPT-3.5的区别&#xff0c;以及与…

使用WAF防御网络上的隐蔽威胁之目录穿越

目录穿越&#xff08;Directory Traversal&#xff09;是一种网络安全攻击手段&#xff0c;也被称为路径穿越。 这种攻击允许攻击者访问存储在Web服务器文件系统上的文件和目录&#xff0c;这些文件和目录原本不应该对用户可见或可访问。 通过利用安全漏洞&#xff0c;攻击者…

JOSEF约瑟 JGL-15静态带时限过流继电器 柜内安装,板前接线

系列型号 JGL-11反时限过流继电器&#xff1b;JGL-12反时限过流继电器&#xff1b; JGL-13反时限过流继电器&#xff1b;JGL-14反时限过流继电器&#xff1b; JGL-15反时限过流继电器&#xff1b;JGL-16反时限过流继电器&#xff1b; 用途&#xff1a; JGL-15 反时限过流继电器…