首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scapy和DHCP安全测试

Scapy和DHCP安全测试
EN

Stack Overflow用户
提问于 2013-11-14 09:11:44
回答 1查看 2.2K关注 0票数 3

我有个关于Scapy的问题跟dhcp说好了。发送dhcp请求消息并得到答复是没有问题的,但我真正需要的是编程:

  1. Scapy发送一个DHCP请求包
  2. 它收到一个广告包,到目前为止还行。
  3. 我需要发送一份请求,上面有我从广告包里得到的一些信息。

这是代码的一部分,我希望你能理解我想要实现的目标。(最不相关的值不是在这里写的)

代码语言:javascript
复制
sol = DHCP6_Solicit()
opreq = DHCP6OptOptReq()
et= DHCP6OptElapsedTime()
cid = DHCP6OptClientId()
iana = DHCP6OptIA_NA()
optiana = DHCP6OptIAAddress()

l2 = Ether (src = RandMAC())
l3 = IPv6(dst= dstt, src=srcc)
addr = raw_input("Give Option Address: ")
optiana.addr = str(RandIP6(addr))
pkt = l2/l3/l4/sol/cid/opreq/et/iana/optiana
sendp(pkt, iface='eth0')

当我发送这个请求包时,我得到了一个关于dhcpv6服务器的很好的回复广告。在广告包你有,绑定首字母,服务器ID和更多。

(1)我想要的是,利用广告包中的信息,并将其放入请求包中。但这一切,在某种程度上是一个循环,这样就有可能绑定我可以发送的所有广告(就像数千条广告)。这也意味着PrefixDelegation。因此,出于安全考虑,我可以测试dhcp服务器。

(2)当我在IA_NA中添加地址时,在包中的IA_address之后有一个DHCP OPTION 0

http://i41.tinypic.com/154ulmp.png

我能做些什么?因为在有效的请求消息中,我们可以看到IA-地址在IA_NA中。

我也试过这个:

代码语言:javascript
复制
addr = raw_input("Give Option Address: ")
optiana.addr = str(RandIP6(addr))
optiana.preflft = 7200
optiana.validlft = 9200
iana.ianaopts = optiana 
pkt = l2/l3/l4/sol/cid/opreq/et/iana

但是,在包的末尾有一些事情发生,它补充说,零。http://i44.tinypic.com/2ih09k3.png

我们在这里可以看到,替罪羊按照需要发送的方式发送数据包,对吗?http://i44.tinypic.com/309pohj.png

(3)还有一件事:我认为PD有问题,因为当我给PD提供选项时,比如地址,当我添加其他PD时,包裹就会停在那里(参见wireshark)。但如果我只加上警察没有选择的话,就行了。

http://i41.tinypic.com/24zg390.png

PD码

代码语言:javascript
复制
optiapd = DHCP6OptIA_PD()
iapd = DHCP6OptIAPrefix()
opreq = DHCP6OptOptReq()
et= DHCP6OptElapsedTime()
cid = DHCP6OptClientId()

l2 = Ether (src = RandMAC())
l3 = IPv6(dst= dstt, src=srcc)
addr = raw_input("Give Option Address: ")
iapd.prefix = str(RandIP6(addr))
pkt = l2/l3/l4/sol/cid/opreq/et/optiapd/iapd       # (adding more...../optiapd/iapd....wont work)
sendp(pkt, iface='eth0')

此外,我还在/scapy/AnsweringMachine/dhcp6.py!中遇到了AnsweringMachine!在数组中包含所有数据包时,如何才能对每个数据包使用应答机制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 09:03:22

问题(1)已得到解决:)

我刚刚写了另一个脚本,它会嗅探并读出数据包:)另一种方法。

问题(2)

经过几个小时的测试,我得出的结论是,DHCP Option 0将出现在Wireshark,因为:

DHCP6 IA Address Option,有一个子值IA-ID。当我填入这个值时,我可以看到,DHCP option 0中的值就是它带来的。

我认为这是Scapy中的一些编程错误。

在查看之后,RFC 3315 DHCP for IPv6子选项22.6没有为DHCP6 IA Address Option分配IAID。

所以我所做的就是调整和搜索这条线,并把它注释掉。

问题(3)

我想Scapy还没准备好当警察。经过我所有的努力,它不起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19973589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档