2015-04-25 3 views
2

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

http://www.secdev.org/projects/scapy/doc/build_dissect.html

Руководство отлично от того, как создавать и отправлять пакеты с пользовательскими слоями, но не столько о том, как получить их.

У меня есть пакет с формой:

IP()/CustomLayer()/ICMP() 

И я посылаю этот пакет на другой хост, который будет получать пакет с использованием библиотек очереди Netfilter и scapy Python.

Вопрос в том, как получить входящий пакет с пользовательскими слоями в нем и по-прежнему иметь доступ к этим полям? Попытка разобрать пакет с

IP(packet) 

, кажется, не работает .. Любая помощь очень ценится!

ответ

2

Вы пытались сначала объявить пустой пакет?

pkt = IP()/CustomLayer()/ICMP() 

, а затем

pkt = IP(packet) 

Посмотрите здесь, и вы можете найти решение вашей проблемы: Extract Scapy Custom layer

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