热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网络安全工程师教KaliLinux:ARP欺骗概述

课前声明:本分享仅做学习交流,请自觉遵守法律法规!搜索:Kali与编程,学习更多网络攻防干货!本节课中你将了解到:ARP欺骗的用处什么是ARP演示如何通信ARP欺骗原理

课前声明:
本分享仅做学习交流,请自觉遵守法律法规!
搜索:Kali与编程,学习更多网络攻防干货!

本节课中你将了解到:
ARP欺骗的用处
什么是ARP
演示如何通信
ARP欺骗原理

一、ARP欺骗的用处
ARP欺骗,作为中间人攻击手段中的一种,一是可以实现对局域网中用户的断网攻击(PS:天要使其灭亡,必先使其断网),二是可以获取到受害用户的数据流量包括浏览的网站,图片,甚至账号密码(PS:想想还是有点恐怖的!),接下来,先让我给你讲讲什么是ARP吧!
二、什么是ARP
ARP,即Address Resolution Protocol,地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。简单来说,就是将IP地址转换为物理地址(PS:在一个局域网中主机之间的通信是通过物理地址来完成的,计算机通信就像人类写信交流一样,必须要有个正确的收信地址,对方才有可能接收到,而在这个收信地址就是MAC地址)。附:计算机中会维护一个ARP缓存表,里面就是各个IP地址与物理地址之间的映射关系,可通过arp -a指令查看。
但是在计算机内部并没有这么简单,打个比方,如果我想用电脑给同处于一个局域网中的女神电脑发送一条消息,在计算机底层,我的舔狗电脑就会从已有的ARP缓存表中选择女神IP地址对应的MAC地址,如果找到了就将数据写入以太网数据帧中让网卡进行发送(PS:这句不懂请忽略,不影响操作),如果要是没有找到,那么就不能立即发送,计算机就会通过网关在局域网中广播一个ARP请求,该请求中包含了女神电脑的IP地址,该请求发出后,同处于一个局域网中的所有主机都会收到该请求,并检验自身的IP地址是否与收到请求中的IP地址吻合,如果吻合就会返回一个ARP应答,其中包含了目标主机的物理地址,然后我的电脑得到这个ARP应答后,就会在ARP缓存表中建立一个表项,将女神电脑的IP地址和MAC地址记录下来,并且重新给女神电脑发送消息。广播一个ARP请求这个过程就十分像在一个村子里(局域网)去村委会广播站(网关)用广播找人。整个通信过程中,值得注意是在必须在一个局域网中,因为如果是在公网中,情况将不一样,这里不做过多阐述。
网络安全工程师教Kali Linux:ARP欺骗概述
三、演示操作
这里我们通过Kali虚拟机和物理机进行演示,注意两台电脑必须处理同一局域网中!!!在虚拟机设置中,选择桥接模式即可。
首先分别通过ifconfig命令和ipconfig命令查出kali机和物理机的ip地址。
Kali:
网络安全工程师教Kali Linux:ARP欺骗概述物理机:
网络安全工程师教Kali Linux:ARP欺骗概述
从上两图中,我们可以看到两台电脑是处于同一个网段中的,两台电脑就可以ping通,分别在kali机中和物理机中ping 对方的ip地址。
Kali:
网络安全工程师教Kali Linux:ARP欺骗概述物理机:
网络安全工程师教Kali Linux:ARP欺骗概述
接着通过arp -a查看物理机中的ARP缓存表,如果两者之间没有进行通信,ARP缓存表中是没有对应的地址记录的。
网络安全工程师教Kali Linux:ARP欺骗概述
同理,在kali机中也能看到ARP缓存表中有对应的记录。
网络安全工程师教Kali Linux:ARP欺骗概述

四、ARP欺骗原理
明白了什么是ARP,以及知道如何通信,那么我们来讲讲ARP欺骗的原理。
ARP这种方式是不安全的,因为它并不会去验证ip地址与物理地址之间是否真的存在正确的映射,当我发送ARP请求找女神电脑地址时,结果一个抠脚大汉(黑客)贪图我的美貌,主动响应了我,给了我一个错误的女神地址,然后我再准备和女神聊天的时候,实际上我对着一个大汉在聊天(PS:这里抛开通讯软件的思维,从宏观上来讲),意思就是说,你有可能在广播站叫的是张三,但是由于你不认识张三,实际上跑过来的人是李四,你就以为这个人就是张三了。实际情况下,攻击者往往是将受害者的ARP缓存表中的网关的物理地址改成了攻击者的地址,受害者在进行通信时数据先流向攻击者计算机,如果攻击者将这些数据转发给了真正的网关,这样受害者的通信就得通过攻击者电脑,攻击者电脑也就实现获取受害者数据流量的目的,如果没有进行转发,那么受害者将无法进行正常通信,即断网。
以上就是关于APR欺骗概述的所有内容啦,想了解怎样通过实战实现ARP欺骗,请关注下一节哦!
原创不易,各位看官记得好评加关注哦!你也可搜索:Kali与编程,学习更多Kali Linux渗透与白帽编程技巧哦!
点我学习更多Kali Linux渗透测试与网络攻防实战技巧!


推荐阅读
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本文作为“实现简易版Spring系列”的第五篇,继前文深入探讨了Spring框架的核心技术之一——控制反转(IoC)之后,将重点转向另一个关键技术——面向切面编程(AOP)。对于使用Spring框架进行开发的开发者来说,AOP是一个不可或缺的概念。了解AOP的背景及其基本原理,对于掌握这一技术至关重要。本文将通过具体示例,详细解析AOP的实现机制,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 从无到有,构建个人专属的操作系统解决方案
    操作系统(OS)被誉为程序员的三大浪漫之一,常被比喻为计算机的灵魂、大脑、内核和基石,其重要性不言而喻。本文将详细介绍如何从零开始构建个人专属的操作系统解决方案,涵盖从需求分析到系统设计、开发与测试的全过程,帮助读者深入理解操作系统的本质与实现方法。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 掌握PHP框架开发与应用的核心知识点:构建高效PHP框架所需的技术与能力综述
    掌握PHP框架开发与应用的核心知识点对于构建高效PHP框架至关重要。本文综述了开发PHP框架所需的关键技术和能力,包括但不限于对PHP语言的深入理解、设计模式的应用、数据库操作、安全性措施以及性能优化等方面。对于初学者而言,熟悉主流框架如Laravel、Symfony等的实际应用场景,有助于更好地理解和掌握自定义框架开发的精髓。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 全面解析Java虚拟机:内存模型深度剖析 ... [详细]
  • Linux磁盘管理入门指南:MBR分区格式详解与安装步骤
    在 CentOS 7.x 环境下,本文详细介绍了 MBR 分区格式的基本概念及其安装步骤。实验中使用了 SAS 和 SATA 硬盘,其中 SAS 硬盘主要用于企业级应用和服务器,而 SATA 硬盘则广泛应用于个人计算机和低端服务器。文章通过具体操作示例,帮助读者更好地理解和掌握 Linux 磁盘管理的基本技能。 ... [详细]
author-avatar
gaoming1010_143
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有