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

code cleanup

parent 494e7f78
from django.contrib import admin
# Register your models here.
from django.apps import AppConfig
class SecurityManagementOfflineConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "security_management_offline"
{"2.2.2.5": {"last_activity": "11-08-23 16:13:03", "dev_type": "Unknown", "protocols": "udp:tcp:", "mac": "a4:4c:c8:61:0a:18", "vendor": "Dell Inc.", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "2.2.2.21": {"last_activity": "11-08-23 16:13:02", "dev_type": "Programmable Logic Controller", "protocols": "tcp:udp:enip", "mac": "f4:54:33:ac:3d:e9", "vendor": "Rockwell Automation/Allen-Bradley", "firmware": "1766-L32BWA C/21.02", "model": "60d3071e", "os": "Windows", "plant": "Dalmia Cement"}, "2.2.2.23": {"last_activity": "11-08-23 16:13:18", "dev_type": "PLC_2 S7300/ET200M station_1", "protocols": "tcp:s7comm", "mac": "8c:f3:19:0b:14:a1", "vendor": "Original Siemens Equipment", "firmware": "6ES7 315-2EH14-0AB0 3.2.17", "model": "SV-N3AJ03442021", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "57.128.101.83": {"last_activity": "21-08-23 15:35: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": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "192.168.2.134": {"last_activity": "21-08-23 15:35:09", "dev_type": "Unknown", "protocols": "udp:tcp", "mac": "f4:8c:50:d3:86:eb", "vendor": "Intel Corporate", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "192.168.0.243": {"last_activity": "21-08-23 15:34:17", "dev_type": "SSDP", "protocols": "udp", "mac": "f4:2e:7f:cc:80:80", "vendor": "Aruba, a Hewlett Packard Enterprise Company", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "54.67.68.88": {"last_activity": "21-08-23 15:35:02", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "142.250.195.234": {"last_activity": "21-08-23 15:30:01", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "35.206.80.10": {"last_activity": "21-08-23 15:35: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": "Unix/Linux Based", "plant": "Dalmia Cement"}, "35.217.17.196": {"last_activity": "21-08-23 15:35:08", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "192.168.0.222": {"last_activity": "21-08-23 15:34:53", "dev_type": "Domain Name Server", "protocols": "udp", "mac": "20:67:7c:de:26:04", "vendor": "Hewlett Packard Enterprise", "firmware": "Unknown", "model": "Unknown", "os": "Windows", "plant": "Dalmia Cement"}, "13.89.178.27": {"last_activity": "21-08-23 15:30:16", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Windows", "plant": "Dalmia Cement"}, "142.250.195.206": {"last_activity": "21-08-23 15:30:50", "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": "Unix/Linux Based", "plant": "Dalmia Cement"}, "192.168.1.96": {"last_activity": "21-08-23 15:30:01", "dev_type": "Unknown", "protocols": "", "mac": "e2:40:44:7b:14:9b", "vendor": "No Mac", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "3.221.85.129": {"last_activity": "21-08-23 15:30:02", "dev_type": "Unknown", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "192.168.2.94": {"last_activity": "21-08-23 15:34:34", "dev_type": "Unknown", "protocols": "", "mac": "c0:2c:5c:57:04:71", "vendor": "Apple, Inc.", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "192.168.1.138": {"last_activity": "21-08-23 15:34:42", "dev_type": "Unknown", "protocols": "", "mac": "32:07:9d:86:c4:72", "vendor": "No Mac", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "20.189.173.13": {"last_activity": "21-08-23 15:30:23", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "54.144.111.231": {"last_activity": "21-08-23 15:34:16", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "52.114.36.179": {"last_activity": "21-08-23 15:35:02", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "13.107.5.93": {"last_activity": "21-08-23 15:30:22", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Windows", "plant": "Dalmia Cement"}, "192.168.1.60": {"last_activity": "21-08-23 15:33:20", "dev_type": "Unknown", "protocols": "", "mac": "4c:7c:d9:c4:33:16", "vendor": "Apple, Inc.", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "52.168.112.66": {"last_activity": "21-08-23 15:30:55", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "52.114.36.191": {"last_activity": "21-08-23 15:35:06", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "185.70.147.146": {"last_activity": "21-08-23 15:30:29", "dev_type": "Linux", "protocols": "tcp:codesys", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "3S-Smart Software Solutions", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "142.251.175.188": {"last_activity": "21-08-23 15:35:07", "dev_type": "HP Virtual Room Service", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Windows", "plant": "Dalmia Cement"}, "104.46.162.224": {"last_activity": "21-08-23 15:31:24", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "20.189.173.9": {"last_activity": "21-08-23 15:32:40", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "142.250.205.227": {"last_activity": "21-08-23 15:32:54", "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": "Unix/Linux Based", "plant": "Dalmia Cement"}, "172.217.166.163": {"last_activity": "21-08-23 15:32:54", "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": "Unix/Linux Based", "plant": "Dalmia Cement"}, "172.217.166.99": {"last_activity": "21-08-23 15:32:54", "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": "Unix/Linux Based", "plant": "Dalmia Cement"}, "193.149.136.134": {"last_activity": "21-08-23 15:32:05", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "13.89.179.8": {"last_activity": "21-08-23 15:33:03", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Windows", "plant": "Dalmia Cement"}, "20.190.146.35": {"last_activity": "21-08-23 15:32:49", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "216.239.36.117": {"last_activity": "21-08-23 15:32:54", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "35.190.39.137": {"last_activity": "21-08-23 15:34:53", "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": "Unix/Linux Based", "plant": "Dalmia Cement"}, "40.79.141.153": {"last_activity": "21-08-23 15:33:14", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "20.42.73.26": {"last_activity": "21-08-23 15:33:49", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "34.236.161.191": {"last_activity": "21-08-23 15:33:51", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "172.217.163.195": {"last_activity": "21-08-23 15:34:53", "dev_type": "http protocol over TLS/SSL", "protocols": "udp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Unix/Linux Based", "plant": "Dalmia Cement"}, "34.226.68.35": {"last_activity": "21-08-23 15:34:41", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Indeterminate Operating System", "plant": "Dalmia Cement"}, "13.89.179.9": {"last_activity": "21-08-23 15:34:49", "dev_type": "http protocol over TLS/SSL", "protocols": "tcp", "mac": "7c:5a:1c:7f:6e:ef", "vendor": "Sophos Ltd", "firmware": "Unknown", "model": "Unknown", "os": "Windows", "plant": "Dalmia Cement"}, "172.217.160.163": {"last_activity": "21-08-23 15:34:54", "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": "Unix/Linux Based", "plant": "Dalmia Cement"}}
\ No newline at end of file
No preview for this file type
from django.db import models
# Create your models here.
from django.urls import path, re_path
from . import views
urlpatterns = [
path('', views.login, name='login'),
path('login', views.login, name='login'),
path('sign_out', views.sign_out, name='sign out'),
path('validate_user', views.validate_user, name='validating user'),
path('index', views.security_management_offline, name='index'),
path('start_sniff', views.start_sniff, name='start sniffing'),
path('stop_sniff', views.stop_sniff, name='stop sniffing'),
path('refresh', views.refresh, name='refresh'),
]
\ No newline at end of file
import json
import sniff
import multiprocessing
from security_management.settings import CREDENTIALS
from utilities.list_interfaces import get_interfaces
from datetime import datetime, timedelta
from django.http import HttpResponse
from django.template import loader
from django.shortcuts import redirect
status = "Offline"
transfer_status = "not transmitting"
process = None
periodic_transfer = None
def check_session(request):
if 'user' in request.session:
return True
else:
return False
def login(request):
template = loader.get_template('login.html')
return HttpResponse(template.render({}, request))
def sign_out(request):
if 'user' in request.session:
request.session.flush()
return redirect('login')
def validate_user(request):
user_name = request.POST['username']
password = request.POST['password']
if user_name == CREDENTIALS.get("username") and password == CREDENTIALS.get("password"):
request.session['user'] = user_name
return redirect('index')
else:
return HttpResponse("<script>alert('Invalid Login Credentials!'); window.history.back();</script>")
def check_status(timestamp):
current_time = datetime.now()
given_time = datetime.strptime(timestamp, "%d-%m-%y %H:%M:%S")
time_difference = current_time - given_time
five_minutes = timedelta(minutes=5)
status = "Active"
if time_difference > five_minutes:
status = "Inactive"
return status
def security_management_offline(request):
if check_session(request):
global status
global transfer_status
headings = [
"Name", "Last Activity", "Type", "Protocols", "MAC Address",
"Vendor", "Firmware Version", "Model"
]
try:
with open("assets.json") as json_file:
data = json.load(json_file)
except:
data = {}
data_list = []
count = 0
for data_item in data:
count += 1
data_list.append(
[
count,
data_item,
data[data_item]["last_activity"],
data[data_item]["dev_type"],
data[data_item]["protocols"],
data[data_item]["mac"],
data[data_item]["vendor"],
data[data_item]["firmware"],
data[data_item]["model"],
check_status(data[data_item]["last_activity"])
]
)
template = loader.get_template('index.html')
user_name = request.session['user']
context = {
'interface_list': [interface for interface in get_interfaces() if interface != ""],
'data': data_list,
'heading': headings,
'status': status,
'user_details': user_name.title()
}
return HttpResponse(template.render(context, request))
else:
return redirect('login')
def start_sniff(request):
interface = request.POST['interface']
global process
global status
process = multiprocessing.Process(target=sniff.start_sniff, args=(interface,))
if process.is_alive():
process.kill()
process.start()
else:
process.start()
status = "Listening on " + interface + ""
return security_management_offline(request)
def stop_sniff(request):
global process
global status
if process:
if process.is_alive():
process.kill()
status = "Offline"
return security_management_offline(request)
def refresh(request):
return redirect('index')
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