ARP Check

ARP Check所解决的问题

ARP Check主要用于解决ARP欺骗的问题,依赖于DHCP Snooping+IP Source Guard或者是端口安全+全局地址绑定来达到防止ARP欺骗的作用

一旦在端口下配置了ARP Check功能,那么如果不是表项中所对应的IP+MAC或是IP的话,就会拒绝其请求

ARP的工作原理

如下图,当PC1去访问PC3的时候,当数据包发到接入层交换机的时候,SW1会进行泛洪处理

image-20250114151435898

PC3收到数据后,会进行记录,接着会发送一个ARP应答包给SW1,SW1会进行什么IP地址对应哪个接口转发的绑定

最后SW1将ARP包发送给PC1,PC1就会开始发送数据

image-20250114152439429

ARP欺骗的工作原理

ARP欺骗主要使用用到ARP包两个不可改变的漏洞,1、无验证机制,2、后到优先,即后发的数据会进行更新

在其中,黑客PC2会通过伪造的ARP应答包,欺骗PC1和PC3,让它们误以为PC2就是对方,最后,它们两个的数据全部都被黑客PC2个截取了

欺骗的方式是在伪造的ARP应答包中,伪造为对方的IP,如PC2发送给PC1时,使用PC3的IP地址,但是还是使用PC2的MAC地址

因为接入层SW是二层设备,是看不出IP的不同,并且依然是使用PC2的MAC地址,所以在ARP应答的过程中,使得PC1的目标MAC为PC2,则接入层交换机也就自然而然地将数据发送给了PC2,这样依赖,PC1和PC3都被PC2给欺骗了

image-20250114153726306

ARP Check的两种模式

通过ARP Check可以解决ARP欺骗,但是后到优先的问题是依然无法解决的,只是解决ARP包无验证机制的漏洞

ARP Check依赖于DHCP Snooping+IP Source Guard或者是端口安全+全局地址绑定产生的IP或是IP+MAC的表项对ARP的真实性进行校验

校验失败的ARP包将会被直接丢弃掉,所以ARP Chek也就只有两种校验模式

1、仅检测IP,2、仅检测IP+MAC,都有不同的方式来创建表项

仅检测IP可以是IP-only模式,端口下进行对IP地址的绑定switchport port-security binding 172.16.1.10

或者是IP Source Guard的IP-only模式,端口下ip verify source,默认就是IP-only模式

仅检测IP+MAC可以通过端口安全的端口下配置switchport port-security binding 144f.d7c0.79c3 vlan 2 172.16.1.10

或全局地址绑定IP+MAC绑定,全局下配置address-bind 192.168.1.1 0001.0001.0001

或是IP Source Guard的IP-MAC模式,端口下开启这个模式ip verify source port-security,再由DHCP snooping来创建IP+MAC的表项

ARP Check的配置

因为ARP Check是依赖于DHCP Snooping+IP Source Guard或者是端口安全+全局地址绑定所产生的表项的

所以ARP Check配置起来并不麻烦,只需要再接口下开启这个功能即可

接口下开启ARP Check后,会严格按照产生表项来匹配那些数据不能进入,哪些数据可以进入

通常不会再上联接口(与网关的接口)配置ARP Check,而是与下联接口(与PC的接口)配置ARP Check

int g0/1-3
arp-check		//进入接口下开启ARP Check功能

网关ARP欺骗

网关ARP欺骗与普通的ARP欺骗是一样的,原因也是因为ARP包无验证与后到优先的原因

只不过欺骗的PC这次将直接模拟成了内网PC机的网关,这样就会造成内网的数据被嗅探到了

使得内网进行访问时可能会访问到其它的网站或者是无法正常进行访问

image-20250114160407822

网关ARP Check的配置

网关ARP Check的配置与普通ARP Check的配置相似,也是不会在上联接口配置,而是在下联接口配置

一旦收到了下联接口发出网关的IP地址,就会立即将这个ARP包丢弃掉

所以我们在配置时,还需要手动数据我们的IP地址

int g0/1-3
anti-arp-spoofing ip 192.168.1.254 		//g0/1-3为下联PC的接口,192.168.1.254为上联的网关IP地址

ARP Check注意事项

1、如果只在接口下开启,而没有配置如DHCP Snooping+IP Source Guard或者是端口安全+全局地址绑定的技术的话,那么接入层交换机会将收到的所有的ARP报文给丢弃掉

2、ARP Check与DHCP Snooping trust口是不能一致的,这也是我们为什么说APR Check不在上联口进行配置

3、不能在三层口上配置ARP Check

4、ARP Check仅支持IP检测与IP+MAC检测

5、使用ARP Check之前要有固定对应关系IP表现或是IP+MAC表项,也就是我们常说的DHCP Snooping+IP Source Guard或者是端口安全+全局地址绑定所产生的表项

6、DAI技术,也是一种ARP Check,只不过是动态ARP Check,其最大的区别在与DAI是作用与VLAN,而APR Check是作用与端口

网关ARP Check案例

因为ARP Check是基于DHCP Snooping+IP Source Guard或者是端口安全+全局地址绑定的,所以在配置ARP Chcek之前,我们还是需要配置上DHCP Snooping+IP Source Guard的

image-20250114161439866

核心交换机SW2上DHCP的配置

SW2(config)#service dhcp
SW2(config)#ip dhcp pool VLAN10
SW2(dhcp-config)#network 192.168.1.0 255.255.255.0
SW2(dhcp-config)#default-router 192.168.1.254
SW2(dhcp-config)#ex

接入交换机SW1上DHCP Snooping 的配置

SW1(config)#ip dhcp snooping 
SW1(config)#int g0/0
SW1(config-if-GigabitEthernet 0/0)#ip dhcp snooping trust
SW1(config-if-GigabitEthernet 0/0)#ex

接入交换机SW1上IP Source Guard 的配置

SW1(config)#ip source binding 0050.7966.6804 vlan 10 192.168.1.2 int g0/2		//PC2通过手动配置IP地址
SW1(config)#int range g0/1-3
SW1(config-if-range)#ip verify source port-security 

接入交换机SW1上ARP Check配置

SW1(config)#int range g0/1-3
SW1(config-if-range)#anti-arp-spoofing ip 192.168.1.254

查看ARP Check状态

SW1(config)#show int g0/1 arp-check list 
SW1(config)#show int g0/2 arp-check list 
SW1(config)#show int g0/3 arp-check list 

heck状态

SW1(config)#show int g0/1 arp-check list 
SW1(config)#show int g0/2 arp-check list 
SW1(config)#show int g0/3 arp-check list 

image-20250114165841172

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

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

相关文章

通信协议之多摩川编码器协议

前言 学习永无止境!本篇是通信协议之多摩川编码器协议,主要介绍RS485硬件层以及软件层帧格式。 注:本文章为学习笔记,部分图片与文字来源于网络/应用手册,如侵权请联系!谢谢! 一、多摩川协议概述…

Web前端第一次作业

主页代码&#xff1a; <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>主页</title> …

力扣动态规划-2【算法学习day.96】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;建议灵神的题单和代码随想录&#xff09;和记录自己的学习过程&#xff0c;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关…

LINUX 内核设计于实现 阅读记录(2025.01.14)

文章目录 一、内核历史1、内核简介2、LINUX 内核与 UNIX 内核比较3、LINUX内核版本命名 二、从内核出发1、获取内核源码&#xff08;1&#xff09;查看Linux内核版本 uname -r&#xff08;2&#xff09;下载源码 https://www.kernel.org/&#xff08;3&#xff09;编译内核 2、…

Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,不输GPT-3.5

大家好&#xff0c;我是编程乐趣。 行业诸多大佬一直在说&#xff1a;“‌2025年将是AI应用元年‌”&#xff0c;虽然说大佬的说法不一定对&#xff0c;但AI趋势肯定没错的。 对于我们程序员来说&#xff0c;储备AI应用开发技能&#xff0c;不管对找工作、接项目、创业肯定是…

Android系统开发(一):AOSP 架构全解析:开源拥抱安卓未来

引言 当我们手握智能手机&#xff0c;流畅地滑动屏幕、切换应用、欣赏动画时&#xff0c;背后其实藏着一套庞大且精密的开源系统——Android AOSP&#xff08;Android Open Source Project&#xff09;。这套系统不仅是所有安卓设备的根基&#xff0c;也是系统开发者的终极 pl…

【机器学习实战入门】基于深度学习的乳腺癌分类

什么是深度学习&#xff1f; 作为对机器学习的一种深入方法&#xff0c;深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构&#xff0c;这些架构由多层组成&#xff0c;数据必须通过这些层才能最终产生输出。…

ASP .NET Core 学习(.NET9)配置接口访问路由

新创建的 ASP .NET Core Web API项目中Controller进行请求时&#xff0c;是在地址:端口/Controller名称进行访问的&#xff0c;这个时候Controller的默认路由配置如下 访问接口时&#xff0c;是通过请求方法&#xff08;GET、Post、Put、Delete&#xff09;进行接口区分的&…

TextButton组件的功能与用法

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了CircleAvatar Widget,本章回中将介绍Button这种Widget&#xff0c;闲话休提&#xff0c;让我们一起Talk Flutter吧。 1 概念介绍 关于Button相信大家都很熟悉&#xff0c;也就是我们常用的按钮。用户按下按钮后…

3. 后端验证前端Token

书接上回&#xff0c;后端将token返回给前端&#xff0c;前端存入cookie&#xff0c;每次前端给后端发送请求&#xff0c;后端是如何验证的。 若依是用过滤器来实现对请求的验证&#xff0c;过滤器的简单理解是每次发送请求的时候先发送给过滤器执行逻辑判断以及处理&#xff0…

RabbitMQ-消息可靠性以及延迟消息

目录 消息丢失 一、发送者的可靠性 1.1 生产者重试机制 1.2 生产者确认机制 1.3 实现生产者确认 &#xff08;1&#xff09;开启生产者确认 &#xff08;2&#xff09;定义ReturnCallback &#xff08;3&#xff09;定义ConfirmCallback 二、MQ的持久化 2.1 数据持久…

大文件上传服务-后端V1V2

文章目录 大文件上传概述:minio分布式文件存储使用的一些技术校验MD5的逻辑 uploadV1 版本 1uploadv2 版本 2 大文件上传概述: 之前项目做了一个文件上传的功能,最近看到有面试会具体的问这个上传功能的细节&#xff0c;把之前做的项目拿过来总结一下&#xff0c;自己写的一个…

Web小练习01

#制作简易网页# 本章包括主页、注册页面、登陆页面 主页 1.1主页代码如下 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1…

SpringBoot多级配置文件

1.问题先导 有这样的场景&#xff0c;我们开发完毕后需要测试人员进行测试&#xff0c;由于测试环境和开发环境的很多配置都不相同&#xff0c;所以测试人员在运 行我们的工程时需要临时修改很多配置&#xff0c;如下 java –jar springboot.jar –-spring.profiles.activete…

2,Linux文件基本属性(基于Ubuntu示例进行讲解)

创建文件 创建文件touch命令创建文件夹mkdir命令写入文件内容echo命令 # 创建文件夹&#xff0c;文件夹名称为demo_001 mkdir demo_001# 创建文件&#xff0c;文件名称为demo_file_001.py touch demo_file_001.py# 写入内容到文件中&#xff0c;例如写入print("hello wo…

蓝桥杯训练—斐波那契数列

文章目录 一、题目二、解析三、代码 一、题目 求100以内的斐波那契数列 斐波那契数列&#xff08;Fibonacci sequence&#xff09;&#xff0c;又称黄金分割数列 &#xff0c;因数学家莱昂纳多斐波那契&#xff08;Leonardo Fibonacci&#xff09;以兔子繁殖为例子而引入&…

nginx 配置防爬虫

今天早上查看服务器&#xff0c;发现昨天发布的一个在线解析充电桩协议的网页工具有大量的访问记录&#xff0c;应该是爬虫在爬api接口数据。该工具api接口后台用的是python写的&#xff0c;和大多数项目一样也采用nginx反向代理&#xff0c;由于采用nginx&#xff0c;可以利用…

Mockito+PowerMock+Junit单元测试

一、单元测试用途 1、日常开发团队要求规范&#xff0c;需要对开发需求代码进行单元测试并要求行覆盖率达到要求&#xff0c;DevOps流水线也会开设相关门禁阀值阻断代码提交&#xff0c;一般新增代码行覆盖率80%左右。 二、Mock测试介绍 1、Mock是为了解决不同的单元之间由于…

左神算法基础提升--3

文章目录 Manacher 算法经典算法Manacher算法原理 单调栈或单调队列 Manacher 算法 经典算法 在每学习Manacher算法之前我们可能会使用一种比较经典暴力的算法&#xff1a;遍历str字符串&#xff0c;将字符串中的每个字符作为对称点&#xff0c;向两边扩散找到回文字段&#x…

Android系统开发(八):从麦克风到扬声器,音频HAL框架的奇妙之旅

引言&#xff1a;音浪太强&#xff0c;我稳如老 HAL&#xff01; 如果有一天你的耳机里传来的不是《咱们屯里人》&#xff0c;而是金属碰撞般的杂音&#xff0c;那你可能已经感受到了 Android 音频硬件抽象层 (HAL) 出问题的后果&#xff01;在 Android 音频架构中&#xff0c…