我正在尝试使用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 (自身,attr,val) AttributeError:“ DNP3”对象属性“ data_chunks”为只读
所以,基本上到了这一点,我想我要么不是使用Scapy库正确构建数据包,要么库和我的当前版本的Scapy都不正确。无论如何,我是新手,所以我希望有人可以给我一些想法。
谢谢, 乔