X-Git-Url: https://handorf.org/code/?a=blobdiff_plain;f=logviewer%2Fdevices%2Fviews.py;h=481d52009a5212f00a0f4bea5c960fb99905d9cf;hb=64478d6a7b5096115a5fe055f50bda5d114678b3;hp=5451dc8cfc1ae3a24de969d47cda51de03d94386;hpb=09502060aad90cd0ad638cf4ad3cb6560e2f646c;p=kismet-logviewer.git diff --git a/logviewer/devices/views.py b/logviewer/devices/views.py index 5451dc8..481d520 100644 --- a/logviewer/devices/views.py +++ b/logviewer/devices/views.py @@ -9,22 +9,39 @@ import pprint from django.views.decorators.csrf import csrf_exempt def load_db(query): - connection = sqlite3.connect("logs/Kismet-20221208-22-56-36-1.kismet") - #connection.row_factory = lambda cursor, row: row[0] + dir_list = os.listdir("logs/") + connection = sqlite3.connect("logs/"+dir_list[0]) cursor = connection.cursor() rows = cursor.execute(query).fetchall() return(rows) @csrf_exempt def index(request,devicename): - dev=list(load_db("select cast(device as text) from devices where devkey = \""+devicename+"\"")) - (dev_info,) = dev[0] - #dev_string = "{ \"recordsTotal\": "+str(dev_count)+", \"data\": [" - #dev_list = list(load_db("select cast(device as text) from devices limit 50")) - #for device in dev_list: - # (dev,) = device - # dev_string = dev_string + dev + "," - #dev_string = dev_string[:-1] - #dev_string = dev_string + "],\"draw\": 5,\"recordsFiltered\": "+str(dev_count)+"}" - return HttpResponse(dev_info, content_type='text/json') - + if request.path[0:8] == "/devices": + dev=list(load_db("select cast(device as text) from devices where devkey = \""+devicename+"\"")) + (dev_info,) = dev[0] + #dev_string = "{ \"recordsTotal\": "+str(dev_count)+", \"data\": [" + #dev_list = list(load_db("select cast(device as text) from devices limit 50")) + #for device in dev_list: + # (dev,) = device + # dev_string = dev_string + dev + "," + #dev_string = dev_string[:-1] + #dev_string = dev_string + "],\"draw\": 5,\"recordsFiltered\": "+str(dev_count)+"}" + return HttpResponse(dev_info, content_type='text/json') + elif request.path[0:11] == "/datasource": + datasource=list(load_db("select cast(json as text) from datasources where uuid = \""+str(devicename)+"\"")) + (json_result,) = datasource[0] + return HttpResponse(json_result, content_type='text/json') + elif request.path[0:4] == "/phy": + #INCOMPLETE - Need to work out device mappings still + devices=list(load_db("select cast(device as text) from devices where type='Wi-Fi AP'")) + for device in devices: + (json_result,) = device + device_json = json.loads(json_result) + try: + if str(devicename) == str(device_json['dot11.device']['dot11.device.last_beaconed_ssid_record']['dot11.advertisedssid.ssid_hash']): + print("MATCH") + print(device_json) + except: + print("skipping") + return HttpResponse("{}", content_type='text/json')