From 98c45d905c015324b66ddb1f1b619d4ec58b3193 Mon Sep 17 00:00:00 2001 From: Paul Squizzato Date: Mon, 20 Mar 2023 15:54:12 +0000 Subject: [PATCH] =?UTF-8?q?Base=20de=20donn=C3=A9es=20fonctionnelles!=20Te?= =?UTF-8?q?sts=20r=C3=A9alis=C3=A9s=20par=20Paul,=20du=20coup=20il=20faudr?= =?UTF-8?q?a=20retester=20parce=20qu'on=20connait=20tous=20comment=20?= =?UTF-8?q?=C3=A7a=20va=20avec=20Paul.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/decoderBrut.py | 6 +++--- src/ecritureBDD.py | 29 +++++++++++++---------------- src/triPacket.py | 7 +++---- 3 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/decoderBrut.py b/src/decoderBrut.py index 1469a73..e83211d 100644 --- a/src/decoderBrut.py +++ b/src/decoderBrut.py @@ -4,7 +4,7 @@ import scapy.all as scapy import scapy.contrib.modbus as mb from triPacket import triPacket - +import getpass def decode(pkt): prt=0 @@ -106,14 +106,14 @@ miniL = [0,0,0,0] print("In order for data sniffed to be stored inside the database, please register the following :") db_host = input('host of the database server : ') if not db_host: - db_host = 'londres' + db_host = '192.168.128.141' db_name = input('name of the database : ') if not db_name: db_name = 'dblodufour1' db_user = input('login of the user : ') if not db_user: db_user = 'lodufour1' -db_password = getpass('user password : ') +db_password = getpass.getpass('user password : ') connec=[db_host,db_name,db_user,db_password] scapy.sniff(iface="lo", prn=decode) diff --git a/src/ecritureBDD.py b/src/ecritureBDD.py index 9e7a650..901fbbe 100644 --- a/src/ecritureBDD.py +++ b/src/ecritureBDD.py @@ -2,19 +2,16 @@ import psycopg2 as psy import pandas as pd import getpass -def ecritureBDD(addresse,typeMem,valeur,connec): - try: - co = psy.connect(host=connec[0], - database=connec[1], - user=connec[3], - password=connec[4]) - cur = co.cursor() - cur.execute("INSERT INTO Status VALUES (%s,%s,%s );", - (addresse,typeMem,valeur)) - co.commit() - cur.close() - except(Exception,psy.DatabaseError) as error: - print(error) - finally: - if co is not None: - co.close() \ No newline at end of file +def ecritureBDD(typeMem,addresse,valeur,connec): + co = None + try: + co = psy.connect(host=connec[0],database=connec[1],user=connec[2],password=connec[3]) + cur = co.cursor() + cur.execute("INSERT INTO Status VALUES (%s,%s,%s ) ON CONFLICT (addresse,type) DO UPDATE SET valeur=%s;",(addresse,typeMem,valeur,valeur)) + co.commit() + cur.close() + except(Exception,psy.DatabaseError) as error: + print(error) + finally: + if co is not None: + co.close() diff --git a/src/triPacket.py b/src/triPacket.py index be7c22b..b5309d8 100644 --- a/src/triPacket.py +++ b/src/triPacket.py @@ -8,12 +8,11 @@ def triPacket(lPkt,connec): print('vide') return if len(lPkt)==1: - triPacket(lPkt[0]) + triPacket(lPkt[0],connec) return if len(lPkt)==3 and type(lPkt[0])==str: - if (lPkt[0]=='c' or lPkt[0]=='r') and lPkt[1]>=0 and lPkt[2]>=0: - print(lPkt[0],int(lPkt[1]),int(lPkt[2])) + ecritureBDD(lPkt[0],int(lPkt[1]),int(lPkt[2]),connec) return else: for i in lPkt: - triPacket(i) + triPacket(i,connec)