ARP相关

ARP报文格式:

目的以太网地址,48bit,发送ARP请求时,目的以太网地址为广播MAC地址,即0xFF.FF.FF.FF.FF.FF。

源以太网地址,48bit。

帧类型,对于ARP请求或者应答,该字段的值都为0x0806。

硬件地址的类型。对于以太网,该类型的值为0x0001。

协议类型,对于IP地址,该值为0x0800。

硬件地址长度,对于ARP请求或者应答,该值为0x06。

协议地址长度,对于ARP请求或者应答,该值为0x04。

操作类型:对于ARP请求来说,该值为0x0001

         对于ARP应答来说,该值为0x0002.

         对于RARP请求来说,该值为0x0003.

         对于RARP应答来说,该值为0x0004.

发送方以太网地址:与以太网首部的源以太网地址是重复信息。

发送端IP地址: 32bit。

接收方以太网地址:发送ARP请求时,该处填充值为0x00.00.00.00.00.00

接收方的IP地址:32bit。

免费ARP:

普通 ARP 报文中的目标 IP 地址是其他主机的 IP 地址;而免费 ARP 的请求报文中,目标 IP 地址是自己的 IP 地址。

免费 ARP 数据包有以下 3 个作用:

  • 该类型报文起到一个宣告作用。它以广播的形式将数据包发送出去,不需要得到回应,只为了告诉其他计算机自己的 IP 地址和 MAC 地址。
  • 可用于检测 IP 地址冲突。当一台主机发送了免费 ARP 请求报文后,如果收到了 ARP 响应报文,则说明网络内已经存在使用该 IP 地址的主机。
  • 可用于更新其他主机的 ARP 缓存表。如果该主机更换了网卡,而其他主机的 ARP 缓存表仍然保留着原来的 MAC 地址。这时,可以发送免费的 ARP 数据包。其他主机收到该数据包后,将更新 ARP 缓存表,将原来的 MAC 地址替换为新的 MAC 地址。

地址冲突的主机对于免费ARP响应也是需要回复的,回复的也是免费ARP响应,与其说是给地址冲突的主机回复,不如说是告诉整个广播域,我的IP才是xxx,然后源主机收到后又会广播免费ARP响应,两台地址冲突的主机轮流发。

一个MAC关联多个IP地址的场景:

无线路由器工作在无线中继模式下,这个中继下面连了一堆设备,每个设备都有IP,这些IP是上级路由器分配的,但是上级路由器却看不到他们的Mac地址,上级路由器只能看到这个中继的Mac,对上级路由器来说,只看到这个中继申请了一堆IP,而不知道中继是为他的下级设备申请的。

ARP防欺骗:

免费ARP防欺骗开关为ON, 1分钟内检测到30次以上(含30次)刷新本板ARP表中某IP地址对应MAC地址的请求,上报告警。

ARP黑名单:

一般ARP条目建立后,如果1分钟没有变化,则置为Trust状态。

支持ARP冲突时触发ARP主动学习。本功能支持以太主接口、以太子接口、TRUNK主接口、TRUNK子接口。

● 如果当前已有信任MAC1,如果收到MAC不同的ARP报文时,立刻刷新MAC,并进行ARP攻击判定处理。

●ARP攻击判定处理过程:

□ 将该非信任MAC放入攻击者MAC队列。针对每条动态ARP表项,维护一个信任MAC和一个长度为3的潜在攻击者MAC(即非信任MAC)队列(非黑名单)。如果队列已满,则踢掉ARP报文接收统计次数最少的那个非信任MAC。

□ 发送N次广播ARP请求,N可以全局配置,5<=N<=15,默认N=5,请求报文的发送间隔为1秒。□ 针对攻击者MAC队列里的每个MAC,统计该MAC发来的ARP报文个数。一旦收到 N/2+1 次信任MAC的应答,则立刻结束确认过程,此时查看攻击者MAC队列,将发送ARP报文次数大于或等于 N/2+1 次的攻击者MAC加入黑名单,其他的攻击者MAC直接从攻击者MAC队列里清除,并且上报告警消除。

□ 如果N次广播ARP请求发送完毕后,再等待1秒钟,还没有收到 N/2+1 次信任MAC的应答,则该动态ARP表项无信任MAC,此时清空ARP潜在攻击者队列。

□ 如果一分钟内只收到新MAC的ARP报文,则重新建立信任关系;如果没有收到信任MAC的应答,但收到其他多个MAC应答,则按收到顺序刷新ARP表项,最终表项为最后一次收到的MAC。

动态黑名单老化机制:

支持黑名单的老化机制,默认的老化时间为20分钟。若20分钟里没有收到黑名单里对应MAC回应的ARP报文,则移出黑名单 ,如果黑名单中的MAC在老化时间(20分钟)内发起攻击,则重新开始等待20分钟。

ARP报文带VLAN:

当端口配置VLAN后,肯定会周期性发送带VLAN的免费ARP,但是不带VLAN的免费ARP报文发不发取决于ARP广播报文携带VLANID开关参数的配置。(arpbcpktvlanflag)

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

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

相关文章

怎么剪切视频中的一部分?看完你就知道了

怎么剪切视频中的一部分&#xff1f;随着自媒体的兴起&#xff0c;越来越多的人开始关注视频编辑和后期制作。在众多自媒体平台上&#xff0c;我们经常可以看到一些精彩的短视频&#xff0c;而这些视频往往都是经过精心编辑和剪切的。那么&#xff0c;怎么剪切视频中的一部分呢…

刘阳,定格历史,守护中华文化!

2021年2月24日&#xff0c;#圆明园365张珍贵老照片#的话题凭3.7亿阅读量冲上热搜。这批时代跨越80年的老照片仿佛重启记忆的按钮&#xff0c;让人梦回“夏宫”&#xff1b;少有人知道&#xff0c;它们的拥有者&#xff0c;却是一位不折不扣的80后。 刘阳&#xff0c;土生土长北…

制作一个Python聊天机器人

我们学习一下如何使用 ChatterBot 库在 Python 中创建聊天机器人&#xff0c;该库实现了各种机器学习算法来生成响应对话&#xff0c;还是挺不错的 什么是聊天机器人 聊天机器人也称为聊天机器人、机器人、人工代理等&#xff0c;基本上是由人工智能驱动的软件程序&#xff0…

情人节专属--HTML制作情人节告白爱心

💕效果展示 💕html展示 <!DOCTYPE html> <html lang="en" > <head>

基于springboot+vue的旅游网站系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Java 类与对象(对象的分配机制、对象的创建过程、匿名对象)

面向对象 面向对象编程&#xff08;Object-Oriented Programming 简称 OOP&#xff09;是一种程序设计思想和编码架构。 Java 是完全面向对象的&#xff0c; 必须熟悉 OOP 才能够编写 Java 程序。 面向对象的程序是由对象组成的&#xff0c;每个对象包含对用户公开的特定功能…

深入解析与实践:Ajax异步请求在Web开发中的应用指南

一、概述 1、定义 ​ Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;异步请求是现代Web开发中不可或缺的技术组件&#xff0c;它允许网页在不刷新整个页面的情况下从服务器获取并更新数据&#xff0c;从而实现动态、流畅的交互体验。 2、异步和同步 浏览器访…

计数排序(线性时间排序)

背景 1954年由 Harold H. Seward 提出 基本思想&#xff1a; 假设&#xff1a;计数排序假设n个输入元素中的每一个都是介于0到k之间的整数 举例&#xff1a;10 个年龄不同的人&#xff0c;统计出有 8 个人的年龄比 A 小&#xff0c;那 A 的年龄就排在第 9 位,用这个方法可以…

本地MinIO存储服务通过Java程序结合Cpolar内网穿透进行远程连接

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统&#xff0c;它可以100%的运行在标准硬件上&#xff0c;即X86等…

通讯录管理系统

文章目录 1.系统需求2.创建项目3.菜单功能4.退出功能实现5.添加联系人5.1设计联系人结构体5.2设计通讯录结构体5.3main函数中创建通讯录 6.显示联系人6.1封装显示联系人函数6.2测试显示联系人功能 7.删除联系人7.1封装检测联系人是否存在7.2封装删除联系人函数7.3测试删除联系人…

学习【Git项目管理工具】这一篇就够了

目录 1. Git概述2. Git代码托管服务3. Git常用命令3-1. Git全局配置设置用户信息查看配置信息 3-2. 获取Git仓库本地初始化仓库克隆远程仓库 3-3. 基本概念工作区文件状态 3-4. 本地仓库操作git reset 操作 3-5. 远程仓库操作查看远程仓库添加远程仓库推送远程仓库拉取远程仓库…

实战之-Redis商户查询缓存

一、什么是缓存? 前言:什么是缓存? 就像自行车,越野车的避震器 举个例子:越野车,山地自行车,都拥有"避震器",防止车体加速后因惯性,在酷似"U"字母的地形上飞跃,硬着陆导致的损害,像个弹簧一样; 同样,实际开发中,系统也需要"避震器",防止过高…

AWTK 开源智能串口屏方案视频介绍

强大的界面设计器 AWStudio。 基于 AWTK 实现强大的 GUI 功能&#xff08;多窗口、输入法、动画和各种控件&#xff09;。 基于 AWTK-MVVM 实现低代码开发&#xff08;编写绑定规则即可实现常见应用程序&#xff09;。 支持在 PC 上模拟运行&#xff0c;并提供 MCU 模拟器模…

SRC实战 | EDU通用漏洞分享

本文由掌控安全学院 - 叴龙 投稿 又是没事干的一天&#xff0c;写一下之前挖的两个通用漏洞。 1.信息搜集 首先就是信息搜集&#xff0c;挖edu没账号怎么办呢&#xff1f;sg不行&#xff0c;咱就找能自己注册的站。 Hunter&#xff1a;web.title”XX大学”&&web.bod…

2024 Google material-design-icons助力你创建更好的Material风格应用

2024 Google material-design-icons助力你创建更好的Material风格应用 Material Icons / Material Symbols 这是谷歌推出的两个不同的官方图标集&#xff0c;它们使用相同的基础设计。Material Icons是经典的图标集&#xff0c;而Material Symbols是在2022年4月引入的&#x…

Linux自动化构建工具——make和Makefile使用详解

一、初步认识make和Makefile 我们首先需要知道的是&#xff0c;make是一个命令&#xff0c;Makefile是一个文件&#xff0c;Makefile中包含了依赖关系和依赖方法。 从上面的文件以及指令中我们可以看到&#xff0c;我们可以在Makefile文件中写入依赖关系以及对应的依赖方法&…

设计模式⑦ :简单化

文章目录 一、前言二、Facade 模式1. 介绍2. 应用3. 总结 三、Mediator 模式1. 介绍2. 应用3. 总结 一、前言 有时候不想动脑子&#xff0c;就懒得看源码又不像浪费时间所以会看看书&#xff0c;但是又记不住&#xff0c;所以决定开始写"抄书"系列。本系列大部分内容…

配置redis挂载

1. 暂停和删除redis 2.创建文件夹 /usr/local/software/redis/6379/conf/ /usr/local/software/redis/6379/data/ 把redis-conf文件上传到conf文件夹中 3.配置网络 docker network create --driver bridge --subnet172.18.12.0/16 --gateway172.18.1.1 wn_docker_net 4.运…

Go后端开发 -- 反射reflect 结构体标签

Go后端开发 – 反射reflect && 结构体标签 文章目录 Go后端开发 -- 反射reflect && 结构体标签一、反射reflect1.编程语言中反射的概念2.interface 和反射3.变量内置的pair结构4.reflect的基本功能TypeOf和ValueOf5.从relfect.Value中获取接口interface的信息6…

C++ 设计模式之 中介者模式

【声明】本题目来源于卡码网&#xff08;题目页面 (kamacoder.com)&#xff09; 【提示&#xff1a;如果不想看文字介绍&#xff0c;可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 -- 什么是中介者模式 &#xff08;第16种模式&#xff09; 中介者模式&#xff08;Medi…