|
|
|
@ -8,6 +8,7 @@ def decode(pkt):
|
|
|
|
|
prt=0
|
|
|
|
|
addr,value = "",""
|
|
|
|
|
bigL = [ ]
|
|
|
|
|
global miniL
|
|
|
|
|
f=open("truc.txt","w")
|
|
|
|
|
if "ModbusADU" in pkt:
|
|
|
|
|
grPkt=pkt["ModbusADU"].show(dump=True)
|
|
|
|
@ -20,25 +21,23 @@ def decode(pkt):
|
|
|
|
|
typResp=""
|
|
|
|
|
if "Coil" in i:
|
|
|
|
|
prt=1
|
|
|
|
|
typResp="c"
|
|
|
|
|
if len(miniL)==0:
|
|
|
|
|
miniL.append(typResp)
|
|
|
|
|
miniL[0] = "c"
|
|
|
|
|
elif "Register" in i:
|
|
|
|
|
prt=2
|
|
|
|
|
miniL[0] = "r"
|
|
|
|
|
#if prt==1:
|
|
|
|
|
#print(i)
|
|
|
|
|
elif "startAddr" in i or "outputAddr" in i:
|
|
|
|
|
addr = i[i.find("=")+2:]
|
|
|
|
|
miniL.append(addr)
|
|
|
|
|
elif "startAddr" in i or "outputAddr" in i or "registerAddr" in i:
|
|
|
|
|
miniL[1] = i[i.find("=")+2:]
|
|
|
|
|
#print(addr)
|
|
|
|
|
elif "coilStatus" in i:
|
|
|
|
|
value = i[i.find("[")+1:i.rfind("]")]
|
|
|
|
|
miniL.append(value)
|
|
|
|
|
elif "coilStatus" in i or "registerVal=" in i or "outputsValue" in i:
|
|
|
|
|
miniL[2] = i[i.find("[")+1:i.rfind("]")]
|
|
|
|
|
#print("value= ",value," addr= ",addr)
|
|
|
|
|
elif "outputValue" in i:
|
|
|
|
|
value = i[i.find("=")+2:]
|
|
|
|
|
miniL.append(value)
|
|
|
|
|
if len(miniL)>=3:
|
|
|
|
|
print(miniL)
|
|
|
|
|
miniL.clear()
|
|
|
|
|
miniL=[]
|
|
|
|
|
elif "outputValue" in i or "quantityOutput" in i or "registerValue" in i:
|
|
|
|
|
miniL[2] = i[i.find("=")+2:]
|
|
|
|
|
if miniL.count(0)==0:
|
|
|
|
|
print(miniL)
|
|
|
|
|
miniL = [0,0,0]
|
|
|
|
|
miniL = [0,0,0]
|
|
|
|
|
scapy.sniff(iface="lo", prn=decode)
|
|
|
|
|
|
|
|
|
|