Commit 542434e8 authored by Luca Lamorte's avatar Luca Lamorte

New UI for the privacy report

parent e98a1794
{"url": "amqp://luca:luca@finterop1/session1", "exchange": "default", "component": "gui_tt", "connected": false, "version": "0.0.1", "orchestrator": "http://finterop2"}
\ No newline at end of file
{"exchange": "default", "url": "amqp://u1:u1@10.41.7.222/demo", "version": "0.0.1", "connected": false, "component": "gui_tt", "orchestrator": "http://finterop2"}
\ No newline at end of file
......@@ -348,6 +348,30 @@ def upload():
return redirect("/", code=302)
@app.route('/demo')
def demo():
return render_template('demo.html')
@app.route('/demo_json')
def demo_json():
try:
with open("./testing_tool_gui/gui/static/simple_verdict.json") as json_data:
d = json.load(json_data)
json_data.close()
print (d)
response = app.response_class(
response=json.dumps(d),
status=200,
mimetype='application/json')
except Exception as error:
print (error)
return response
if __name__ == '__main__':
logger.debug("Start App listening on port 8080")
socketio.run(app, host="0.0.0.0", port=8080)
{
"timestamp": 1497428770.038387,
"protocols": ["coap, upd, ip"],
"status": "positive",
"is_final": true,
"session_id": "1497428770038387",
"conversation": [{
"size": 140.0,
"id": "10.187.64.43",
"anomalies": [{
"device": "10.41.7.221",
"pkt_id": "257",
"timestamp": "Mar 6, 2017 18:18:44.051799000 CET",
"protocol": "eth:ethertype:ip:udp:coap:data-text-lines",
"detected_token": "University of Luxembourg",
"privacy_tag": "ORGANIZATION"
},{
"device": "10.41.7.221",
"pkt_id": "257",
"timestamp": "Mar 6, 2017 18:18:44.051799000 CET",
"protocol": "eth:ethertype:ip:udp:coap:data-text-lines",
"detected_token": "bbbb::1",
"privacy_tag": "IPv6"
}]
}, {
"size": 212.0,
"id": "10.41.7.221",
"anomalies": [{
"device": "10.41.7.221",
"pkt_id": "257",
"timestamp": "Mar 6, 2017 18:18:44.051799000 CET",
"protocol": "eth:ethertype:ip:udp:coap:data-text-lines",
"detected_token": "Luca",
"privacy_tag": "PERSON"
}, {
"device": "10.41.7.221",
"pkt_id": "257",
"timestamp": "Mar 6, 2017 18:18:44.051799000 CET",
"protocol": "eth:ethertype:ip:udp:coap:data-text-lines",
"detected_token": "luca.lamorte@uni.lu",
"privacy_tag": "EMAIL"
},
{
"device": "10.41.7.221",
"pkt_id": "257",
"timestamp": "Mar 6, 2017 18:18:44.051799000 CET",
"protocol": "eth:ethertype:ip:udp:coap:data-text-lines",
"detected_token": "12:12:12:12:12",
"privacy_tag": "MAC"
}]
}],
"testing_tool": "Privacy Testing Tool",
"byte_exchanged": 352.0,
"packets": {
"257": {
"_type": "pcap_file",
"_source": {
"layers": {
"ip_raw": "4500005c23b500004011f9f00abb402b0a2907dd",
"ip": {
"Source GeoIP: Unknown": "",
"ip.hdr_len_raw": "45",
"ip.ttl_raw": "40",
"ip.host": "10.41.7.221",
"ip.dsfield_raw": "00",
"ip.host_raw": "0a2907dd",
"ip.checksum.status": "2",
"ip.addr_raw": "0a2907dd",
"ip.version": "4",
"ip.src_raw": "0abb402b",
"ip.len_raw": "005c",
"ip.frag_offset": "0",
"ip.dsfield": {
"ip.dsfield.dscp_raw": "0",
"ip.dsfield.ecn_raw": "0",
"ip.dsfield.ecn": "0",
"ip.dsfield.dscp": "0"
},
"ip.dst_host_raw": "0a2907dd",
"ip.checksum_raw": "f9f0",
"ip.addr": "10.41.7.221",
"ip.proto_raw": "11",
"ip.proto": "17",
"ip.src_host": "10.187.64.43",
"Destination GeoIP: Unknown": "",
"ip.id": "0x000023b5",
"ip.ttl": "64",
"ip.flags": {
"ip.flags.mf": "0",
"ip.flags.df": "0",
"ip.flags.df_raw": "00",
"ip.flags.rb_raw": "00",
"ip.flags.mf_raw": "00",
"ip.flags.rb": "0"
},
"ip.id_raw": "23b5",
"ip.frag_offset_raw": "0000",
"ip.len": "92",
"ip.hdr_len": "20",
"ip.dst_raw": "0a2907dd",
"ip.dst": "10.41.7.221",
"ip.src_host_raw": "0abb402b",
"ip.flags_raw": "00",
"ip.version_raw": "4",
"ip.checksum": "0x0000f9f0",
"ip.dst_host": "10.41.7.221",
"ip.src": "10.187.64.43"
},
"eth": {
"eth.type_raw": "0800",
"eth.dst": {
"eth.addr_raw": "00000c9ff2d4",
"eth.addr": "00:00:0c:9f:f2:d4",
"eth.ig_raw": "0",
"eth.dst_resolved": "00:00:0c:9f:f2:d4",
"eth.addr_resolved": "00:00:0c:9f:f2:d4",
"eth.dst_resolved_raw": "00000c9ff2d4",
"eth.addr_resolved_raw": "00000c9ff2d4",
"eth.lg": "0",
"eth.ig": "0",
"eth.lg_raw": "0"
},
"eth.src": {
"eth.lg": "0",
"eth.addr": "f4:5c:89:ad:fd:13",
"eth.addr_resolved_raw": "f45c89adfd13",
"eth.ig": "0",
"eth.ig_raw": "0",
"eth.addr_raw": "f45c89adfd13",
"eth.addr_resolved": "f4:5c:89:ad:fd:13",
"eth.lg_raw": "0",
"eth.src_resolved_raw": "f45c89adfd13",
"eth.src_resolved": "f4:5c:89:ad:fd:13"
},
"eth.dst_raw": "00000c9ff2d4",
"eth.type": "0x00000800",
"eth.src_raw": "f45c89adfd13"
},
"coap": {
"coap.version_raw": "1",
"coap.code_raw": "02",
"coap.opt.name": {
"coap.opt.desc": "Type 11, Critical, Unsafe",
"coap.opt.delta_raw": "B",
"coap.opt.uri_path": "large-create",
"coap.opt.desc_raw": "bc6c617267652d637265617465",
"coap.opt.length_raw": "C",
"coap.opt.delta": "11",
"coap.opt.length": "12",
"coap.opt.uri_path_raw": "6c617267652d637265617465"
},
"coap.type": "0",
"coap.type_raw": "0",
"coap.opt.name_raw": "bc6c617267652d637265617465",
"coap.payload_raw": "4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"coap.mid_raw": "f30f",
"coap.token_len": "0",
"coap.version": "1",
"coap.token_len_raw": "0",
"coap.opt.end_marker_raw": "ff",
"coap.opt.end_marker": "255",
"coap.code": "2",
"coap.payload": {
"data-text-lines": {
"Luca is working at the University of Luxemburg": ""
},
"coap.opt.payload_desc_raw": "4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"data-text-lines_raw": "4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"coap.opt.payload_desc": "text/plain; charset=utf-8"
},
"coap.mid": "62223"
},
"frame_raw": "00000c9ff2d4f45c89adfd1308004500005c23b500004011f9f00abb402b0a2907ddc4ce1633004826244002f30fbc6c617267652d637265617465ff4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"udp_raw": "c4ce163300482624",
"udp": {
"udp.srcport": "50382",
"udp.length": "72",
"udp.dstport_raw": "1633",
"udp.srcport_raw": "c4ce",
"udp.checksum.status": "2",
"udp.port": "5683",
"udp.port_raw": "1633",
"udp.length_raw": "0048",
"udp.checksum": "0x00002624",
"udp.stream": "2",
"udp.checksum_raw": "2624",
"udp.dstport": "5683"
},
"eth_raw": "00000c9ff2d4f45c89adfd130800",
"coap_raw": "4002f30fbc6c617267652d637265617465ff4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"frame": {
"frame.len": "106",
"frame.time_delta_displayed": "1.852966000",
"frame.time_relative": "12.082063000",
"frame.time": "Mar 6, 2017 18:18:44.051799000 CET",
"frame.time_delta": "1.852966000",
"frame.offset_shift": "0.000000000",
"frame.number": "257",
"frame.ignored": "0",
"frame.encap_type": "1",
"frame.marked": "0",
"frame.cap_len": "106",
"frame.protocols": "eth:ethertype:ip:udp:coap:data-text-lines",
"frame.time_epoch": "1488820724.051799000"
}
}
},
"_index": "packets-2017-06-14",
"_score": null
}
},
"version": "0.0.1",
"type": "Anomalies Report",
"anomalies": 2
}
This diff is collapsed.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="{{ url_for('static', filename='style.css')}}">
<title>Privacy Tool GUI</title>
</head>
<body>
<br>
<div class="container" id="report"> </div>
<script>
function show_packet(pkt){
alert(pkt)
}
// Loads a JSON file
function loadJSON(path, success, error)
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
if (success)
success(JSON.parse(xhr.responseText));
} else {
if (error)
error(xhr);
}
}
};
xhr.open("GET", path, true);
xhr.send();
}
// Loading JSON
loadJSON('/demo_json',
function(verdict) {
var newDate = new Date();
newDate.setTime(verdict.timestamp*1000);
var dateString = newDate.toUTCString()
var output = "<div class='jumbotron'>"
output += "<div class='media'><div class='media-left media-middle'>"
output += "<a href='#'><img class='media-object' src='{{ url_for('static', filename='spy-1.png')}}' alt='...'> </a></div>"
output += "<div class='media-body'>"
output += "<h1 >Privacy Report</h1>";
output += "<h3 class='media-heading'>Protocols under investigation: <strong style='color:red;'>"+verdict.protocols+"</strong></h3>"
output += " This conversation is <strong class='"+verdict.status+"'>" + verdict.status +" </strong> to privacy issue"
output += "<div> <strong>Created</strong> "+dateString +"</div>"
output += "<div> <strong>Session:</strong>: "+verdict.session_id +"</div></div>"
output += "</div>"
output += "<div class='progress'>" +
"<div class='progress-bar progress-bar-warning progress-bar-striped' style='width: 100%'" +
"role='progressbar' aria-valuemax='100'> Analyzed "+ verdict.byte_exchanged + " bytes - Conversation size</div>" +
"</div></div>"
var conversations = verdict.conversation;
var packets = verdict.packets;
for (var c=0; c<conversations.length; c++) {
var conv_size = (conversations[c].size / verdict.byte_exchanged)*100;
output += "<div class ='panel panel-default'>";
output += "<div class='panel-heading' style='background-color: #669;; color:white'>";
output += "IUT n."+(c+1) +" with ID: <strong style='color: #f0ad4e'>"+conversations[c].id +"</strong>"
output += "<div class='progress'>" +
"<div class='progress-bar progress-bar-success progress-bar-striped' style='width: "+conv_size+"%'" +
"role='progressbar' aria-valuenow='"+conv_size+"' aria-valuemin='0' aria-valuemax='100'>"+
"<span class='sr-only'> Conversation size: " + conversations[c].size + " bytes</span> " + conversations[c].size + " bytes exchanged</div></div>"
if (conversations[c].anomalies.length > 0) {
output += "<div class='text-right'><span class='label label-danger'>"+conversations[c].anomalies.length+" anomalies</span> </div></div>";
output +="<table class='table' id='newspaper-b'><thead>";
output += "<tr> <th> # </th> <th> Frame ID</th> <th>Protocol</th> <th>Token</th> <th>Privacy Tag</th> <th>Packet</th></tr></thead>";
output += "<tbody>";
index = 1;
for (var a=0; a<conversations[c].anomalies.length; a++) {
var color_tag = "tag_"+conversations[c].anomalies[a].privacy_tag.toLowerCase();
output += "<tr> <td scope='row'>" +index.toString() + "</td>" +
"<td>" + conversations[c].anomalies[a].pkt_id + "</td>" +
"<td>CoAP</td>" +
"<td>" + conversations[c].anomalies[a].detected_token + "</td>" +
"<td class='"+color_tag+"'>" + conversations[c].anomalies[a].privacy_tag + "</td>"+
"<td> <a href='#' onclick='show_packet("+conversations[c].anomalies[a].pkt_id+")'>Show</a></td></tr>";
index += 1;
}
output += "</tbody></table>";
}
else {
output += "<div class='text-right'><span class='label label-success'>Clean conversation</span> </div></div>";
}
output +="</div><br>";
}
//document.write(output);
document.getElementById('report').innerHTML = output
},
function(xhr) {
console.error(xhr);
}
);
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!-- Mise en page du contenu propre à la page -->
<link rel="stylesheet" href="./style.css" />
<!--<link rel="icon" type="image/png" href="./images/icon.png" />-->
<title>Privacy Tool GUI</title>
</head>
<body>
<!--<script src="./jquery-3.2.1.js"></script>-->
<script>
/*$.getJSON("./simple_verdict.json", function(verdict) {
//var datas = JSON.parse('{"result":[ {"element": "elem1"}, {"element": "elem2"}, {"element": "elem3"} ],"value":5}');
//document.write("Value : " + datas.value + "<br />");
//document.write("Element 0 of array : " + datas.result[0].element);
var output = "<h3>Privacy Report - ver. " + verdict.version + "</h3>";
output += "<p>Protocols: " + verdict.protocols + " - Status. " + verdict.status + " - Conversation size: " + verdict.byte_exchanged + " bytes</p>";
var conversations = verdict.conversation;
for (var c=0; c<conversations.length; c++) {
output += "<div class ='panel panel-default'>";
output += "<div class='panel-heading' style='background-color: cadetblue; color:white'>";
output += "Device " + conversations[c].id + " - Conversation size: " + conversations[c].size + " bytes";
if (conversations[c].anomalies.length > 0) {
output += "<div class='text-right'><span class='label label-danger'>Anomalies</span> </div></div>";
output +="<table class='table'><thead>";
output += "<tr> <th> # </th> <th>PacketID</th> <th>Token</th> <th>Tag</th> </tr></thead>";
output += "<tbody>";
index = 1;
for (var a=0; a<conversations[c].anomalies.length; a++) {
output += "<tr> <th scope='row'>" + index.toString() + "</th><td>Frame:" + conversations[c].anomalies[a].pkt_id + ":coap</td><td>" + conversations[c].anomalies[a].detected_token + "</td><td>" + conversations[c].anomalies[a].privacy_tag + "</td></tr>";
index += 1;
}
output += "</tbody></table>";
}
else {
output += "<div class='text-right'><span class='label label-success'>Clean conversation</span> </div></div>";
}
output +="</div><br>";
}
document.write(output);
});*/
// Loads a JSON file
function loadJSON(path, success, error)
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
if (success)
success(JSON.parse(xhr.responseText));
} else {
if (error)
error(xhr);
}
}
};
xhr.open("GET", path, true);
xhr.send();
}
// Loading JSON
loadJSON('./simple_verdict.json',
function(verdict) {
var output = "<h3>Privacy Report - ver. " + verdict.version + "</h3>";
output += "<p>Protocols: " + verdict.protocols + " - Status. " + verdict.status + " - Conversation size: " + verdict.byte_exchanged + " bytes</p>";
var conversations = verdict.conversation;
for (var c=0; c<conversations.length; c++) {
output += "<div class ='panel panel-default'>";
output += "<div class='panel-heading' style='background-color: cadetblue; color:white'>";
output += "Device " + conversations[c].id + " - Conversation size: " + conversations[c].size + " bytes";
if (conversations[c].anomalies.length > 0) {
output += "<div class='text-right'><span class='label label-danger'>Anomalies</span> </div></div>";
output +="<table class='table'><thead>";
output += "<tr> <th> # </th> <th>PacketID</th> <th>Token</th> <th>Tag</th> </tr></thead>";
output += "<tbody>";
index = 1;
for (var a=0; a<conversations[c].anomalies.length; a++) {
output += "<tr> <th scope='row'>" + index.toString() + "</th><td>Frame:" + conversations[c].anomalies[a].pkt_id + ":coap</td><td>" + conversations[c].anomalies[a].detected_token + "</td><td>" + conversations[c].anomalies[a].privacy_tag + "</td></tr>";
index += 1;
}
output += "</tbody></table>";
}
else {
output += "<div class='text-right'><span class='label label-success'>Clean conversation</span> </div></div>";
}
output +="</div><br>";
}
document.write(output);
},
function(xhr) {
console.error(xhr);
}
);
</script>
</body>
</html>
\ No newline at end of file
{
"timestamp": 1497428770.038387,
"protocols": ["coap"],
"status": "positive",
"is_final": true,
"conversation": [{
"size": 140.0,
"id": "10.187.64.43",
"anomalies": []
}, {
"size": 212.0,
"id": "10.41.7.221",
"anomalies": [{
"device": "10.41.7.221",
"pkt_id": "257",
"timestamp": "Mar 6, 2017 18:18:44.051799000 CET",
"protocol": "eth:ethertype:ip:udp:coap:data-text-lines",
"detected_token": "Luca",
"privacy_tag": "PERSON"
}, {
"device": "10.41.7.221",
"pkt_id": "257",
"timestamp": "Mar 6, 2017 18:18:44.051799000 CET",
"protocol": "eth:ethertype:ip:udp:coap:data-text-lines",
"detected_token": "Luca",
"privacy_tag": "PERSON"
}]
}],
"testing_tool": "Privacy Testing Tool",
"byte_exchanged": 352.0,
"packets": {
"257": {
"_type": "pcap_file",
"_source": {
"layers": {
"ip_raw": "4500005c23b500004011f9f00abb402b0a2907dd",
"ip": {
"Source GeoIP: Unknown": "",
"ip.hdr_len_raw": "45",
"ip.ttl_raw": "40",
"ip.host": "10.41.7.221",
"ip.dsfield_raw": "00",
"ip.host_raw": "0a2907dd",
"ip.checksum.status": "2",
"ip.addr_raw": "0a2907dd",
"ip.version": "4",
"ip.src_raw": "0abb402b",
"ip.len_raw": "005c",
"ip.frag_offset": "0",
"ip.dsfield": {
"ip.dsfield.dscp_raw": "0",
"ip.dsfield.ecn_raw": "0",
"ip.dsfield.ecn": "0",
"ip.dsfield.dscp": "0"
},
"ip.dst_host_raw": "0a2907dd",
"ip.checksum_raw": "f9f0",
"ip.addr": "10.41.7.221",
"ip.proto_raw": "11",
"ip.proto": "17",
"ip.src_host": "10.187.64.43",
"Destination GeoIP: Unknown": "",
"ip.id": "0x000023b5",
"ip.ttl": "64",
"ip.flags": {
"ip.flags.mf": "0",
"ip.flags.df": "0",
"ip.flags.df_raw": "00",
"ip.flags.rb_raw": "00",
"ip.flags.mf_raw": "00",
"ip.flags.rb": "0"
},
"ip.id_raw": "23b5",
"ip.frag_offset_raw": "0000",
"ip.len": "92",
"ip.hdr_len": "20",
"ip.dst_raw": "0a2907dd",
"ip.dst": "10.41.7.221",
"ip.src_host_raw": "0abb402b",
"ip.flags_raw": "00",
"ip.version_raw": "4",
"ip.checksum": "0x0000f9f0",
"ip.dst_host": "10.41.7.221",
"ip.src": "10.187.64.43"
},
"eth": {
"eth.type_raw": "0800",
"eth.dst": {
"eth.addr_raw": "00000c9ff2d4",
"eth.addr": "00:00:0c:9f:f2:d4",
"eth.ig_raw": "0",
"eth.dst_resolved": "00:00:0c:9f:f2:d4",
"eth.addr_resolved": "00:00:0c:9f:f2:d4",
"eth.dst_resolved_raw": "00000c9ff2d4",
"eth.addr_resolved_raw": "00000c9ff2d4",
"eth.lg": "0",
"eth.ig": "0",
"eth.lg_raw": "0"
},
"eth.src": {
"eth.lg": "0",
"eth.addr": "f4:5c:89:ad:fd:13",
"eth.addr_resolved_raw": "f45c89adfd13",
"eth.ig": "0",
"eth.ig_raw": "0",
"eth.addr_raw": "f45c89adfd13",
"eth.addr_resolved": "f4:5c:89:ad:fd:13",
"eth.lg_raw": "0",
"eth.src_resolved_raw": "f45c89adfd13",
"eth.src_resolved": "f4:5c:89:ad:fd:13"
},
"eth.dst_raw": "00000c9ff2d4",
"eth.type": "0x00000800",
"eth.src_raw": "f45c89adfd13"
},
"coap": {
"coap.version_raw": "1",
"coap.code_raw": "02",
"coap.opt.name": {
"coap.opt.desc": "Type 11, Critical, Unsafe",
"coap.opt.delta_raw": "B",
"coap.opt.uri_path": "large-create",
"coap.opt.desc_raw": "bc6c617267652d637265617465",
"coap.opt.length_raw": "C",
"coap.opt.delta": "11",
"coap.opt.length": "12",
"coap.opt.uri_path_raw": "6c617267652d637265617465"
},
"coap.type": "0",
"coap.type_raw": "0",
"coap.opt.name_raw": "bc6c617267652d637265617465",
"coap.payload_raw": "4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"coap.mid_raw": "f30f",
"coap.token_len": "0",
"coap.version": "1",
"coap.token_len_raw": "0",
"coap.opt.end_marker_raw": "ff",
"coap.opt.end_marker": "255",
"coap.code": "2",
"coap.payload": {
"data-text-lines": {
"Luca is working at the University of Luxemburg": ""
},
"coap.opt.payload_desc_raw": "4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"data-text-lines_raw": "4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"coap.opt.payload_desc": "text/plain; charset=utf-8"
},
"coap.mid": "62223"
},
"frame_raw": "00000c9ff2d4f45c89adfd1308004500005c23b500004011f9f00abb402b0a2907ddc4ce1633004826244002f30fbc6c617267652d637265617465ff4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"udp_raw": "c4ce163300482624",
"udp": {
"udp.srcport": "50382",
"udp.length": "72",
"udp.dstport_raw": "1633",
"udp.srcport_raw": "c4ce",
"udp.checksum.status": "2",
"udp.port": "5683",
"udp.port_raw": "1633",
"udp.length_raw": "0048",
"udp.checksum": "0x00002624",
"udp.stream": "2",
"udp.checksum_raw": "2624",
"udp.dstport": "5683"
},
"eth_raw": "00000c9ff2d4f45c89adfd130800",
"coap_raw": "4002f30fbc6c617267652d637265617465ff4c75636120697320776f726b696e672061742074686520556e6976657273697479206f66204c7578656d62757267",
"frame": {
"frame.len": "106",
"frame.time_delta_displayed": "1.852966000",
"frame.time_relative": "12.082063000",
"frame.time": "Mar 6, 2017 18:18:44.051799000 CET",
"frame.time_delta": "1.852966000",
"frame.offset_shift": "0.000000000",
"frame.number": "257",
"frame.ignored": "0",
"frame.encap_type": "1",
"frame.marked": "0",
"frame.cap_len": "106",
"frame.protocols": "eth:ethertype:ip:udp:coap:data-text-lines",
"frame.time_epoch": "1488820724.051799000"
}
}
},
"_index": "packets-2017-06-14",
"_score": null
}
},
"version": "0.0.1",
"type": "Anomalies Report",
"anomalies": 2
}
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