Проблема построения пакета DNP3 с использованием библиотеки Scapy
Я пытаюсь собрать пакет DNP3 с использованием библиотеки Scapy и DNP3. Тем не менее, пакет не собирается правильно, и я не уверен, где устранить неисправности дальше.
Библиотека, которую я пытаюсь использовать для создания пакета scapy, находится здесь DNP3 Scapy Library
Код, с которым я недавно играл, находится ниже:
import signal
import sys
import time
import math
import threading
import ConfigParser
import collections
from scapy.all import *
import DNP3_Lib
import IPfunctions
import resultsDisplay
import alarmSystem
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
DNP3 = DNP3_Lib.DNP3
src = "192.168.1.98"
dst = "192.168.1.159"
sport = random.randint(1024,65535)
dport = 20000
b=IP(src='192.168.1.98',dst='192.168.1.159')
/TCP(sport=sport,dport=dport)
d=DNP3(CONTROL=0,DESTINATION=2,SOURCE=1)
e=b/d
e.show()
sr1(e)
print b
sendp(e)
По сути, ни sr1(), ни sendp () не отправляют успешный пакет DNP3. С помощью sr1() пакет создается, и система пытается отправить трафик, но ничего из пакета DNP3 не выходит. С sendp () я получаю ошибку ниже:
/scapy/packet.py ", строка 221, в setattr возвращаемый объект.setattr(self, attr, val) AttributeError: атрибут объекта 'DNP3' 'data_chunks' доступен только для чтения
Итак, в основном на данный момент я думаю, что я либо неправильно собираю пакет с использованием библиотеки scapy, либо, возможно, что-то не так с библиотекой и моей текущей версией scapy. Во всяком случае, я очень новичок в scapy, поэтому я надеюсь, что кто-то может дать мне некоторые идеи.
Спасибо джо