[na][dhcp]dhcp细枝末节&dhcp防攻
回顾了下,真是以前是一种感觉以后是一种感觉.
特点:
1.dhcp服务器上的配置的网关不一定要有这个ip
2.dhcp服务只是个类似数据库而已(如果不在一个lan).
3. 如果dhcp不在一个lan,pc广播所到交换机口的地方, 需要ip helper-address dhcp服务器地址, 广播转单播.
4. 协议弱点: 耗尽攻击+假冒攻击
dhcp数据包:
https://github.com/lannyMa/scripts/blob/master/pkgs/dhcp/
正常的dhcp机制学会了,更有意思的有dhcp攻击(1, dhcp耗尽攻击(交换机Port-Security防止) 2,dhcp假冒攻击,dhcp snooping解决)
正常的dhcp配置
dhcp实验环境
在server端
Router(config)#no ip dhcp conflict logging 关闭冲突记录信息
Router(config)#ip dhcp pool p1 启用DHCP功能,起个名字
Router(dhcp-config)#network 12.1.1.0 255.255.255.0 地址池
Router(dhcp-config)#default-router 12.1.1.1 配置网关
Router(dhcp-config)#dns-server 202.96.128.68 配置DNS
Router(dhcp-config)#lease 10 修改租期为10天
Router(config)#ip dhcp excluded-address 12.1.1.1 12.1.1.10 保留这十个地址,不下放,通常这些地址是给其它固定设备用的。
Debug ip dhcp server packet
Show ip dhcp binding 查看ip地址和mac地址的绑定
Router(config)#ip dhcp ping packets 3 DHCP服务器在分配一个地址之前,要先对这个地址PING一下(默认PING两个包),用来确定这个地址是否已被其他主机所用。
在client端:
Router(config-if)#ip address dhcp
show dhcp lease 显示学习到的地址
show dhcp server 显示学习到的其它信息
同一个广播域数据包
dhcp的ack报文必要性
dhcp中继-广播转单播
R2(config)#intface f0/0
R2(config-if)#ip helper-address 23.1.1.3 这个地址是DHCP服务器的地址
R3(config)#ip dhcp pool p1
R3(dhcp-config)#network 12.1.1.0 255.255.255.0
注意:在DHCP服务器上还必须有去PC所在网段的路由
注意:ip helper-address 命令默认情况下会转发8种UDP广播包,会占用带宽,建议关掉其他7种广播包的转发。
R1(config)#no ip forward-protocol udp ***
中继数据包:
OPTION 82
所谓Option 82是DHCP报文中的一个选项,支持option 82的接入交换机在做DHCP Relay的时候会在DHCP请求报文中的Option 82字段写入信息,包括交换机的MAC地址(这是对交换机的定位),以及DHCP请求是从交换机的那个端口进入网络的。利用这一功能,DHCP不仅仅可以提供IP和MAC的关联,还可以成功的将IP地址和计算机的物理接入位置有机的结合在一起。这对Trouble shooting、攻击定位都给予了极大的帮助。
dhcp防攻
这个东西可以模拟, 利用了二层协议的一些漏洞
http://www.yersinia.net/index.htm
Yersinia is a network tool designed to take advantage of some weakeness in different network protocols. It pretends to be a solid framework for analyzing and testing the deployed networks and systems.
Currently, there are some network protocols implemented, but others are coming (tell us which one is your preferred). Attacks for the following network protocols are implemented (but of course you are free for implementing new ones):
Spanning Tree Protocol (STP)
Cisco Discovery Protocol (CDP)
Dynamic Trunking Protocol (DTP)
Dynamic Host Configuration Protocol (DHCP)
Hot Standby Router Protocol (HSRP)
IEEE 802.1Q
IEEE 802.1X
Inter-Switch Link Protocol (ISL)
VLAN Trunking Protocol (VTP)
dhcp耗尽攻击
参考
防范策略: 交换机端口安全. 通过Port-Security技术来限制交换机每个端口可以学习到的最大MAC地址数量, show mac-address-table
伪造dhcp服务器攻击
防范策略: 交换机开启dhcp snooping
关于无线ap自动发现控制器选项dhcp option43配置
dhcp消息类型
dhcp的一个典故
为了便于理解,我们把DHCP客户机比做餐馆里的客人,DHCP服务器比做服务员(一个餐馆里也可以有多个服务
员),IP地址比做客户需要的食物。那么可以这样描述整个过程:客人走进餐馆,问:“有没有服务员啊?”
(DHCPdiscover),多个服务员同时回答:“有,我这有鸡翅”“有,我这有汉堡”(DHCPoffer)。客人说:“好
吧,我要一份汉堡”(DHCPrequest,这个客人比较死板,总是选择第一次听到的食物),端着汉堡的服务员回应了
一声:“来啦”(DHCPack),并把食物端到客人面前,供其享用(将网卡和IP地址绑定)。客人下次来的时候,就
直接找上次那个服务员点自己喜欢的汉堡了(DHCPrequest),如果还有汉堡,服务员会再次确认并上菜(DHCPack)
而如果已经卖完了,服务员则会告诉客人:“不好意思,已经卖完了”(DHCPnack)。当然,服务员隔一段时间会
来收拾一次桌子,除非客人特别说明这菜还要继续吃的,服务员会将剩菜端走。
DHCPINFORM会什么时候发出呢?
我发现我的内网中有很多这类的数据包. 它们可能都有配了固定的ip,同时内网dhcp服务器(三层交换)上有dhcp,我查了下,这些ip里,没有dhcp分配记录.
但是我没自己模拟出来, 网上查了下何时会发这种包, 都说的不是很清晰.
如果客户端通过其他方式获取了网络地址或具有手动配置的IP地址,则客户端工作站可能会使用DHCPINFORM请求消息来获取其他本地配置参数,例如域名和域名服务器(DNS)。接收DHCPINFORM消息的DHCP服务器使用适合于客户端的任何本地配置参数构造DHCPACK消息,而不分配新的IP地址。这个DHCPACK将被单播发送给客户端。
DHCPINFORM: If a client has obtained a network address through some other means or has a manually configured IP address, a client workstation may use a DHCPINFORM request message to obtain other local configuration parameters, such as the domain name and Domain Name Servers (DNSs). DHCP servers receiving a DHCPINFORM message construct a DHCPACK message with any local configuration parameters appropriate for the client without allocating a new IP address. This DHCPACK will be sent unicast to the
client.
[na][dhcp]dhcp细枝末节&dhcp防攻的更多相关文章
- DHCP欺骗(DHCP Sproofing)
DHCP欺骗(DHCP Sproofing) DHCP Sproofing同样是一种中间人攻击方式.DHCP是提供IP地址分配的服务.当局域网中的计算机设置为自动获取IP,就会在启动后发送广播包请 ...
- 编写脚本实现DHCP服务与DHCP中继自动化执行
编写脚本实现DHCP服务与DHCP中继自动化执行 本脚本是在liunx搭建DHCP服务器以及DHCP中继服务器实验环境下实现的https://www.cnblogs.com/yuzly/p/10539 ...
- liunx搭建DHCP服务器以及DHCP中继服务器
liunx搭建DHCP服务器以及DHCP中继服务器 一.实验拓扑 二.实验条件 虚拟机取消VMnet1和VMnet8的dhcp动态获取ip地址,以免影响实验 DHCPserver 网关以及DHCP中继 ...
- Python的网络编程[4] -> DHCP 协议[0] -> DHCP 的基本理论
DHCP协议 / DHCP Protocol 目录 DHCP 基本理论 DHCP 通信流程 DHCP 完整报文 DHCP 的 Optional 字段 DHCP 的报文类型 1 DHCP 基本理论 DH ...
- Python的网络编程[4] -> DHCP 协议[1] -> DHCP 的 Python 实现
DHCP实现 / DHCP Implement 目录 DHCP 服务器建立过程 DHCP 报文加码实现过程 下面介绍建立一个简单的DHCP服务器,主要用于对基本的DHCP请求进行响应,目前只提供一个I ...
- DHCP snooping(DHCP监听)
DHCP监听可以防范利用DHCP发起的多种攻击行为,如DHCP中间人攻击,伪造多台设备耗尽地址池 DHCP监听允许可信端口上的所有DHCP消息,但是却过滤非可信端口上的DHCP消息,DHCP监听还会在 ...
- CentOS-1810系统DHCP服务器ISC DHCP软件配置说明
DHCP 全称Dynamic Host configuration protocol, 动态主机配置协议.是一个局域网的网络协议,使用UDP协议工作,它可以为客户机自动分配IP地址.子网掩码以及缺省网 ...
- Debian9.5系统DHCP服务器ISC DHCP软件配置说明
DHCP 全称Dynamic Host configuration protocol, 动态主机配置协议.是一个局域网的网络协议,使用UDP协议工作,它可以为客户机自动分配IP地址.子网掩码以及缺省网 ...
- (五)Cisco dhcp snooping实例3-多交换机环境(DHCP服务器和DHCP客户端位于同VLAN)
试验拓扑 环境:dhcp server和dhcp客户端属于同vlan,但是客户端属于不同的交换机,在L2和L3交换机开启dhcp snooping后得出如下结论 L3交换机的配置 ip dhcp po ...
随机推荐
- 《Android进阶之光》--事件总线
No1: EventBus三要素: 1)Event:事件 2)Subscriber:事件订阅者 3)Publisher:事件发布者 No2: EventBus的4种ThreadMode(线程模型): ...
- 在Macos下完美解决Adobe Dreamweaver CC 2018 汉化及操作方法
1.先关闭Dreamweaver,打开Finder进入应用程序,找到“Adobe Dreamweaver CC 2018”目录展开,移除“zh_CN”目录或者更名: 2.下载附件的汉化语言包解压,把解 ...
- Win10 下 hadoop3.0.0 单机部署
前言 因近期要做 hadoop 有关的项目,需配置 hadoop 环境,简单起见就准备进行单机部署,方便开发调试.顺便记录下采坑步骤,方便碰到同样问题的朋友们. 安装步骤 一.下载 hadoop-XX ...
- JavaNIO快速入门
NIO是Jdk中非常重要的一个组成部分,基于它的Netty开源框架可以很方便的开发高性能.高可靠性的网络服务器和客户端程序.本文将就其核心基础类型Channel, Buffer, Selector进行 ...
- update date and keep time
select TO_CHAR((date '2010-01-02' + (sysdate-trunc(sysdate))),'YYYY-MM-DD HH:mi:ss') from dual;
- Codeforces.1045A.Last chance(最大流ISAP 线段树优化建图)
题目链接 \(Description\) 你需要用给定的\(n\)个武器摧毁\(m\)架飞船中的某一些.每架飞船需要被摧毁恰好一次. 武器共三种:1.可以在给定的集合中摧毁一架飞船:2.可以摧毁区间\ ...
- db2系统表相应功能
SYSIBM: 基本系统编目,不建议直接访问SYSCAT: 默认授权给Public组.只读编目视图,一般通过这个来获取编目信息SYSSTAT: 可更新编目视图,会影响优化器的优化策略SYSFUN: 用 ...
- ASP.NET Web API中把分页信息放Header中返回给前端
谈到ASP.NET Web API的分页,考虑的因素包括: 1.上一页和下一页的uri2.总数和总页数3.当前页和页容量 接着是服务端的数据以怎样的形式返回? 我们通常这样写: { totalC ...
- Knockout.Js官网学习(options绑定)
前言 options绑定控制什么样的options在drop-down列表里(例如:<select>)或者 multi-select 列表里 (例如:<select size='6' ...
- 【Qt5】Windows下配置程序的产品、公司、版权、版本号等详细信息
在工程的pro文件中加入下面的配置 # 配置图标(仅Windows有效)# 本程序使用两个图标,这样其快捷方式可以有更多选择,也可以给关联文件提供图标选择RC_ICONS += icon1.ico \ ...