157.90.80.107:5900 (tcp/http) - last seen on 2024-11-07 at 03:31:27 UTC
-
- IP
- 157.90.80.107
- Network
- 157.90.0.0/16
- Device
-
<enterprise field>: device.class
- Operating System
- Linux Linux Kernel
- URL
-
http://157.90.80.107:5900/ 200
- HTTP Title
- WS server test page
- ASN
- AS24940
- Organization
- Hetzner Online GmbH
- Protocol
- http
- Source
- datascan
-
- Operating System
- Linux Linux Kernel
This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.
-
- Data MD5
- 9f0745bc81af086925b730a8d657d0cf
- HTTP Header MD5
- aa0d2d5229be6fdb425dd3a6e3ff5f7b
- HTTP Body MD5
- 1845afc76ab40950911e69c8973bcb90
-
HTTP/1.1 200 OK Server: APS Content-Type: text/html Cache-Control: no-cache, no-store, must-revalidate, private X-Frame-Options: SAMEORIGIN Content-Security-Policy: default-src 'self'; connect-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; font-src 'self' data:; child-src 'self'; object-src 'none' X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Strict-Transport-Security: max-age=31536000; includeSubDomains X-Permitted-Cross-Domain-Policies: none Referrer-Policy: no-referrer Content-Length: 6787 <!DOCTYPE html> <html lang="en"> <head> <title>WS server test page</title> <meta charset=utf-8 http-equiv="Content-Language" content="en"/> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> div.title { font-size:18pt; font: Arial; font-weight:normal; text-align:center; color:#000000; } .browser { font-size:18pt; font: Arial; font-weight:normal; text-align:center; color:#ffff00; vertical-align:middle; text-align:center; background:#d0b070; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px;} .group2 { width:600px; vertical-align:middle; text-align:center; background:#f0f0e0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; } .explain { vertical-align:middle; text-align:center; background:#f0f0c0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; color:#404000; } .content { vertical-align:top; text-align:center; background:#fffff0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; } .canvas { vertical-align:top; text-align:center; background:#efefd0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; } </style> <script type="text/javascript"> var origin = window.location.origin; console.log("origin:: "+origin); window.onload = function() { console.log('WebSocket servers index.html: onload function entered'); if (document.location.search.indexOf("nopop=1") > 0) { var x = document.getElementById("CloseButton"); if (x) { x.style.display = "none"; } var x = document.getElementById("CloseText"); if (x) { x.style.display = "none"; } var x = document.getElementById("MovingText"); if (x) { x.style.display = "block"; } } moveAlong(); function receiver(event) { console.log('WebSocket servers index.html: reciever event:'+ event.data + " "+event.origin); // if (origin.indexOf(event.origin)==0) // { event.source.postMessage('Hello', event.origin); window.close(); // }i } window.addEventListener("message",receiver); console.log('WebSocket servers index.html:: performed addEventListener'); } function closeThis(){ console.log('WebSocket servers index.html:: closeThis'); self.close(); } function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split('&'); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split('='); if (decodeURIComponent(pair[0]) == variable) { return decodeURIComponent(pair[1]); } } } function parse_URL(url) { var a = document.createElement('a'); a.href = url; return { source: url, protocol: a.protocol.replace(':', ''), host: a.hostname, port: a.port, query: a.search /*params: (function () { //Not using the below attributes, hence commenting. var ret = {}, seg = a.search.replace(/^\?/, '').split('&'), len = seg.length, i = 0, s; for (; i < len; i++) { if (!seg[i]) { continue; } s = seg[i].split('='); ret[s[0]] = s[1]; } return ret; })(), file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1], hash: a.hash.replace('#', ''), path: a.pathname.replace(/^([^\/])/, '/$1'), relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1], segments: a.pathname.replace(/^\//, '').split('/')*/ }; } function launchVConsole(url) { var viewerURL = getQueryVariable('viewerURL'); var viewerURLhref = viewerURL.split('?')[0]; var vConsoleURLStr = ""; var vMediaURLStr = ""; var viewerURLPort = ""; var viewerURLObj = parse_URL(viewerURL); if (viewerURLObj.port != "") { //Use the https/http port, if ViewerURL doesn't have the port value explicitly viewerURLPort = viewerURLObj.port; } else { viewerURLPort = (viewerURLObj.protocol == 'https') ? 443 : 80; } //Construct the ViewerURL string for VConsole and VMedia vConsoleURLStr = document.location.protocol + "//" + document.location.hostname + ":" + viewerURLPort + "/restgui/html5viewer.html"; vMediaURLStr = document.location.protocol + "//" + document.location.hostname + ":" + viewerURLPort + "/restgui/html5vmediaviewer.html"; //Validate the URL and Port. Port range is validated here as the exact port cannot be validated here. if ((viewerURLhref == vConsoleURLStr || viewerURLhref == vMediaURLStr) && (viewerURLPort > 1 && viewerURLPort <= 65535)) { window.location.href = url; } else { console.log("Incoming ViewerURL input::" + viewerURLhref + " Expected:: " + vConsoleURLStr + "or:: " + vMediaURLStr); document.write("<h3>Invalid URL. Please <a href=https://" + document.location.hostname + ">click here </a> to login.</h3>"); } } function moveAlong(){ var SearchParameters = document.location.search; var viewerURL = ""; console.log( SearchParameters ); if ( SearchParameters.indexOf("nopop=1") > 0 ) { var nstart = SearchParameters.indexOf("viewerURL="); if (nstart >= 0) { /*var nend = SearchParameters.indexOf("&", nstart); if ( nend <= 0 ) nend = SearchParameters.length; viewerURL = SearchParameters.slice(nstart+10, nend); var newURL = unescape(viewerURL) + SearchParameters; window.location.href = newURL;*/ viewerURL = SearchParameters.slice(nstart+10); var newURL = unescape(viewerURL) ; launchVConsole(newURL); //window.location.href = newURL; } } } </script> </head> <body> <article> <table> <tr id="CloseText"><td> You have a SSL certificate for remote presence port. You should close this window now. </td></tr> <tr id="MovingText" style="display: none;" ><td> You are now being redirected to the remote presence viewer. </td></tr> <tr id="CloseButton"><td align="middle"> <input id="btnClose" type="button" onclick="closeThis()" value="Close" /> </td></tr> </table> </article> </body> </html>
-
{ "@category" : "datascan", "@timestamp" : "2024-11-07T03:31:27.000Z", "app" : { "http" : { "bodymd5" : "1845afc76ab40950911e69c8973bcb90", "bodymmh3" : 1521351496, "headermd5" : "aa0d2d5229be6fdb425dd3a6e3ff5f7b", "headermmh3" : 280567279, "title" : "WS server test page" }, "length" : 7382 }, "asn" : "AS24940", "city" : "Falkenstein", "country" : "DE", "data" : "HTTP/1.1 200 OK\r\nServer: APS\r\nContent-Type: text/html\r\nCache-Control: no-cache, no-store, must-revalidate, private\r\nX-Frame-Options: SAMEORIGIN\r\nContent-Security-Policy: default-src 'self'; connect-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; font-src 'self' data:; child-src 'self'; object-src 'none'\r\nX-Content-Type-Options: nosniff\r\nX-XSS-Protection: 1; mode=block\r\nStrict-Transport-Security: max-age=31536000; includeSubDomains\r\nX-Permitted-Cross-Domain-Policies: none\r\nReferrer-Policy: no-referrer\r\nContent-Length: 6787\r\n\r\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <title>WS server test page</title>\n <meta charset=utf-8 http-equiv=\"Content-Language\" content=\"en\"/>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n\n <style type=\"text/css\">\n\tdiv.title { font-size:18pt; font: Arial; font-weight:normal; text-align:center; color:#000000; }\n\t.browser { font-size:18pt; font: Arial; font-weight:normal; text-align:center; color:#ffff00; vertical-align:middle; text-align:center; background:#d0b070; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px;}\n\t.group2 { width:600px; vertical-align:middle; text-align:center; background:#f0f0e0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; }\n\t.explain { vertical-align:middle; text-align:center; background:#f0f0c0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; color:#404000; }\n\t.content { vertical-align:top; text-align:center; background:#fffff0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; }\n\t.canvas { vertical-align:top; text-align:center; background:#efefd0; padding:12px; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; }\n </style>\n <script type=\"text/javascript\">\n\n var origin = window.location.origin;\n console.log(\"origin:: \"+origin);\n\n window.onload = function()\n {\n console.log('WebSocket servers index.html: onload function entered');\n\t\tif (document.location.search.indexOf(\"nopop=1\") > 0)\n\t\t{\n\t\t\tvar x = document.getElementById(\"CloseButton\");\n\t\t\tif (x) { x.style.display = \"none\"; }\n\t\t\tvar x = document.getElementById(\"CloseText\");\n\t\t\tif (x) { x.style.display = \"none\"; }\n\t\t\tvar x = document.getElementById(\"MovingText\");\n\t\t\tif (x) { x.style.display = \"block\"; }\n\t\t}\n\n\t\tmoveAlong();\n\n function receiver(event)\n {\n console.log('WebSocket servers index.html: reciever event:'+ event.data + \" \"+event.origin);\n// if (origin.indexOf(event.origin)==0)\n// {\n event.source.postMessage('Hello', event.origin);\n window.close();\n// }i\n }\n\n window.addEventListener(\"message\",receiver);\n console.log('WebSocket servers index.html:: performed addEventListener');\n }\n\n function closeThis(){\n console.log('WebSocket servers index.html:: closeThis');\n self.close();\n }\n\n function getQueryVariable(variable) {\n var query = window.location.search.substring(1);\n var vars = query.split('&');\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('=');\n if (decodeURIComponent(pair[0]) == variable) {\n return decodeURIComponent(pair[1]);\n }\n }\n }\n\n function parse_URL(url) {\n var a = document.createElement('a');\n a.href = url;\n return {\n source: url,\n protocol: a.protocol.replace(':', ''),\n host: a.hostname,\n port: a.port,\n query: a.search\n /*params: (function () { //Not using the below attributes, hence commenting.\n var ret = {},\n seg = a.search.replace(/^\\?/, '').split('&'),\n len = seg.length,\n i = 0,\n s;\n for (; i < len; i++) {\n if (!seg[i]) {\n continue;\n }\n s = seg[i].split('=');\n ret[s[0]] = s[1];\n }\n return ret;\n })(),\n file: (a.pathname.match(/\\/([^\\/?#]+)$/i) || [, ''])[1],\n hash: a.hash.replace('#', ''),\n path: a.pathname.replace(/^([^\\/])/, '/$1'),\n relative: (a.href.match(/tps?:\\/\\/[^\\/]+(.+)/) || [, ''])[1],\n segments: a.pathname.replace(/^\\//, '').split('/')*/\n };\n }\n\n function launchVConsole(url) {\n var viewerURL = getQueryVariable('viewerURL');\n var viewerURLhref = viewerURL.split('?')[0];\n var vConsoleURLStr = \"\";\n var vMediaURLStr = \"\";\n var viewerURLPort = \"\";\n\n var viewerURLObj = parse_URL(viewerURL);\n if (viewerURLObj.port != \"\") { //Use the https/http port, if ViewerURL doesn't have the port value explicitly\n viewerURLPort = viewerURLObj.port;\n } else {\n viewerURLPort = (viewerURLObj.protocol == 'https') ? 443 : 80;\n }\n\n //Construct the ViewerURL string for VConsole and VMedia\n vConsoleURLStr = document.location.protocol + \"//\" + document.location.hostname + \":\" + viewerURLPort + \"/restgui/html5viewer.html\";\n vMediaURLStr = document.location.protocol + \"//\" + document.location.hostname + \":\" + viewerURLPort + \"/restgui/html5vmediaviewer.html\";\n\n //Validate the URL and Port. Port range is validated here as the exact port cannot be validated here.\n if ((viewerURLhref == vConsoleURLStr || viewerURLhref == vMediaURLStr) && (viewerURLPort > 1 && viewerURLPort <= 65535)) {\n window.location.href = url;\n } else {\n console.log(\"Incoming ViewerURL input::\" + viewerURLhref + \" Expected:: \" + vConsoleURLStr + \"or:: \" + vMediaURLStr);\n document.write(\"<h3>Invalid URL. Please <a href=https://\" + document.location.hostname + \">click here </a> to login.</h3>\");\n }\n }\n\n\tfunction moveAlong(){\n\t\tvar SearchParameters = document.location.search;\n\t\tvar viewerURL = \"\";\n\t\tconsole.log( SearchParameters );\n\t\tif ( SearchParameters.indexOf(\"nopop=1\") > 0 )\n\t\t{\n\t\t\tvar nstart = SearchParameters.indexOf(\"viewerURL=\");\n\t\t\tif (nstart >= 0)\n\t\t\t{\n\t\t\t\t/*var nend = SearchParameters.indexOf(\"&\", nstart);\n\t\t\t\tif ( nend <= 0 ) nend = SearchParameters.length;\n\t\t\t\tviewerURL = SearchParameters.slice(nstart+10, nend);\n\t\t\t\tvar newURL = unescape(viewerURL) + SearchParameters;\n\n\t\t\t\twindow.location.href = newURL;*/\n\t\t\t\tviewerURL = SearchParameters.slice(nstart+10);\n var newURL = unescape(viewerURL) ;\n launchVConsole(newURL);\n //window.location.href = newURL;\n\t\t\t}\n\t\t}\n\t}\n\n </script>\n</head>\n\n<body>\n <article>\n <table>\n <tr id=\"CloseText\"><td>\n You have a SSL certificate for remote presence port. You should close this window now.\n </td></tr>\n <tr id=\"MovingText\" style=\"display: none;\" ><td>\n You are now being redirected to the remote presence viewer.\n </td></tr>\n <tr id=\"CloseButton\"><td align=\"middle\">\n <input id=\"btnClose\" type=\"button\" onclick=\"closeThis()\" value=\"Close\" />\n </td></tr>\n </table>\n </article>\n</body>\n</html>\n", "datamd5" : "9f0745bc81af086925b730a8d657d0cf", "datammh3" : -1685440427, "device" : { "class" : "<enterprise field>: device.class" }, "geolocus" : { "asn" : "AS24940", "continent" : "EU", "continentname" : "Europe", "country" : "DE", "countryname" : "Germany", "domain" : [ "hetzner.com", "your-server.de" ], "isineu" : "true", "latitude" : "51.165691", "location" : "51.165691,10.451526", "longitude" : "10.451526", "netname" : "DE-HETZNER-19911216", "organization" : "Hetzner Online GmbH", "subnet" : "157.90.0.0/16" }, "ip" : "157.90.80.107", "ipv6" : "false", "latitude" : "50.4777", "location" : "50.4777,12.3649", "longitude" : "12.3649", "node" : { "country" : "<enterprise field>: node.country", "groupid" : "<enterprise field>: node.groupid", "id" : "<enterprise field>: node.id", "physicalcountry" : "<enterprise field>: node.physicalcountry" }, "organization" : "Hetzner Online GmbH", "os" : "Linux Kernel", "osvendor" : "Linux", "port" : 5900, "protocol" : "http", "protocolversion" : "1.1", "reason" : "OK", "seen_date" : "2024-11-07", "source" : "datascan", "status" : 200, "subnet" : "157.90.0.0/16", "tls" : "false", "transport" : "tcp", "url" : "/" }