示例#1
0
def index(request):
    all_devices = Device.objects.all()
    last_5_searches = Search.objects.filter().order_by('-id')[:5]
    ics_len = Device.objects.filter(category="ics")
    coordinates_search_len = Device.objects.filter(category="coordinates")
    search_all = Search.objects.all()
    task = request.session.get('task_id')
    ports = Device.objects.values('port').annotate(
        c=Count('port')).order_by('-c')[:7]
    ports_list = list(ports)
    vulns = Device.objects.exclude(vulns__isnull=True).exclude(vulns__exact='')

    vulns_list = []

    for i in vulns:
        vulns_list.append(ast.literal_eval(i.vulns))

    cves = []
    for i in vulns_list:
        for j in i:
            cves.append(j)

    countr_cves = {}
    c = Counter(cves)
    for key, value in c.items():
        countr_cves[key] = value

    sort = sorted(countr_cves.items())[:7]

    countries = {}
    for i in search_all:
        countries[i.country] = "1"

    #make list out of last 5 searches
    for j in last_5_searches:
        try:
            j.country = pycountry.countries.get(alpha_2=j.country).name
            j.ics = ast.literal_eval(j.ics)
        except:
            pass
        try:
            j.coordinates_search = ast.literal_eval(j.coordinates_search)
        except:
            pass

    credits = check_credits()

    context = {
        'device': all_devices,
        "search": last_5_searches,
        "ics": ics_len,
        "coordinates": coordinates_search_len,
        "ports": ports_list,
        "countries": countries,
        'vulns': sort,
        "task_id": task,
        "search_len": search_all,
        "credits": credits
    }
    return render(request, 'index.html', context)
示例#2
0
def index(request):
    a = Device.objects.all()
    w = Search.objects.filter().order_by('-id')[:5]
    ics_len = Device.objects.filter(category="ics")
    coordinates_search_len = Device.objects.filter(category="coordinates")
    search_len = Search.objects.all()
    task = request.session.get('task_id')
    port = Device.objects.values('port').annotate(
        c=Count('port')).order_by('-c')[:7]
    k = list(port)
    vulns1 = Device.objects.exclude(vulns__isnull=True).exclude(
        vulns__exact='')

    tab = []

    for i in vulns1:
        tab.append(ast.literal_eval(i.vulns))

    cves = []
    for i in tab:
        for j in i:
            cves.append(j)

    d = {}
    c = Counter(cves)
    for key, value in c.items():
        d[key] = value

    sort = sorted(d.items())[:7]

    countries = {}
    for i in search_len:
        countries[i.country] = "1"

    for j in w:
        try:
            j.country = pycountry.countries.get(alpha_2=j.country).name
            j.ics = ast.literal_eval(j.ics)
        except:
            pass
        try:
            j.coordinates_search = ast.literal_eval(j.coordinates_search)
        except:
            pass

    credits = check_credits()

    context = {
        'device': a,
        "search": w,
        "ics": ics_len,
        "coordinates": coordinates_search_len,
        "ports": k,
        "countries": countries,
        'vulns': sort,
        "task_id": task,
        "search_len": search_len,
        "credits": credits
    }

    # print(context)

    return render(request, 'index.html', context)