加强DHCP耗尽攻击
github地址:https://github.com/kamorin/DHCPig
Usage:
pig.py [-h -v -6 -1 -s -f -t -a -i -o -l -x -y -z -g -r -n -c ] <interface>
Options:
-h, --help #显示帮助信息
-v, --verbosity #显示详细输出信息。(默认是10,范围是1-99
-6, --ipv6 #DHCPv6 (默认是关, 默认是开启DHCPv4)
-1, --v6-rapid-commit #开启RapidCommit (双向是被指定的,而不是4向。) (未开启)
-s, --client-src #客户端MAC地址列表。如00:11:22:33:44:55,00:11:22:33:44:56 (默认: 任意地址)
-O, --request-options #可选的请求编码,如 21,22,23 or 12,14-19,23 (默认: 0-80)
-f, --fuzz #任意模糊包。 (未开启)
-t, --threads #发送线程的数目。 (1)
-a, --show-arp #检测/打印哪个主机有ARP请求 (未开启)
-i, --show-icmp #检测/打印ICMP请求 (未开启)
-o, --show-options #打印IP地址租赁信息。(未开启)
-l, --show-lease-confirm #检测/打印DHCP回复。 (未开启)
-g, --neighbors-attack-garp #使用无故的ARP去碰撞网络分段。 (未开启)
-r, --neighbors-attack-release #释放所有的邻居IP (未开启)
-n, --neighbors-scan-arp #ARP邻居扫描 (未开启)
-x, --timeout-threads #线程生成计时器。 (0.4)
-y, --timeout-dos #DOS超时(8) (聚集grat.arp的等待时间)
-z, --timeout-dhcprequest #DHCP请求超时 (2)
-c, --color #开启彩色输出(未开启)
-v, --verbosity #显示详细输出信息
输出信息中的符号的代表意义如下所示:
. = DHCP_Discovery
! = DHCP_Offer
; = ICMP/ARP/DHCP_ACKs
D = DEBUG output (show options, etc.)
E = ERROR
N = NOTICE / INFO
示例:
python pig.py -t 10 eth0
防御策略
大多数通用的方法是通过接入层交换机或者无限控制器来防止DHCP耗尽。
在思科交换机中,最简单的选择是开启DHCP snooping
功能,snooping 将会防止资源池耗尽、IP劫持和使用DHCPig
进行 DHCP服务器欺骗。基于检测流量,DHCP snooping
将会在每个端口上生成从IP到MAC的映射表。这将严格控制用户通过给定IP访问端口。任何从不信任端口发出的DHCP服务器消息将会被过滤。
参考文章:
https://blog.csdn.net/qq_29277155/article/details/51712059