Commit fb305bd9 authored by yogesh.m's avatar yogesh.m

update

parent d091da2b
File deleted
{"192.168.1.178": {"last_activity": "05-05-23 17:22:09", "dev_type": "netuitive", "protocols": "tcp:udp:modbus", "mac": "7c:76:35:6a:d4:84", "vendor": "Intel Corporate", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "74.125.200.188": {"last_activity": "05-05-23 17:22:07", "dev_type": "HP Virtual Room Service", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "142.250.205.227": {"last_activity": "05-05-23 17:22:06", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "172.217.160.138": {"last_activity": "05-05-23 17:19:39", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "162.19.234.38": {"last_activity": "05-05-23 17:19:43", "dev_type": "Unknown", "protocols": "modbus:tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Unknown", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "142.250.193.174": {"last_activity": "05-05-23 17:20:49", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "192.168.0.222": {"last_activity": "05-05-23 17:20:45", "dev_type": "Domain Name Server", "protocols": "udp", "mac": "20:67:7c:de:26:04", "vendor": "Hewlett Packard Enterprise", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "142.250.195.142": {"last_activity": "05-05-23 16:41:41", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "142.250.196.5": {"last_activity": "05-05-23 16:41:42", "dev_type": "Unknown", "protocols": "modbus:tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Unknown", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "168.119.249.101": {"last_activity": "05-05-23 17:22:09", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "172.217.166.99": {"last_activity": "05-05-23 17:20:48", "dev_type": "http protocol over TLS/SSL", "protocols": "udp:tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}, "142.250.182.106": {"last_activity": "05-05-23 17:20:45", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unknown", "plant": "Dalmia Cement"}}
\ No newline at end of file
File deleted
...@@ -9,3 +9,4 @@ configuration: ...@@ -9,3 +9,4 @@ configuration:
blacklist_dns: ['webhook.site.'] blacklist_dns: ['webhook.site.']
ui_host: 127.0.0.1 ui_host: 127.0.0.1
ui_port: 8081 ui_port: 8081
transmit_assets: True
\ No newline at end of file
import json
import yaml
import requests
try:
yamlfile=open("config.yaml")
data = yaml.load(yamlfile, Loader=yaml.FullLoader)
transmit_assets=data["configuration"]["transmit_assets"]
url = data["configuration"]["unifytwin_server_ip_address"]
except Exception as e:
transmit_assets=False
try:
with open("assets.json") as json_file:
json_decoded = json.load(json_file)
except:
json_decoded={}
def write_into_json_file(json_decoded):
with open("assets.json", 'w') as json_file:
json.dump(json_decoded, json_file)
def insert_asset(ip,last_activity,dev_type,protocols,mac,vendor,firmware,model,os,plant):
json_decoded[ip]={}
json_transmit_data={}
json_transmit_data[ip]={}
json_transmit_data[ip]["last_activity"]=json_decoded[ip]["last_activity"]=last_activity
json_transmit_data[ip]["dev_type"]=json_decoded[ip]["dev_type"] =dev_type
json_transmit_data[ip]["protocols"]=json_decoded[ip]["protocols"] = protocols
json_transmit_data[ip]["mac"]=json_decoded[ip]["mac"] = mac
json_transmit_data[ip]["vendor"]=json_decoded[ip]["vendor"] = vendor
json_transmit_data[ip]["firmware"]=json_decoded[ip]["firmware"] = firmware
json_transmit_data[ip]["model"]=json_decoded[ip]["model"] = model
json_transmit_data[ip]["os"]=json_decoded[ip]["os"] = os
json_transmit_data[ip]["plant"]=json_decoded[ip]["plant"] = plant
write_into_json_file(json_decoded)
if transmit_assets:
requests.post(url=url,json=json_transmit_data)
def update_asset(ip,prev_protocols,last_activity,dev_type,vendor,firmware,model):
json_transmit_data = {}
json_transmit_data[ip] = {}
json_transmit_data[ip]["protocols"]=json_decoded[ip]["protocols"] = prev_protocols
json_transmit_data[ip]["last_activity"]=json_decoded[ip]["last_activity"] = last_activity
json_transmit_data[ip]["dev_type"]=json_decoded[ip]["dev_type"] = dev_type
json_transmit_data[ip]["vendor"]=json_decoded[ip]["vendor"] = vendor
json_transmit_data[ip]["firmware"]=json_decoded[ip]["firmware"] = firmware
json_transmit_data[ip]["model"]=json_decoded[ip]["model"] = model
write_into_json_file(json_decoded)
if transmit_assets:
requests.post(url=url, json=json_transmit_data)
def update_last_activity_and_protocols(ip,prev_protocols,last_activity):
json_transmit_data = {}
json_transmit_data[ip] = {}
json_transmit_data[ip]["protocols"]=json_decoded[ip]["protocols"] = prev_protocols
json_transmit_data[ip]["last_activity"]=json_decoded[ip]["last_activity"] = last_activity
write_into_json_file(json_decoded)
if transmit_assets:
requests.post(url=url, json=json_transmit_data)
def update_last_activity(ip,last_activity):
json_transmit_data = {}
json_transmit_data[ip] = {}
json_transmit_data[ip]["last_activity"]=json_decoded[ip]["last_activity"] = last_activity
write_into_json_file(json_decoded)
if transmit_assets:
requests.post(url=url, json=json_transmit_data)
def delete_asset():
print()
def get_existing_protocols(ip):
try:
return json_decoded[ip]["protocols"]
except KeyError:
return "No key"
def check_asset_exists(ip):
if(ip in json_decoded):
return True
else:
return False
\ No newline at end of file
...@@ -45,7 +45,6 @@ def analyse_protocol(protocols,pkt): ...@@ -45,7 +45,6 @@ def analyse_protocol(protocols,pkt):
elif ("modbus" in protocols): elif ("modbus" in protocols):
res = modbus.get_info(eip.get_info(pa.get_ip(inhex), int(pa.get_tcp_port(inhex)) if "tcp" in protocols else int( res = modbus.get_info(eip.get_info(pa.get_ip(inhex), int(pa.get_tcp_port(inhex)) if "tcp" in protocols else int(
pa.get_udp_port(inhex))), False) pa.get_udp_port(inhex))), False)
print(inhex)
if (res): if (res):
dev_type = res['Device identification'] dev_type = res['Device identification']
vendor = res['Slave ID data'] vendor = res['Slave ID data']
......
...@@ -8,11 +8,9 @@ from datetime import datetime ...@@ -8,11 +8,9 @@ from datetime import datetime
import protocol_actions import protocol_actions
import threading import threading
import requests import requests
lock = threading.Lock() import json_operations as jo
from helpers.Packet_Analyzer import Packet_Analyzer from helpers.Packet_Analyzer import Packet_Analyzer
os.chdir('.')
mydb=sqlite3.connect("assets.db",check_same_thread=False)
try: try:
yamlfile=open("config.yaml") yamlfile=open("config.yaml")
...@@ -44,9 +42,6 @@ elif platform == "win32": ...@@ -44,9 +42,6 @@ elif platform == "win32":
def convert_text(pkt): def convert_text(pkt):
query=mydb.cursor()
lock.acquire()
lock.release()
inhex=binascii.hexlify(bytes(pkt)) inhex=binascii.hexlify(bytes(pkt))
if(null_loopback): if(null_loopback):
inhex=b'0000000000000000000000000800'+inhex[8:] if inhex[:2]==b'02' else b'00000000000000000000000086DD'+inhex[8:] inhex=b'0000000000000000000000000800'+inhex[8:] if inhex[:2]==b'02' else b'00000000000000000000000086DD'+inhex[8:]
...@@ -56,46 +51,30 @@ def convert_text(pkt): ...@@ -56,46 +51,30 @@ def convert_text(pkt):
ip=pa.get_ip(inhex) ip=pa.get_ip(inhex)
if(ip): if(ip):
mac=pa.get_mac(inhex) mac=pa.get_mac(inhex)
check_exist=query.execute("SELECT ip_address FROM inventory WHERE ip_address='"+ip+"'").fetchone() check_exist=jo.check_asset_exists(ip)
if(not check_exist): if(not check_exist):
dev_type,vendor,firmware,model=protocol_actions.analyse_protocol(protocols,pkt) dev_type,vendor,firmware,model=protocol_actions.analyse_protocol(protocols,pkt)
insinventory='INSERT INTO inventory\ jo.insert_asset(ip,datetime.now().strftime("%d-%m-%y %H:%M:%S"),dev_type,str(protocols),mac,vendor,firmware,model,"Unknown",plant)
(ip_address,name,last_activity,type,protocols,mac_address,vendor,firmware_version,model,operating_system,plant)\
VALUES\
("'+ip+'","'+ip+'","'+datetime.now().strftime("%d-%m-%y %H:%M:%S")+'","'+dev_type+'","'+str(protocols)+'","'+mac+'","'+vendor+'","'+firmware+'","'+model+'","Unknown","'+plant+'")'
query.execute(insinventory)
query.close()
mydb.commit()
else: else:
prev_protocols=query.execute("SELECT protocols FROM inventory WHERE ip_address='"+ip+"'").fetchone()[0] prev_protocols=jo.get_existing_protocols(ip)
extra_proto=set(protocols.split(':'))-set(prev_protocols.split(':')) extra_proto=set(protocols.split(':'))-set(prev_protocols.split(':'))
if(extra_proto): if(extra_proto):
dev_type,vendor,firmware,model=protocol_actions.update_protocol(protocols,pkt) dev_type,vendor,firmware,model=protocol_actions.update_protocol(protocols,pkt)
prev_protocols=prev_protocols+':'+str(extra_proto).replace(", ",":").replace("{","").replace("}","").replace("'","") prev_protocols=prev_protocols+':'+str(extra_proto).replace(", ",":").replace("{","").replace("}","").replace("'","")
if(dev_type!="Unknown"): if(dev_type!="Unknown"):
updateproto='UPDATE inventory SET protocols="'+prev_protocols+'",last_activity="'+datetime.now().strftime("%d-%m-%y %H:%M:%S")+'",type="'+dev_type+'",vendor="'+vendor+'",firmware_version="'+firmware+'",model="'+model+'" WHERE ip_address="'+ip+'"' jo.update_asset(ip,prev_protocols,datetime.now().strftime("%d-%m-%y %H:%M:%S"),dev_type,vendor,firmware,model)
query.execute(updateproto)
query.close()
mydb.commit()
else: else:
updateproto='UPDATE inventory SET protocols="'+prev_protocols+'",last_activity="'+datetime.now().strftime("%d-%m-%y %H:%M:%S")+'" WHERE ip_address="'+ip+'"' jo.update_last_activity_and_protocols(ip,prev_protocols,datetime.now().strftime("%d-%m-%y %H:%M:%S"))
query.execute(updateproto)
query.close()
mydb.commit()
else: else:
update_last_activity='UPDATE inventory SET last_activity="'+datetime.now().strftime("%d-%m-%y %H:%M:%S")+'" WHERE ip_address="'+ip+'"' jo.update_last_activity(ip,datetime.now().strftime("%d-%m-%y %H:%M:%S"))
query.execute(update_last_activity)
query.close()
mydb.commit()
except sqlite3.OperationalError as e: except sqlite3.OperationalError as e:
exc_type, exc_obj, exc_tb = sys.exc_info() exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1] fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
print(exc_type, fname, exc_tb.tb_lineno,e) print(exc_type, fname, exc_tb.tb_lineno,e)
query.close()
if(not mydb.in_transaction):
mydb.rollback()
mydb.commit()
pass pass
except Exception as e: except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info() exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1] fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
......
{
"data": {
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",z
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},
"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
},"site_104$line_108$equipment_122$tag_223": {
"dq": "1",
"val": "100"
}
},
"site_id": "site_104",
"timestamp": int(time.time())*1000,
"msg_id": "123",
"d_id": "az-iothub-staging-demo",
"retain_flag": True,
"p_id": "project_390",
"ver": 1.2
}
\ No newline at end of file
from scapy.all import * import openai
def packet_has_modbus_layer(packet): # Define OpenAI API key
# Check if the packet has the TCP layer and destination port is 502 openai.api_key = "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"
if TCP in packet and packet[TCP].dport == 502:
# Check if the packet has the Modbus layer
if packet.haslayer(TCP):
return True
return False
def network_sniffing_local_storage(pkt): # Set up the model and prompt
if(packet_has_modbus_layer(pkt)): model_engine = "text-davinci-003"
print("yes") prompt = "give me a random youtube funny comment and keep it simple from 6 to 20 words along with emojis scene:dog chewing ball"
sniff(prn=network_sniffing_local_storage) # Generate a response
\ No newline at end of file completion = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.9,
)
response = completion.choices[0].text
print(response)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment