gpt4 book ai didi

python - 使用 scapy 释放 DHCP

转载 作者:太空宇宙 更新时间:2023-11-04 07:40:35 25 4
gpt4 key购买 nike

我想将 DHCP 释放数据包发送到我局域网上的 DHCP 服务器。

我有机器的 MAC 地址,我想为其伪造 RELEASE 数据包。

我谷歌了一下,没有找到任何有用的东西。有人可以指出我正确的方向吗?

我尝试发送一个带有选项消息类型的 DHCP 数据包:发布。基本上我是想发布我自己的 IP。但它没有用。

sendp(Ether(dst=server_mac)/IP(src=my_ip,dst=server_ip)/UDP(sport=68,dport=67)/BOOTP(chaddr=my_mac)/DHCP(options=[("message-type","release")]))

最佳答案

感谢您的尝试。关于 DHCP 释放消息,需要牢记一件重要的事情。当您将消息发送到服务器时,它实际上不会导致 IP 地址在您的本地计算机上被释放。如果您正在考虑使用 RELEASE 创建 DOS 或其他一些攻击的演示,您将不会有太多运气。

释放消息只是告诉 DHCP 服务器客户端正在放弃网络地址并取消剩余的租约。在放弃该地址后,由客户端停止使用该地址。

就为什么它可能不适合您而言,有几件事浮现在脑海中。

  1. mac 地址可能不正确,您没有包括如何设置 my_mac...您不能在这里简单地使用字符串。您可以使用从 get_if_raw_hwaddr 函数获得的值。
  2. 您在消息的 bootp 部分缺少客户端地址和交易 ID。
  3. 您缺少服务器标识符,并以 DHCP 选项结尾。如果您使用客户端标识符来获取地址,则必须在发布中使用它。标准规定了这一点,但并非所有 DHCP 服务器都强制执行。

这是一个对我有用的例子。您可以通过阅读 RFC specification 了解更多关于 DHCP 的信息。和/或使用 Wireshark 捕获和观察真实数据包。

from scapy import *
fam,hw = get_if_raw_hwaddr('wlan0')
send(IP(src=my_ip,dst=server_ip) /
UDP(sport=68,dport=67) /
BOOTP(chaddr=hw, ciaddr='192.168.0.101', xid=random.randint(0, 0xFFFFFFFF)) /
DHCP(options=[("message-type","release"), ("server_id", "192.168.0.1"), 'end']))

关于python - 使用 scapy 释放 DHCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22720788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com