2014-10-30 2 views
1

В настоящее время я работаю над проектом, касающимся безопасности IPv6. Я пытаюсь воспроизвести результаты, найденные в этом документе нашли здесь: https://www.tno.nl/downloads/testing_the_security_of_IPv6_implementations.pdfScapy не удалось фрагментировать пакет IPv6

Прокрутите вниз до раздела 4.4, стр 29.

Я хочу, чтобы проверить, является ли создание пакетов с неограниченными заголовками расширения фактически будет иметь возможность сбой системы. Проблема я бегу, чтобы снова и снова в том, что при запуске сценария на основе документации, которую я получаю сообщение об ошибке:

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

Просто догадаться, но фрагменты в IPv6 работают иначе, чем IPv4. Требуется заголовок фрагмента. Возможно, вам нужно добавить его вручную. –

+0

Спасибо за ответ Klaus D. Я попробовал добавить в пакет параметр «IPv6ExtHdrFragment». Все еще не работает. Такая же ошибка. – Ade

ответ

0

Вы должны проверить версию scapy. Код работает в моей системе (Ubuntu 14.04, scapy 2.2.0). Также попробуйте запустить код в scapy оболочки в качестве корня:

$ 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 адресов в виде строк.

+0

Спасибо за ответ снова. Я использую scapy 2.2.0, и я также запускаю его как root. Я просто попытался реплицировать ваш результат, и он работает при отправке пакетов на localhost (:: 1), так как он не требует фрагментации пакетов. При отправке на другое устройство в сети я получаю ту же ошибку, что и раньше. – Ade

0

Существует нечто, называемое scapy6:

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

Попробуйте взглянуть на странице 128 и вперед, чтобы увидеть, если вы можете получить его на работу, он должен поддерживать IPv6.

Смежные вопросы