|
|
@ -10,12 +10,17 @@ import scapy.contrib.modbus as mb
|
|
|
|
def decode(pkt):
|
|
|
|
def decode(pkt):
|
|
|
|
if "ModbusADU" in pkt:
|
|
|
|
if "ModbusADU" in pkt:
|
|
|
|
miniL=[]
|
|
|
|
miniL=[]
|
|
|
|
cc = pkt["ModbusADU"]
|
|
|
|
modpkt = pkt["ModbusADU"]
|
|
|
|
print(cc.payload.name)
|
|
|
|
print(modpkt.payload.name)
|
|
|
|
for i in cc.payload.fields:
|
|
|
|
for i in modpkt.payload.fields:
|
|
|
|
miniL.append(cc.payload.getfieldval(i))
|
|
|
|
miniL.append(modpkt.payload.getfieldval(i))
|
|
|
|
print(i,cc.payload.getfieldval(i))
|
|
|
|
print(i,modpkt.payload.getfieldval(i))
|
|
|
|
|
|
|
|
if(i=="coilStatus"):
|
|
|
|
|
|
|
|
bi=str(bin(modpkt.payload.getfieldval(i)[0]))
|
|
|
|
|
|
|
|
bi=bi[2:]
|
|
|
|
|
|
|
|
bi=bi.rjust(8,'0')
|
|
|
|
|
|
|
|
print([*bi])
|
|
|
|
bigL.append(miniL)
|
|
|
|
bigL.append(miniL)
|
|
|
|
print("fin de decode")
|
|
|
|
print(bigL)
|
|
|
|
bigL = []
|
|
|
|
bigL = []
|
|
|
|
scapy.sniff(iface="lo", prn=decode)
|
|
|
|
scapy.sniff(iface="lo", prn=decode)
|
|
|
|