簡體   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