arp欺骗(通俗易懂)

一、ARP欺骗的定义

ARP(Address Resolution Protocol)即地址解析协议,它的主要作用是将IP地址转换为对应的MAC地址,以便在局域网内实现数据的准确传输。

ARP欺骗,也被称为ARP毒化(ARP Poisoning),是一种针对局域网(LAN)的网络攻击技术。攻击者通过发送伪造的ARP消息,来篡改目标设备(如计算机、路由器等)中的ARP缓存表。正常情况下,设备的ARP缓存表中记录着IP地址与MAC地址的正确对应关系,而通过ARP欺骗,攻击者使得目标设备将错误的MAC地址与特定的IP地址关联起来,从而导致网络通信出现异常,攻击者就可以实现诸如监听网络流量、中间人攻击、阻断网络连接等恶意目的。

二、ARP欺骗的原理

  1. ARP缓存机制

    • 当一台设备(如主机A)想要与同一局域网内的另一台设备(如主机B)通信时,它首先会查看自己的ARP缓存表,看是否已经有主机B的IP地址对应的MAC地址记录。
    • 如果缓存表中有记录,就直接使用该MAC地址进行数据帧的封装和发送;如果没有,主机A就会发送一个ARP请求广播包,询问“谁是这个IP地址(主机B的IP地址)的所有者,请回复你的MAC地址”。
    • 主机B收到这个ARP请求后,会回复一个ARP应答包,告诉主机A自己的MAC地址,然后主机A就会把这个对应关系记录到自己的ARP缓存表中,缓存表中的记录通常会有一定的存活时间,到期后会被清除或更新。
  2. 欺骗过程

    • 攻击者(主机C)会发送伪造的ARP应答包到目标设备(主机A)。比如,主机A原本要和主机B通信,正常情况下应该收到主机B回复的真实ARP应答包来获取主机B的MAC地址。但攻击者主机C伪造一个ARP应答包,声称自己就是主机B(即把应答包中的源IP地址写成主机B的IP地址,源MAC地址写成自己主机C的MAC地址)并发送给主机A。
    • 主机A收到这个伪造的ARP应答包后,就会更新自己的ARP缓存表,把主机B的IP地址对应的MAC地址错误地记录为攻击者主机C的MAC地址。此后,当主机A要给主机B发送数据时,实际上会把数据发送到攻击者主机C,主机C就可以对这些数据进行拦截、篡改等恶意操作了。

三、举例说明

假设在一个小型办公局域网中有以下几台设备:

  1. 正常通信场景

    • 员工甲的电脑(IP地址为192.168.1.10,MAC地址为AA:BB:CC:DD:EE:FF)想要访问公司的文件服务器(IP地址为192.168.1.20,MAC地址为11:22:33:44:55:66)。
    • 员工甲的电脑首先查看自己的ARP缓存表,发现没有文件服务器的MAC地址记录,于是就发送一个ARP请求广播包。
    • 文件服务器收到这个ARP请求后,回复一个ARP应答包,告知自己的MAC地址。员工甲的电脑收到应答包后,将文件服务器的IP地址和MAC地址对应关系记录到ARP缓存表中,然后就可以正常地与文件服务器进行数据传输,比如访问文件、上传下载资料等。
  2. ARP欺骗攻击场景

    • 攻击者(黑客)的电脑(IP地址为192.168.1.30,MAC地址为33:44:55:66:77:88)想要对员工甲的电脑进行ARP欺骗攻击,以获取员工甲与文件服务器之间传输的数据。
    • 攻击者首先监听局域网内的ARP请求和应答包,了解到员工甲的电脑和文件服务器之间的通信需求。
    • 然后,攻击者发送伪造的ARP应答包给员工甲的电脑,在这个伪造的应答包中,把源IP地址写成文件服务器的IP地址(192.168.1.20),把源MAC地址写成自己的MAC地址(33:44:55:66:77:88)。
    • 员工甲的电脑收到这个伪造的ARP应答包后,更新自己的ARP缓存表,将文件服务器的IP地址192.168.1.20对应的MAC地址错误地记录为攻击者电脑的MAC地址33:44:55:66:77:88。
    • 此后,当员工甲的电脑要给文件服务器发送数据时,实际上是把数据发送到了攻击者的电脑。攻击者就可以在自己的电脑上使用相关工具对这些数据进行监听、拦截,比如获取员工甲上传到文件服务器的机密文件内容,或者篡改员工甲从文件服务器下载的文件等,同时还可以继续转发这些数据到文件服务器(实现中间人攻击),让员工甲和文件服务器都感觉不到通信已经被中间人介入了,只是可能会察觉到网络速度稍有变慢等不太明显的异常情况。

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

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

相关文章

初始JavaEE篇 —— 网络编程(2):了解套接字,从0到1实现回显服务器

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏:JavaEE 目录 TCP 与 UDP Socket套接字 UDP TCP 网络基础知识 在一篇文章中,我们了解了基础的网络知识,网络的出…

【月之暗面kimi-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

架构师备考-概念背诵(软件工程)

软件工程 软件开发生命周期: 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。软件开发时期:就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。软件运行和维护:就是…

[FBCTF 2019]rceservice 详细题解

知识点: json字符串 PHP正则表达式元字符 PCRE回溯机制绕过正则表达式 %0a 换行符绕过正则表达式(详细讲解) 提示 Enter command as JSON 题目还有一个附件,打开是index.php文件源码 <?php putenv(PATH/home/rceservice/jail); if (isset($_REQUEST[cmd])) {$json $_…

【竞技宝】DOTA2-梦幻联赛S24:圣剑美杜莎强拆基地终结比赛

北京时间11月9日,DOTA2的梦幻联赛S24继续进行。本日迎来第二阶段的B组二、三名加赛PARI对阵spirit。本场比赛双方前两局战至1-1平,决胜局同样是难分胜负打到了六十分钟之后,关键时刻spirit主动出击,圣剑美杜莎强拆基地成功一波结束比赛,最终spirit让一追二击败PARI。以下是本场…

计算机的错误计算(一百四十九)

摘要 探讨 MATLAB 中 的计算精度问题。当 为含有小数的大数或整数附近数时&#xff0c;输出会有错误数字。 例1. 已知 计算 直接贴图吧&#xff1a; 另外&#xff0c;16位的正确值分别为 0.6374239897486897e0、-0.6613118653236519e0、0.3769911184298822e-5 与…

力扣 多数元素

用了排序跟抵消。 题目 由题可知&#xff0c;多数元素是指在数组中出现次数大于一半的元素&#xff0c;且总是存在多数元素。不难想到&#xff0c;把数组排序后&#xff0c;这个数组的中间数一定是这个要找的元素。 用了sort排序&#xff0c;时间复杂度O&#xff08;nlogn&am…

Oracle OCP认证考试考点详解082系列11

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 51. 第51题&#xff1a; 题目 51.View the Exhibit and examine the description of the tables You execute this SQL statement Whi…

前端小知识:如何理解这个新特性 ?= 运算符

在日常的JavaScript开发中&#xff0c;我们经常会处理一些异步任务&#xff0c;避免代码出错&#xff0c;这时候常见的工具就是 try-catch 块和 async-await 语法。这些工具虽好&#xff0c;但当我们代码量一多&#xff0c;整个代码结构可能会显得很臃肿&#xff0c;阅读起来也…

Redhat切换其他源

1. 效果图 2. 安装 RPM 包的命令 rpm -ivh --nodeps --force epel-release-latest-8.noarch.rpm rpm -ivh --nodeps --force yum-4.7.0-4.el8.noarch.rpm rpm -ivh --nodeps --force yum-utils-4.0.21-3.el8.noarch.rpm 3. 修改默认源 vi /etc/yum.repos.d/redhat.repo[BaseO…

如何使用OpenCV和Python进行相机校准

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

「Mac畅玩鸿蒙与硬件32」UI互动应用篇9 - 番茄钟倒计时应用

本篇将带你实现一个番茄钟倒计时应用&#xff0c;用户可以设置专注时间和休息时间的时长&#xff0c;点击“开始专注”或“开始休息”按钮启动计时&#xff0c;应用会在倒计时结束时进行提醒。番茄钟应用对于管理时间、提升工作效率非常有帮助&#xff0c;并且还会加入猫咪图片…

Qt/C++ 海康SDK开发示例Demo

*** 工业相机在机器视觉中起到关键作用&#xff0c;本文基于海康 SDK 详细解读了设备连接与控制的各个步骤。内容涵盖设备枚举、句柄创建、图像采集回调以及设备异常处理&#xff0c;帮助开发者快速理解如何通过代码控制相机&#xff0c;实时采集并处理图像数据。*** 1. 搜索并…

探索 Python 的新边疆:sh 库的革命性功能

文章目录 **探索 Python 的新边疆&#xff1a;sh 库的革命性功能**第一部分&#xff1a;背景介绍第二部分&#xff1a;sh 库是什么&#xff1f;第三部分&#xff1a;如何安装 sh 库&#xff1f;第四部分&#xff1a;简单库函数使用方法1. 执行 ls 命令2. 使用 grep 搜索文件内容…

深度学习——前向传播与反向传播、神经网络(前馈神经网络与反馈神经网络)、常见算法概要汇总

文章目录 &#x1f33a;深度学习面试八股汇总&#x1f33a;前向传播与反向传播前向传播&#xff08;Forward Propagation&#xff09;反向传播&#xff08;Back Propagation&#xff09;总结 神经网络简介结构类型前馈神经网络&#xff08;Feedforward Neural Network, FFNN&am…

MySQL 中的索引下推功能

看到索引&#xff0c;应该大家都可以联想到这个是和查询效率有关系的&#xff0c;既然有这个功能&#xff0c;那么那句古话说的好啊&#xff1a;存在即合理。那么这个就是说有了这个功能&#xff0c;可以提升查询效率。 什么是索引下推 我们先有一个大概的理解&#xff1a;在…

#渗透测试#SRC漏洞挖掘# 操作系统-Linux系统之基本命令、资源耗尽脚本编写

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

软考中级 软件设计师 上午考试内容笔记(个人向)Part.1

软考上午考试内容 1. 计算机系统 计算机硬件通过高/低电平来模拟1/0信息&#xff1b;【p进制】&#xff1a; K n K n − 1 . . . K 2 K 1 K 0 K − 1 K − 2... K − m K n r n . . . K 1 r 1 K 0 r 0 K − 1 r − 1 . . . K − m r − m K_nK_{n-1}...K_2K_1K_0K…

IDA*算法 Power Calculus————poj 3134

目录 闲聊 前言 DFS算法的无效搜索 BFS算法的空间浪费 IDDFS A*算法 IDA* Power Calculus 问题描述 输入 输出 问题分析 代码 闲聊 前几周在忙着数学竞赛&#xff0c;所以就没时间更新&#xff0c;高等数学&#xff0c;一生之敌&#xff0c;真不知道报名的时候我是怎么想…

基于python深度学习技术矩阵分解的推荐系统,通过学习隐含特征,实现推荐

实现了一个基于矩阵分解的推荐系统&#xff0c;用于预测用户对电影的评分。具体来说&#xff0c;该程序通过TensorFlow构建和训练一个模型&#xff0c;来学习用户和电影之间的隐含特征&#xff0c;并根据这些特征预测评分。以下是代码的主要功能和步骤的详细描述&#xff1a; …