ensp 基于端口安全的财务部网络组建

ARP

IP数据包通过以太网发送,但以太网设备并不能识别IP地址,它们是以MAC地址传输的。因此,必须把IP目的地址转换成MAC目的地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。

ARP(Address Resolution Protocol)协议是网络层的协议,用于将IP地址解析为的MAC地址。

ARP的工作原理

每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以记录IP地址和MAC地址之间的对应关系。 主机(网络接口)在新加入网络时(也可能只是MAC地址发生变化,接口重启等),会发送ARP报文,把自己的IP地址与MAC地址的映射关系广播给其他主机。 网络上的主机接收到ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。具体工作过程如下。 (1)当源主机需要将一个数据包发送到目的主机时,会检查自己的ARP列表中是否存在该IP地址对应的MAC地址,若有,则直接将数据包发送到这个MAC地址;若没有,则向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包中包括源主机的IP地址、硬件地址,以及目的主机的IP地址。

(2)网络中所有的主机都收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。若不相同,则忽略此数据包;若相同,则该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,那么将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址。

(3)源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始进行数据的传输。如果源主机一直没有收到ARP响应数据包,那么表示ARP查询失败。

ARP报头结构

硬件类型:指明了发送方想知道的硬件端口类型,以太网的值为1。

协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制)。

硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。

操作类型:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。

源硬件地址(0-3字节):源主机硬件地址的前3个字节。

源硬件地址(4-5字节):源主机硬件地址的后3个字节。

源IP地址(0-1字节):源主机IP地址的前2个字节。

源IP地址(2-3字节):源主机IP地址的后2个字节。

目的硬件地址(0-1字节):目的主机硬件地址的前2个字节。

目的硬件地址(2-5字节):目的主机硬件地址的后4个字节。

目的IP地址(0-3字节):目的主机的IP地址。 

 端口安全

在对接入用户的安全性要求较高的网络中,可以配置端口安全功能,将端口学习到的MAC地址转换为安全MAC地址,端口学习的最大MAC数量达到上限后不再学习新的MAC地址,只允许学习到MAC地址的设备通信。或者通过手动配置将端口和MAC地址一一对应。这样可以阻止其他非信任用户通过本端口和交换机通信,提高设备与网络的安全性。

端口安全一般应用在接入层设备,通过配置端口安全可以防止仿冒用户从其他端口发起攻击。在接入层交换机的每个端口都开启端口安全功能,并绑定接入用户的MAC地址与VLAN信息,当有非法用户通过已配置端口安全的端口接入网络时,交换机会查找对应的MAC地址表,若发现非法用户的MAC地址与表中的不符,则将数据包丢弃。

在计算机中执行【ipconfig /all】命令即可查看本机的MAC地址,【ARP -a】命令可以查看邻近计算机的MAC地址和IP地址。

在交换机上执行【display mac-address】命令可以查看对应端口上的MAC地址 

MAC地址是计算机的唯一物理标识,可以在交换机对应的端口上进行绑定,非绑定的MAC地址将无法接入到网络中

在进行端口绑定时,需要查看两个信息,一个是计算机的MAC地址,另一个是计算机接入的端口

ensp模拟

A公司有研发部、商务部、资料部3个部门,资料部为重要部门,该部门的所有员工都使用指定的计算机访问资料部Server获取资料,为防止员工和访客使用个人计算机接入网络,作为网络管理员,您将在公司部署端口安全技术,以提高资料部的网络安全性,实训拓扑图如图所示

在sw1g0/0/1扣绑定两个mac地址(pc1 pc3)来限制只有几台机器能够访问server,其他机器不行 

通过在交换机的端口上绑定限定的PC的MAC地址(MAC地址也称机器号,是唯一的)来实现其他机器即使使用这个端口连接交换机也访问不了秘密资料

 

 绘制拓扑图

PC配置IP地址

PC1 ping2~5,在S1上生成mac缓存

在SW1上使用【display mac-address】命令查看交换机与计算机之间连接的端口对应的MAC地址

开启该交换机端口的端口安全, 并绑定对应的MAC地址

PC2ping PC1

PC5pingPC1,在S2上生成PC5mac缓存 【display mac-address】

s1端口绑定MAC地址(注:mac地址要用交换机学习到的MAC地址变的安全动态MAC)直接用PC的mac地址是无效的

【port-security mac-address sticky】命令用来开启端口MAC地址绑定功能。执行【port-security mac-address sticky】命令后,可以执行【port-security mac-address sticky mac-address vlan vlan-id】命令手动配置一条MAC地址绑定表项

s2端口绑定PC5的地址

PC1pingPC5测试网络通断

pingPC2测试通断

修改PC5或PC1的MAC地址,来模拟其他机器接入网络进行访问

PC5pingPC1测试网络通断(这里应该是改PC1 的MAC地址后PC1pingPC5)

 

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

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

相关文章

在 Ubuntu 上安装 Muduo 网络库的详细指南

在 Ubuntu 上安装 Muduo 网络库的详细指南 首先一份好的安装教程是非常重要的 C muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装-CSDN博客 像这篇文章就和shit一样,安装到2%一定会卡住,如果你不幸用了这个那真是遭老罪了 环境&#xf…

Idean 处理一个项目引用另外一个项目jar 但jar版本低的问题

当在idea中一个module A引用另外一个项目B的jar,但是从私服仓库中拉下的jar版本比较低导致编译不通过时,可以把项目B拉下来,重新编译打包jar跟新到本地的仓库 选中右边菜单的Maven 选中对应的项目B-》Lifecycle->双击 install也可以按住c…

Windows下安装Rabbit MQ

一、安装环境: 系统:windows11; 环境配置安装:otp_win64_25.3.2.14.exe(erlang类库); 服务应用安装:rabbitmq-server-3.12.4.exe; 二、erlang环境: 1.执行…

生态学研究中,森林生态系统的结构、功能与稳定性是核心研究

在生态学研究中,森林生态系统的结构、功能与稳定性是核心研究内容之一。这些方面不仅关系到森林动态变化和物种多样性,还直接影响森林提供的生态服务功能及其应对环境变化的能力。森林生态系统的结构主要包括物种组成、树种多样性、树木的空间分布与密度…

基于UNITY3D的照片墙演示项目技术分享

unity实现超大图片墙演示,由于拥有海量图片,使用了CPU 多线程,unity dots技术,图片组成文字部分,使用了点阵图技术,提取文字像素。 (关于点阵介绍) 点阵字体是把每一个字符都分成1616或2424个点…

设计模式-访问者设计模式

介绍 访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变个元素的类的前提下定义作用于这些元素的新操作。 问题:在一个机构里面有两种员工,1.Teacher 2.Engineer 员…

ISO/IEC 25010:2023 系统和软件的质量模型(产品质量模型)

本文是对ISO/IEC 25010 2023年底第2版:系统和软件工程-系统和软件质量要求与评估 (SQuaRE)-产品质量模型一文的转载,此外还参考了ISO/IEC 25019:2023(en) Systems and software engineering — Systems and software Quality Requirements and Evaluatio…

【零基础保姆级教程】制作自己的数据集——Labelimg的安装与使用及常见的报错解决方法

1.是什么 LabelImg 是一个图形化的图像标注工具,主要用于机器学习和计算机视觉领域中的数据预处理。它是由 GitHub 用户 tzutalin 开发的开源项目,基于 Python 和 Qt 框架编写。LabelImg 允许用户手动为图像添加边界框(bounding boxes&#…

【java基础系列】实现数字的首位交换算法

在java中&#xff0c;手写实现一个数字的首位交换算法实现 实现效果 实现代码 核心业务代码 public static void main(String[] args) {int[] arr {1,2,3,4,5};int temp arr[0];for (int i 0; i < arr.length; i) {System.out.print(arr[i]);}System.out.println(&quo…

【java面向对象编程】第七弹----Object类、类变量与类方法

笔上得来终觉浅,绝知此事要躬行 &#x1f525; 个人主页&#xff1a;星云爱编程 &#x1f525; 所属专栏&#xff1a;javase &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 一、Object类 1.1equa…

GO--堆(have TODO)

堆 堆&#xff08;Heap&#xff09;是一种特殊的数据结构。它是一棵完全二叉树&#xff08;完全二叉树是指除了最后一层外&#xff0c;每一层上的节点数都是满的&#xff0c;并且最后一层的节点都集中在左边&#xff09;&#xff0c;结放在数组&#xff08;切片&#xff09;中…

java开发入门学习五-流程控制

流程控制语句 if&#xff0c; if...else&#xff0c; if..else if..else 与前端相同 略 switch case 与前端不同的是case不能使用表达式&#xff0c;使用表达式会报错 class TestSwitch {public static void main(String[] args) {// switch 表达式只能是特定的数据类型…

豆包MarsCode测评:编程效率再提升

豆包MarsCode测评&#xff1a;编程效率再提升 本文正在参与豆包MarsCode AI 编程体验家活动 随着人工智能技术的发展&#xff0c;编程的方式也在悄然发生变化。最近&#xff0c;豆包推出的 AI 编程工具 MarsCode 在开发者社区引发了不小的关注。这是一款支持多种主流编程语言…

FFmpeg 框架简介和文件解复用

文章目录 ffmpeg框架简介libavformat库libavcodec库libavdevice库 复用&#xff08;muxers&#xff09;和解复用&#xff08;demuxers&#xff09;容器格式FLVScript Tag Data结构&#xff08;脚本类型、帧类型&#xff09;Audio Tag Data结构&#xff08;音频Tag&#xff09;V…

Unity开发哪里下载安卓Android-NDK-r21d,外加Android Studio打包实验

NDK下载方法&#xff08;是r21d,不是r21e, 不是abc, 是d版本呢) google的东西&#xff0c;居然是完全开源的 真的不是很多公司能做到&#xff0c;和那种伪搜索引擎是不同的 到底什么时候google才会开始造车 不过风险很多&#xff0c;最好不要合资&#xff0c;风险更大 Andr…

leetcode-128.最长连续序列-day14

为什么我感觉上述代码时间复杂度接近O(2n), 虽然有while循环&#xff0c;但是前面有个if判断&#xff0c;能进入while循环的也不多&#xff0c;while循环就相当于两个for循环&#xff0c;但不是嵌套类型的&#xff1a; 变量作用域问题&#xff1a;

人工智能入门是先看西瓜书还是先看花书?

在人工智能入门时&#xff0c;关于先看《机器学习》&#xff08;西瓜书&#xff09;还是先看《深度学习》&#xff08;花书&#xff09;的问题&#xff0c;实际上取决于个人的学习目标和背景。 《机器学习》&#xff08;西瓜书&#xff09;由周志华教授撰写&#xff0c;是一本…

B 站数据库负责人赵月顺:助力海内外业务增长,百套 TiDB 的选型与运维实战

导读 B 站对 TiDB 的应用已相当广泛&#xff0c;被应用在了 包括视频观看、一键三连、发送弹幕、撰写评论、阅读漫画以及视频后端的存储等场景&#xff0c; 目前拥有近 100 套集群。 本文由 B 站数据库负责人赵月顺撰写&#xff0c; 详细介绍了 B 站面临业务增长选择 TiDB 的…

二九(vue2-05)、父子通信v-model、sync、ref、¥nextTick、自定义指令、具名插槽、作用域插槽、综合案例 - 商品列表

1. 进阶语法 1.1 v-model 简化代码 App.vue <template><!-- 11-src-下拉封装 --><div class"app"><!-- <BaseSelect :cityId"selectId" changeId"handleChangeId"></BaseSelect> --><!-- v-model 简化…

flask-admin+Flask-WTF 实现实现增删改查

背景&#xff1a; flask-adminflask-wtf在网上可以搜索到很多资料&#xff0c;但有价值的很少&#xff0c;或许是太简单&#xff0c;或者是很少人这么用&#xff0c;或者。。。&#xff0c;本文将作者近礼拜摸索到的一点经验分享出来&#xff0c;给自己做个记录。 材料&#…