mirror of https://github.com/MISP/misp-dashboard
addition: Added start and terminate script + added test_geo script that
test important function in the geo helperpull/29/head
parent
968757f81b
commit
c714d88977
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
GREEN="\\033[1;32m"
|
||||
DEFAULT="\\033[0;39m"
|
||||
RED="\\033[1;31m"
|
||||
|
||||
[ -z "$DASH_HOME" ] && echo "Needs the env var DASHENV. Run the script from the virtual environment." && exit 1;
|
||||
|
||||
conf_dir="${DASH_HOME}/config/"
|
||||
redis_dir="${DASH_HOME}/../redis/src/"
|
||||
test_dir="${DASH_HOME}/tests/"
|
||||
screenName="Misp-Dashboard-test"
|
||||
|
||||
screen -dmS "$screenName"
|
||||
sleep 0.1
|
||||
echo -e $GREEN"\t* Launching Redis servers"$DEFAULT
|
||||
screen -S "$screenName" -X screen -t "redis-server" bash -c $redis_dir'redis-server --port 6260; read x'
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
GREEN="\\033[1;32m"
|
||||
DEFAULT="\\033[0;39m"
|
||||
RED="\\033[1;31m"
|
||||
|
||||
[ -z "$DASH_HOME" ] && echo "Needs the env var DASHENV. Run the script from the virtual environment." && exit 1;
|
||||
|
||||
conf_dir="${DASH_HOME}/config/"
|
||||
redis_dir="${DASH_HOME}/../redis/src/"
|
||||
redis_dir="../../redis/src/"
|
||||
test_dir="${DASH_HOME}/tests/"
|
||||
screenName="Misp-Dashboard-test"
|
||||
|
||||
|
||||
bash -c $redis_dir'redis-cli -p 6260 shutdown'
|
||||
screen -S $screenName -X quit
|
|
@ -0,0 +1,58 @@
|
|||
[Dashboard]
|
||||
#hours
|
||||
graph_log_refresh_rate = 1
|
||||
#sec
|
||||
rotation_wait_time = 30
|
||||
max_img_rotation = 10
|
||||
hours_spanned = 48
|
||||
zoomlevel = 15
|
||||
# [1->12]
|
||||
size_dashboard_left_width = 5
|
||||
size_openStreet_pannel_perc = 55
|
||||
size_world_pannel_perc = 35
|
||||
item_to_plot = Attribute.category
|
||||
fieldname_order=["Event.id", "Attribute.Tag", "Attribute.category", "Attribute.type", ["Attribute.value", "Attribute.comment"]]
|
||||
char_separator=||
|
||||
|
||||
[GEO]
|
||||
#min
|
||||
updateFrequency = 60
|
||||
zoomlevel = 11
|
||||
# ~meter
|
||||
clusteringDistance = 10
|
||||
|
||||
[CONTRIB]
|
||||
max_number_of_last_contributor = 10
|
||||
min_between_reload = 5
|
||||
additional_help_text = ["Sightings multiplies earned points by 2", "Editing an attribute earns you the same as creating one"]
|
||||
|
||||
[Log]
|
||||
directory=logs
|
||||
filename=logs.log
|
||||
|
||||
[RedisGlobal]
|
||||
host=localhost
|
||||
port=6250
|
||||
#misp_web_url = http://192.168.56.50
|
||||
misp_web_url = https://misppriv.circl.lu
|
||||
#zmq_url=tcp://192.168.56.50:50000
|
||||
zmq_url=tcp://localhost:9990
|
||||
|
||||
[RedisLIST]
|
||||
db=3
|
||||
listName=bufferList
|
||||
|
||||
[RedisLog]
|
||||
db=0
|
||||
channel=1
|
||||
channelLastContributor = lastContributor
|
||||
channelLastAwards = lastAwards
|
||||
|
||||
[RedisMap]
|
||||
db=1
|
||||
channelDisp=PicToDisplay
|
||||
pathMaxMindDB=../data/GeoIP2-City_20171017/GeoIP2-City.mmdb
|
||||
path_countrycode_to_coord_JSON=../data/country_code_lat_long.json
|
||||
|
||||
[RedisDB]
|
||||
db=2
|
|
@ -0,0 +1,75 @@
|
|||
#!/usr/bin/env python3.5
|
||||
import configparser
|
||||
import redis
|
||||
import sys,os
|
||||
import datetime
|
||||
sys.path.append('..')
|
||||
|
||||
configfile = 'test_config.cfg'
|
||||
cfg = configparser.ConfigParser()
|
||||
cfg.read(configfile)
|
||||
|
||||
serv_redis_db = redis.StrictRedis(
|
||||
host='localhost',
|
||||
port=6260,
|
||||
db=1)
|
||||
|
||||
from helpers import geo_helper
|
||||
geo_helper = geo_helper.Geo_helper(serv_redis_db, cfg)
|
||||
|
||||
categ = 'Network Activity'
|
||||
|
||||
def wipeRedis():
|
||||
serv_redis_db.flushall()
|
||||
|
||||
def errorExit():
|
||||
wipeRedis()
|
||||
sys.exit(1)
|
||||
|
||||
def test():
|
||||
today = datetime.datetime.now()
|
||||
# IP -> Coord
|
||||
supposed_ip = '8.8.8.8'
|
||||
geo_helper.getCoordFromIpAndPublish(supposed_ip, categ)
|
||||
rep = geo_helper.getTopCoord(today)
|
||||
excpected_result = [['{"lat": 37.751, "lon": -97.822}', 1.0]]
|
||||
if rep != excpected_result:
|
||||
print('ip to coord result not matching')
|
||||
errorExit()
|
||||
|
||||
# gethitmap
|
||||
rep = geo_helper.getHitMap(today)
|
||||
excpected_result = [['US', 1.0]]
|
||||
if rep != excpected_result:
|
||||
print('getHitMap result not matching')
|
||||
errorExit()
|
||||
|
||||
# getCoordsByRadius
|
||||
rep = geo_helper.getCoordsByRadius(today, today, 0.000, 0.000, '1')
|
||||
excpected_result = []
|
||||
if rep != excpected_result:
|
||||
print('getCoordsByRadius result not matching')
|
||||
errorExit()
|
||||
|
||||
rep = geo_helper.getCoordsByRadius(today, today, 37.750, -97.821, '10')
|
||||
excpected_result = [[['{"categ": "Network Activity", "value": "8.8.8.8"}'], [-97.82200008630753, 37.75100012475438]]]
|
||||
if rep != excpected_result:
|
||||
print('getCoordsByRadius result not matching')
|
||||
errorExit()
|
||||
|
||||
wipeRedis()
|
||||
|
||||
|
||||
# Phone -> Coord
|
||||
phoneNumber = '(+352) 247-82000'
|
||||
geo_helper.getCoordFromPhoneAndPublish(phoneNumber, categ)
|
||||
rep = geo_helper.getTopCoord(datetime.datetime.now())[0]
|
||||
excpected_result = ['{"lat": "49.7500", "lon": "6.1667"}', 1.0]
|
||||
if rep != excpected_result:
|
||||
print('Phone to coord result not matching')
|
||||
errorExit()
|
||||
|
||||
|
||||
test()
|
||||
wipeRedis()
|
||||
print('Tests succeeded')
|
Loading…
Reference in New Issue