繁体   English   中英

Scapy无法对IPv6数据包进行分段

[英]Scapy unable to fragment IPv6 packet

我目前正在从事有关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)

我一直在搜索,但是找不到相同错误的任何内容。 我希望有人能帮帮忙。

您应该检查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.

因此,您必须用实际的IPv6地址作为字符串替换scrIPdstIP

有一种叫做scapy6的东西:

http://www.secdev.org/conf/scapy-IPv6_HITB06.pdf

尝试看一下第128页,然后向前看是否可以使它正常工作,它应该支持IPv6。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM