Построение пакета DNP3 с использованием библиотеки Scapy - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь собрать пакет DNP3 с использованием библиотеки Scapy и DNP3.Тем не менее, пакет не собирается правильно, и я не уверен, где устранить неисправности дальше.

Библиотека, которую я пытаюсь использовать для создания пакета scapy, находится здесь Библиотека DNP3 Scapy

Код, с которым я недавно играл, приведен ниже:

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, поэтому я надеюсь, что кто-то может дать мне некоторые идеи.

Спасибо, Джо

...