当前位置: 首页 > news >正文

网络协议与攻击模拟_11DHCP欺骗防护

开启DHCP 监听

ip dhcp snooping

指定监听vlan

ip dhcp snooping vlan 1

由于开启监听后,交换机上的接口就全部变成非信任端口,

非信任端口会拒绝DHCP报文,会造成正常的DHCP请求和响应都无法完成。

现在是请求不到IP地址的,现在就请求到一个169.254.X.X 

仿真模式

交换机的非信任端口会拒绝DHCP报文,不单单是客户机的请求报文,还有服务器的响应报文。

配置信任端口

将正常的接口配置为信任端口,在Fa0/1和Fa0/3接口配置信任端口。

int f0/1
​​​​​​​ip dhcp snooping trust

仿真模式

只有Fa0/2非线性端口的DHCP报文会被拒绝

最终PC0会获得从正常的DHCP服务器传回来的报文

选项“82”

目的是请求的时候属于哪个vlan,启用,请求的时候你会有一些字段就是DHCP报文中option字段的信息,这个需要抓包才能看出来,需要用华为模拟器做实验,因为GNS3是用路由器模拟的,抓不了包,只能用仿真模式简单看一下。可以在华为上面做下,抓下包,看看启用选项“82”和未启用选项“82”抓到的数据包有何区别。

ip dhcp snooping information option

限制DHCP的报文速率,减缓DHCP耗尽攻击(在非信任端口配置)

ip dhcp snnoping limit rate 100            //速率单位pps

启用核实MAC地址功能

检测非信任端端口请求中的源MAC和DHCP;

Fa0/2没有配DHCP trust,但是它还是能去发DHCP的;

ip dhcp snooping verfiy mac-address

删掉DHCP trust

int f0/1
no ip dhcp snooping trust

重新用客户机PC0去请求DHCP,报文来到交换机被拒绝了

只是为Fa0/1接口设置DHCP trust之后PC0也未能获取IP

int f0/1
ip dhcp snooping trust

现在再把Fa0/3接口设置为DHCPtrust

好像Fa0/3接口配置为trust后,Fa0/2接口也被信任了。

服务器1DHCP 也可以请求到,这是怎么回事?

Fa0/2是非信任端口,Fa0/1和Fa0/3是信任端口

从开启DHCP snooping之后,交换机上面端口都会变成非信任端口

Fa0/1和Fa0/2没有配置信任端口,Fa0/3配置为信任端口,Server1也可以从正常的DHCP Server请求到IP。

 然后把正常服务器的DHCP关掉

仿真模式打开

启用核实MAC地址功能,避免DHCP耗尽攻击

检测非信任端口的请求中源MAC地址和DHCP请求报文中的客户端MAC地址是否相同

ip dhcp snooping verfiy mac-address

总结

当交换机开启dhcp snooping之后,所有接口变成非信任接口,会拒绝DHCP报文;

当把交换机上的某一个接口设置为信任端口后,其他所有接口变为可信任端口,会拒绝DHCP Offer报文,但是不会拒绝DHCP Discover和DHCP Relese报文;

最好是用华为模拟器做实验,因为GNS3是用路由器模拟的,抓不了包,只能用仿真模式简单看一下。可以在华为上面做下,抓下包

相关文章:

  • 服务器常遇的响应状态码
  • Linux 驱动开发基础知识—— 具体单板的 LED 驱动程序(五)
  • 代码随想录算法训练营day 23|第六章 二叉树part09
  • Qt 5.9.4 转 Qt 6.6.1 遇到的问题总结(三)
  • 嵌入式Linux学习DAY18---IO编程
  • 正则表达式可视化工具regex-vis
  • 【Android】二级分类双列表联动Demo
  • 【Git】03 图形化工具
  • <网络安全>《15 移动安全管理系统》
  • Android 中的卡顿优化
  • 回归预测 | Matlab实现POA-CNN-LSTM-Attention鹈鹕算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)
  • OceanBase 4.2.2 GA 发布,全新特性快速预览!
  • 【C++】异常
  • 2024年美国大学生数学建模比赛MCM问题B:搜索潜水器-思路解析与代码解答
  • <Linux> 进程信号
  • [Vue CLI 3] 配置解析之 css.extract
  • 《剑指offer》分解让复杂问题更简单
  • 345-反转字符串中的元音字母
  • Android单元测试 - 几个重要问题
  • Docker下部署自己的LNMP工作环境
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript设计模式与开发实践系列之策略模式
  • Java应用性能调优
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS专题之继承
  • Laravel5.4 Queues队列学习
  • Web标准制定过程
  • win10下安装mysql5.7
  • 机器学习 vs. 深度学习
  • 实现菜单下拉伸展折叠效果demo
  • 小试R空间处理新库sf
  • 应用生命周期终极 DevOps 工具包
  • PostgreSQL之连接数修改
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​一些不规范的GTID使用场景
  • #每天一道面试题# 什么是MySQL的回表查询
  • (1) caustics\
  • (二)springcloud实战之config配置中心
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • .net CHARTING图表控件下载地址
  • .net MySql
  • .NET企业级应用架构设计系列之结尾篇
  • .NET中winform传递参数至Url并获得返回值或文件
  • @Autowired和@Resource的区别
  • []FET-430SIM508 研究日志 11.3.31
  • [20150904]exp slow.txt
  • [autojs]autojs开关按钮的简单使用
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [C++]类和对象【上篇】
  • [CodeForces-759D]Bacterial Melee
  • [HackMyVM]靶场 Wild
  • [Interview]Java 面试宝典系列之 Java 多线程
  • [LeetBook]【学习日记】数组内乘积