Returning 10 result(s) out of 5,445 in 0.091 second(s)

  • 121.229.16.94:4433 (tcp/http/tls) - last seen on 2024-11-07 at 05:19:36 UTC

    • IP
      121.229.16.94
      Network
      121.229.0.0/18
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://121.229.16.94:4433/ 200

      ASN
      AS4134
      Organization
      Chinanet
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Server Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      8c01b877755c839429be17da4f256d229d197e24b608f050099a59bc6cf7e444
      Validity Not Before
      2021-01-26T03:04:52Z
      Validity Not After
      2031-01-24T03:04:52Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      261373bb06d4da7863a16d1e9ff9201e
      HTTP Header MD5
      9d0ae6211bcf5ccc6375bd2e399455a6
      HTTP Body MD5
      ef603a36c42887bfca2c671cc8df5f40
    • HTTP/1.1 200 OK
      Date: Thu, 07 Nov 2024 05:19:10 GMT
      Server: Server
      X-Frame-Options: SAMEORIGIN
      X-XSS-Protection: 1; mode=block
      X-Permitted-Cross-Domain-Policies: none
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7462
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      <!-- 旧方案 -->
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      <!-- 旧方案 -->
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <!-- 新方案 >
      	<script src="/com/js/common.min.js"></script>
      <! 新方案 -->
      <!-- 旧方案 -->
      	<script src="/com/common.js"></script>
      	<script src="/com/64sys.js"></script>
      <!-- 旧方案 -->
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      window.setLang();
      var is_old_solution = (!'');
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      var selectline_timeout = "3";
      var g_midatk = "0";
      var g_lines = [];
      
      //验证请求安全性
      function validSec(url){
      	if(g_midatk == "1"){
      		var regex = new RegExp("^((https)?://)","i");
      		if(!regex.exec(url))
      		{
      			alert(tr("您访问的SSL VPN系统正受到中间人攻击(SSL Strip攻击),请直接使用https协议访问SSL VPN系统."));
      			return false;
      		}
      	}
      	return true
      }
      
      /*
      luyi 20120223
      1、先分析line_list中的数据,转换成Array
      2、通过优先级级对数据进行分组,并按优先级别进行排序
      3、对分组后的数据按速度选路
      */
      /*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		timer = null,
      		config_timeout = parseFloat(selectline_timeout),
      		interval = level * config_timeout * 1000,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      		}
      	}
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	timer = setInterval(function(){	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:3000,低6000;差值100毫秒)
      		interval-=100;
      		if(result && interval<=0){
      			callback(result);
      			clearInterval(timer);
      		}
      	}, 100);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(selectline_timeout),
      		timer = null;
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	timer = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(timer);
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      		if(!validSec(url)){
      			return;
      		}
      		flag = true;
      		if(url.indexOf('?') == -1){
      			url += '?rnd=' + Math.random();
      		}else{
      			url += '&rnd=' + Math.random();
      		}
      
      		url += ("#" + sourceUrl);
      		
      		window.location.href = url;
      	}
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      		var script = document.createElement('script');
      		script.text = html;
      		document.body.appendChild(script);
      	}
      }
      /*end*/
      
      function CookiesEnabled()
      {
      	try	{
      		var secure = "";
      		if (/^https/i.test(window.location.protocol)) {
      			secure = "; secure";
      		}
      		document.cookie = "cookie=yes" + secure; 
      		cookieOK = document.cookie.indexOf("cookie=yes") > -1; 
      		if (cookieOK) {	
      			var lastyear = new Date();
      			lastyear.setFullYear(lastyear.getFullYear() - 1);
      			document.cookie = "cookie=yes; expires=" + lastyear.toGMTString() + secure;
      			return true;
      		}
      		else 	
      			return false;
      	}
      	catch(ex){
      		return false;
      	}
      }
      
      if(CookiesEnabled())
      {
      	if (is_old_solution && window.Browser && Browser.is64 && Browser.isIE) {
      		InitFor64('index');
      	} else {
      		var loc = window.location;
      		var url = loc.protocol+"//"+loc.host;
      		if(/\/$/g.test(url)){
      			url = url.substring(0,url.length-1);
      		}
      		url = encodeURIComponent(url);
      		//注意: 以下这行代码不可修改和重复, 客户端要从中解析地址
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      		gotoLines();
      	}
      }
      else
      {
      	alert(tr("当前设置Cookie被禁用,禁用Cookie将不能使用SSL VPN"));
      }
      </script>
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T05:19:36.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "ef603a36c42887bfca2c671cc8df5f40",
               "bodymmh3" : 140294496,
               "component" : [
                  {
                     "product" : "EasyConnect",
                     "productvendor" : "Sangfor"
                  }
               ],
               "headermd5" : "9d0ae6211bcf5ccc6375bd2e399455a6",
               "headermmh3" : -1390818804
            },
            "length" : 7793
         },
         "asn" : "AS4134",
         "basicconstraints" : "critical",
         "ca" : "false",
         "city" : "Shanghai",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Thu, 07 Nov 2024 05:19:10 GMT\r\nServer: Server\r\nX-Frame-Options: SAMEORIGIN\r\nX-XSS-Protection: 1; mode=block\r\nX-Permitted-Cross-Domain-Policies: none\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7462\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\" />\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<!-- \u65b0\u65b9\u6848 >\r\n\t<script src=\"/com/js/common.min.js\"></script>\r\n<! \u65b0\u65b9\u6848 -->\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\t<script src=\"/com/common.js\"></script>\r\n\t<script src=\"/com/64sys.js\"></script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\nwindow.setLang();\r\nvar is_old_solution = (!'');\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\nvar selectline_timeout = \"3\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n\r\n//\u9a8c\u8bc1\u8bf7\u6c42\u5b89\u5168\u6027\r\nfunction validSec(url){\r\n\tif(g_midatk == \"1\"){\r\n\t\tvar regex = new RegExp(\"^((https)?://)\",\"i\");\r\n\t\tif(!regex.exec(url))\r\n\t\t{\r\n\t\t\talert(tr(\"\u60a8\u8bbf\u95ee\u7684SSL VPN\u7cfb\u7edf\u6b63\u53d7\u5230\u4e2d\u95f4\u4eba\u653b\u51fb(SSL Strip\u653b\u51fb),\u8bf7\u76f4\u63a5\u4f7f\u7528https\u534f\u8bae\u8bbf\u95eeSSL VPN\u7cfb\u7edf.\"));\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/*\r\nluyi 20120223\r\n1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n*/\r\n/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\ttimer = null,\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\tinterval = level * config_timeout * 1000,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t}\r\n\t}\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\ttimer = setInterval(function(){\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:3000,\u4f4e6000;\u5dee\u503c100\u6beb\u79d2\uff09\r\n\t\tinterval-=100;\r\n\t\tif(result && interval<=0){\r\n\t\t\tcallback(result);\r\n\t\t\tclearInterval(timer);\r\n\t\t}\r\n\t}, 100);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\ttimer = null;\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\ttimer = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(timer);\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\t\tif(!validSec(url)){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tflag = true;\r\n\t\tif(url.indexOf('?') == -1){\r\n\t\t\turl += '?rnd=' + Math.random();\r\n\t\t}else{\r\n\t\t\turl += '&rnd=' + Math.random();\r\n\t\t}\r\n\r\n\t\turl += (\"#\" + sourceUrl);\r\n\t\t\r\n\t\twindow.location.href = url;\r\n\t}\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.text = html;\r\n\t\tdocument.body.appendChild(script);\r\n\t}\r\n}\r\n/*end*/\r\n\r\nfunction CookiesEnabled()\r\n{\r\n\ttry\t{\r\n\t\tvar secure = \"\";\r\n\t\tif (/^https/i.test(window.location.protocol)) {\r\n\t\t\tsecure = \"; secure\";\r\n\t\t}\r\n\t\tdocument.cookie = \"cookie=yes\" + secure; \r\n\t\tcookieOK = document.cookie.indexOf(\"cookie=yes\") > -1; \r\n\t\tif (cookieOK) {\t\r\n\t\t\tvar lastyear = new Date();\r\n\t\t\tlastyear.setFullYear(lastyear.getFullYear() - 1);\r\n\t\t\tdocument.cookie = \"cookie=yes; expires=\" + lastyear.toGMTString() + secure;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse \t\r\n\t\t\treturn false;\r\n\t}\r\n\tcatch(ex){\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nif(CookiesEnabled())\r\n{\r\n\tif (is_old_solution && window.Browser && Browser.is64 && Browser.isIE) {\r\n\t\tInitFor64('index');\r\n\t} else {\r\n\t\tvar loc = window.location;\r\n\t\tvar url = loc.protocol+\"//\"+loc.host;\r\n\t\tif(/\\/$/g.test(url)){\r\n\t\t\turl = url.substring(0,url.length-1);\r\n\t\t}\r\n\t\turl = encodeURIComponent(url);\r\n\t\t//\u6ce8\u610f: \u4ee5\u4e0b\u8fd9\u884c\u4ee3\u7801\u4e0d\u53ef\u4fee\u6539\u548c\u91cd\u590d, \u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t\tgotoLines();\r\n\t}\r\n}\r\nelse\r\n{\r\n\talert(tr(\"\u5f53\u524d\u8bbe\u7f6eCookie\u88ab\u7981\u7528,\u7981\u7528Cookie\u5c06\u4e0d\u80fd\u4f7f\u7528SSL VPN\"));\r\n}\r\n</script>\r\n</html>\r\n\r\n",
         "datamd5" : "261373bb06d4da7863a16d1e9ff9201e",
         "datammh3" : 1682772195,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "a31a3e5d5198da0152974340503fd876",
            "sha1" : "cbcb2ab5a9a18bcd44e4b3a49db8e0341fb29386",
            "sha256" : "8c01b877755c839429be17da4f256d229d197e24b608f050099a59bc6cf7e444"
         },
         "geolocus" : {
            "asn" : "AS4134",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "163.com",
               "chinatelecom.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CHINANET-JS",
            "organization" : "CHINANET jiangsu province network",
            "subnet" : "121.229.0.0/18"
         },
         "ip" : "121.229.16.94",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "31.2222",
         "location" : "31.2222,121.4581",
         "longitude" : "121.4581",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Chinanet",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "cf:e9:7b:cd:47:0c:43:b2",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "121.229.0.0/18",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2031-01-24T03:04:52Z",
            "notbefore" : "2021-01-26T03:04:52Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 202.115.44.138:4433 (tcp/http/tls) - last seen on 2024-11-07 at 05:19:03 UTC

    • IP
      202.115.44.138
      Network
      202.115.0.0/18
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://202.115.44.138:4433/ 200

      ASN
      AS4538
      Organization
      China Education and Research Network Center
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Server Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      ee8bccf15925762ad2dce98d6ab35d6483d9d937500281a05b6897ba302ec2b2
      Validity Not Before
      2023-10-17T20:02:03Z
      Validity Not After
      2026-01-19T20:02:03Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      f81231371ebc3251b3a4eab5c8e1898d
      HTTP Header MD5
      d28910b61ddc30c2532cb92de861f0f0
      HTTP Body MD5
      5762fb2cd484cc3b67ac22c3314b25b8
    • HTTP/1.1 200 OK
      Date: Thu, 07 Nov 2024 05:39:14 GMT
      Server: Server
      X-Frame-Options: SAMEORIGIN
      X-Content-Type-Options: nosniff
      USE_NEW_PORTAL: 1
      X-XSS-Protection: 1; mode=block
      X-Permitted-Cross-Domain-Policies: none
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7436
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      /*
      客户端要从中解析地址时间, 老版本时间为3s, 需保持不变
      var selectline_timeout = "3";
      */
      
      var time_distance = "10";
      var g_midatk = "0";
      var g_lines = [];
      //var lineInterArr = [];
      var delayTimer = [];
      var g_timeout = null;
      
      /*
      	luyi 20120223
      	1、先分析line_list中的数据,转换成Array
      	2、通过优先级级对数据进行分组,并按优先级别进行排序
      	3、对分组后的数据按速度选路
      	*/
      	/*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		config_timeout = parseFloat(time_distance),
      		interval = level * config_timeout * 10,
      		delay_timeout = level * config_timeout * 10,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      		if(_lines[0].index >= MIN){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      			// 优先级高的先跳,优先级别的等待时间(高:0,中:100ms,低:200ms)
      			delayTimer[level] = setTimeout(function () {
      				clearTimeout(g_timeout);
      				callback(result);  
      			}, delay_timeout);
      		}
      	}
      	function reLoad(el, index){
      		return function(){
      			el.src = imgs[index].src + '?' + Math.random();
      		};
      	}
      
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.onerror = reLoad(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:30ms,低60ms;差值10毫秒)
      	//lineInterArr[level] = setInterval(function(){
      	//	interval-=10;  // interval-100, 初始值interval = level * config_timeout * 10,
      	//	if(result && interval<=0){
      	//		for(var k=0; k<lineInterArr.length;k++){
      	//			clearInterval(lineInterArr[k]);
      	//		}
      	//		clearTimeout(g_timeout);
      	//		callback(result);  //优先级高的先跳
      	//	}
      	//}, 10);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(time_distance);
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	g_timeout = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(g_timeout);
      		//for(var k=0; k<lineInterArr.length;k++){
      		//	clearInterval(lineInterArr[k]);
      		//}
      	
      		for(var k=0; k<delayTimer.length; k++){
      			clearTimeout(delayTimer[k]);
      		}
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      
      		flag = true;
      		
      		// 存储 sourceUrl,校验window.name中是否存储过数据并符合标记
      		var tempURL,
      		    urlFlag;
      		tempURL = window.name || '';
      		urlFlag = tempURL.substr(0,10);
      		if(urlFlag !== 'sf_ssl_ms_'){
      			window.name = 'sf_ssl_ms_' + sourceUrl;
      		}
      
      		window.location.href = url;
      	}
      
      
      
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      
      		var getOrigin = function () {
      			if (window.location.origin) {
      				return window.location.origin;
      			} else {
      				return window.location.protocol + '//' + window.location.hostname + 
      					(window.location.port ? ':' + window.location.port : '');
      			}
      		}
      
      		gotoUrl(getOrigin() + '/portal');
      	}
      }
      /*end*/
      
      (function () {
      	var loc = window.location;
      	var url = loc.protocol+"//"+loc.host;
      	if(/\/$/g.test(url)){
      		url = url.substring(0,url.length-1);
      	}
      	url = encodeURIComponent(url);
      	//注意: 以下注释中的代码不可修改和重复, 客户端要从中解析地址
      	/* 
      		if(CookiesEnabled())
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      	*/
      	g_lines = [{src:"",url:"https://<ip>:4433/portal",right:0}];
      	gotoLines();
      })();
      </script>
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T05:19:03.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "5762fb2cd484cc3b67ac22c3314b25b8",
               "bodymmh3" : 1473097961,
               "component" : [
                  {
                     "productvendor" : "Sangfor",
                     "product" : "EasyConnect"
                  }
               ],
               "headermd5" : "d28910b61ddc30c2532cb92de861f0f0",
               "headermmh3" : 282571487
            },
            "length" : 7807
         },
         "asn" : "AS4538",
         "basicconstraints" : "critical",
         "ca" : "false",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Thu, 07 Nov 2024 05:39:14 GMT\r\nServer: Server\r\nX-Frame-Options: SAMEORIGIN\r\nX-Content-Type-Options: nosniff\r\nUSE_NEW_PORTAL: 1\r\nX-XSS-Protection: 1; mode=block\r\nX-Permitted-Cross-Domain-Policies: none\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7436\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\n\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\n/*\r\n\u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\u65f6\u95f4, \u8001\u7248\u672c\u65f6\u95f4\u4e3a3s, \u9700\u4fdd\u6301\u4e0d\u53d8\r\nvar selectline_timeout = \"3\";\r\n*/\r\n\r\nvar time_distance = \"10\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n//var lineInterArr = [];\r\nvar delayTimer = [];\r\nvar g_timeout = null;\r\n\r\n/*\r\n\tluyi 20120223\r\n\t1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n\t2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n\t*/\r\n\t/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\tconfig_timeout = parseFloat(time_distance),\r\n\t\tinterval = level * config_timeout * 10,\r\n\t\tdelay_timeout = level * config_timeout * 10,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\t//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\tif(_lines[0].index >= MIN){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t\t// \u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\uff0c\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8\uff1a0\uff0c\u4e2d\uff1a100ms\uff0c\u4f4e\uff1a200ms\uff09\r\n\t\t\tdelayTimer[level] = setTimeout(function () {\r\n\t\t\t\tclearTimeout(g_timeout);\r\n\t\t\t\tcallback(result);  \r\n\t\t\t}, delay_timeout);\r\n\t\t}\r\n\t}\r\n\tfunction reLoad(el, index){\r\n\t\treturn function(){\r\n\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t};\r\n\t}\r\n\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.onerror = reLoad(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:30ms,\u4f4e60ms;\u5dee\u503c10\u6beb\u79d2\uff09\r\n\t//lineInterArr[level] = setInterval(function(){\r\n\t//\tinterval-=10;  // interval-100, \u521d\u59cb\u503cinterval = level * config_timeout * 10,\r\n\t//\tif(result && interval<=0){\r\n\t//\t\tfor(var k=0; k<lineInterArr.length;k++){\r\n\t//\t\t\tclearInterval(lineInterArr[k]);\r\n\t//\t\t}\r\n\t//\t\tclearTimeout(g_timeout);\r\n\t//\t\tcallback(result);  //\u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\r\n\t//\t}\r\n\t//}, 10);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(time_distance);\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\tg_timeout = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(g_timeout);\r\n\t\t//for(var k=0; k<lineInterArr.length;k++){\r\n\t\t//\tclearInterval(lineInterArr[k]);\r\n\t\t//}\r\n\t\r\n\t\tfor(var k=0; k<delayTimer.length; k++){\r\n\t\t\tclearTimeout(delayTimer[k]);\r\n\t\t}\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\r\n\t\tflag = true;\r\n\t\t\r\n\t\t// \u5b58\u50a8 sourceUrl\uff0c\u6821\u9a8cwindow.name\u4e2d\u662f\u5426\u5b58\u50a8\u8fc7\u6570\u636e\u5e76\u7b26\u5408\u6807\u8bb0\r\n\t\tvar tempURL,\r\n\t\t    urlFlag;\r\n\t\ttempURL = window.name || '';\r\n\t\turlFlag = tempURL.substr(0,10);\r\n\t\tif(urlFlag !== 'sf_ssl_ms_'){\r\n\t\t\twindow.name = 'sf_ssl_ms_' + sourceUrl;\r\n\t\t}\r\n\r\n\t\twindow.location.href = url;\r\n\t}\r\n\r\n\r\n\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\r\n\t\tvar getOrigin = function () {\r\n\t\t\tif (window.location.origin) {\r\n\t\t\t\treturn window.location.origin;\r\n\t\t\t} else {\r\n\t\t\t\treturn window.location.protocol + '//' + window.location.hostname + \r\n\t\t\t\t\t(window.location.port ? ':' + window.location.port : '');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgotoUrl(getOrigin() + '/portal');\r\n\t}\r\n}\r\n/*end*/\r\n\r\n(function () {\r\n\tvar loc = window.location;\r\n\tvar url = loc.protocol+\"//\"+loc.host;\r\n\tif(/\\/$/g.test(url)){\r\n\t\turl = url.substring(0,url.length-1);\r\n\t}\r\n\turl = encodeURIComponent(url);\r\n\t//\u6ce8\u610f: \u4ee5\u4e0b\u6ce8\u91ca\u4e2d\u7684\u4ee3\u7801\u4e0d\u53ef\u4fee\u6539\u548c\u91cd\u590d, \u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\r\n\t/* \r\n\t\tif(CookiesEnabled())\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t*/\r\n\tg_lines = [{src:\"\",url:\"https://<ip>:4433/portal\",right:0}];\r\n\tgotoLines();\r\n})();\r\n</script>\r\n</html>\r\n\r\n",
         "datamd5" : "f81231371ebc3251b3a4eab5c8e1898d",
         "datammh3" : 1106471172,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "261c372a2f5f3f62f460e2d7e3ed1519",
            "sha1" : "eab46532732f21e25bf8e000cbdb681953e4b01b",
            "sha256" : "ee8bccf15925762ad2dce98d6ab35d6483d9d937500281a05b6897ba302ec2b2"
         },
         "geolocus" : {
            "asn" : "AS4538",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "202.in-addr.arpa",
               "cernet.edu.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CERNET-CN",
            "organization" : "China Education and Research Network",
            "subnet" : "202.114.0.0/15"
         },
         "ip" : "202.115.44.138",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "34.7732",
         "location" : "34.7732,113.7220",
         "longitude" : "113.7220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "China Education and Research Network Center",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "b4:09:22:8d:80:02:44:e3",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "202.115.0.0/18",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2026-01-19T20:02:03Z",
            "notbefore" : "2023-10-17T20:02:03Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 111.207.13.242:4433 (tcp/http/tls) - last seen on 2024-11-07 at 05:16:35 UTC

    • IP
      111.207.13.242
      Network
      111.206.0.0/15
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://111.207.13.242:4433/ 200

      ASN
      AS4808
      Organization
      China Unicom Beijing Province Network
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Apache HTTP Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      e0283c3639ac70078b5016add6f0462e58430116bb0a14638c38d35cd7c003a4
      Validity Not Before
      2019-11-28T20:24:06Z
      Validity Not After
      2039-11-23T20:24:06Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      aebf36d11e30285147258edee5d1ec68
      HTTP Header MD5
      20df056abda2db61c5e4c2a08657abc2
      HTTP Body MD5
      a1af0877f5ee46ddfd4b8d882b43be65
    • HTTP/1.1 200 OK
      Date: Thu, 07 Nov 2024 05:20:50 GMT
      Server: Apache
      X-Frame-Options: SAMEORIGIN
      X-XSS-Protection: 1; mode=block
      X-Permitted-Cross-Domain-Policies: none
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7939
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      <!-- 旧方案 -->
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      <!-- 旧方案 -->
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <!-- 新方案 >
      	<script src="/com/js/common.min.js"></script>
      <! 新方案 -->
      <!-- 旧方案 -->
      	<script src="/com/common.js"></script>
      	<script src="/com/64sys.js"></script>
      <!-- 旧方案 -->
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      window.setLang();
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      var selectline_timeout = "3";
      var g_midatk = "0";
      var g_lines = [];
      
      //验证请求安全性
      function validSec(url){
      	if(g_midatk == "1"){
      		var regex = new RegExp("^((https)?://)","i");
      		if(!regex.exec(url))
      		{
      			alert(tr("您访问的SSL VPN系统正受到中间人攻击(SSL Strip攻击),请直接使用https协议访问SSL VPN系统."));
      			return false;
      		}
      	}
      	return true
      }
      
      /*
      luyi 20120223
      1、先分析line_list中的数据,转换成Array
      2、通过优先级级对数据进行分组,并按优先级别进行排序
      3、对分组后的数据按速度选路
      */
      /*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		timer = null,
      		config_timeout = parseFloat(selectline_timeout),
      		interval = level * config_timeout * 1000,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      		}
      	}
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	timer = setInterval(function(){	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:3000,低6000;差值100毫秒)
      		interval-=100;
      		if(result && interval<=0){
      			callback(result);
      			clearInterval(timer);
      		}
      	}, 100);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(selectline_timeout),
      		timer = null;
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	timer = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(timer);
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      		if(!validSec(url)){
      			return;
      		}
      		flag = true;
      		if(url.indexOf('?') == -1){
      			url += '?rnd=' + Math.random();
      		}else{
      			url += '&rnd=' + Math.random();
      		}
      
      		url += ("#" + sourceUrl);
      		
      		window.location.href = url;
      	}
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      		var script = document.createElement('script');
      		script.text = html;
      		document.body.appendChild(script);
      	}
      }
      /*end*/
      
      function CookiesEnabled()
      {
      	try	{
      		var secure = "";
      		if (/^https/i.test(window.location.protocol)) {
      			secure = "; secure";
      		}
      		document.cookie = "cookie=yes" + secure; 
      		cookieOK = document.cookie.indexOf("cookie=yes") > -1; 
      		if (cookieOK) {	
      			var lastyear = new Date();
      			lastyear.setFullYear(lastyear.getFullYear() - 1);
      			document.cookie = "cookie=yes; expires=" + lastyear.toGMTString() + secure;
      			return true;
      		}
      		else 	
      			return false;
      	}
      	catch(ex){
      		return false;
      	}
      }
      </script>
      <!-- 旧方案 -->
      <script>
      	if(CookiesEnabled())
      	{
      		if (window.Browser && Browser.is64 && Browser.isIE) {
      			InitFor64('index');
      		} else {
      			var loc = window.location;
      			var url = loc.protocol+"//"+loc.host;
      			if(/\/$/g.test(url)){
      				url = url.substring(0,url.length-1);
      			}
      			url = encodeURIComponent(url);
      			g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      			gotoLines();
      		}
      	}
      	else
      	{
      		alert(tr("当前设置Cookie被禁用,禁用Cookie将不能使用SSL VPN"));	
      	}
      </script>
      <!-- 旧方案 -->
      <!-- 新方案 >
      <script>
      	if(CookiesEnabled())
      	{
      		var loc = window.location;
      		var url = loc.protocol+"//"+loc.host;
      		if(/\/$/g.test(url)){
      			url = url.substring(0,url.length-1);
      		}
      		url = encodeURIComponent(url);
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      		gotoLines();
      	}
      	else
      	{
      		alert(tr("当前设置Cookie被禁用,禁用Cookie将不能使用SSL VPN"));	
      	}
      </script>
      <! 新方案 -->
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T05:16:35.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "a1af0877f5ee46ddfd4b8d882b43be65",
               "bodymmh3" : -1998350453,
               "component" : [
                  {
                     "productvendor" : "Sangfor",
                     "product" : "EasyConnect"
                  }
               ],
               "headermd5" : "20df056abda2db61c5e4c2a08657abc2",
               "headermmh3" : 18255226
            },
            "length" : 8248
         },
         "asn" : "AS4808",
         "basicconstraints" : "critical",
         "ca" : "false",
         "city" : "Beijing",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Thu, 07 Nov 2024 05:20:50 GMT\r\nServer: Apache\r\nX-Frame-Options: SAMEORIGIN\r\nX-XSS-Protection: 1; mode=block\r\nX-Permitted-Cross-Domain-Policies: none\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7939\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\" />\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<!-- \u65b0\u65b9\u6848 >\r\n\t<script src=\"/com/js/common.min.js\"></script>\r\n<! \u65b0\u65b9\u6848 -->\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\t<script src=\"/com/common.js\"></script>\r\n\t<script src=\"/com/64sys.js\"></script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\nwindow.setLang();\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\nvar selectline_timeout = \"3\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n\r\n//\u9a8c\u8bc1\u8bf7\u6c42\u5b89\u5168\u6027\r\nfunction validSec(url){\r\n\tif(g_midatk == \"1\"){\r\n\t\tvar regex = new RegExp(\"^((https)?://)\",\"i\");\r\n\t\tif(!regex.exec(url))\r\n\t\t{\r\n\t\t\talert(tr(\"\u60a8\u8bbf\u95ee\u7684SSL VPN\u7cfb\u7edf\u6b63\u53d7\u5230\u4e2d\u95f4\u4eba\u653b\u51fb(SSL Strip\u653b\u51fb),\u8bf7\u76f4\u63a5\u4f7f\u7528https\u534f\u8bae\u8bbf\u95eeSSL VPN\u7cfb\u7edf.\"));\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/*\r\nluyi 20120223\r\n1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n*/\r\n/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\ttimer = null,\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\tinterval = level * config_timeout * 1000,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t}\r\n\t}\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\ttimer = setInterval(function(){\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:3000,\u4f4e6000;\u5dee\u503c100\u6beb\u79d2\uff09\r\n\t\tinterval-=100;\r\n\t\tif(result && interval<=0){\r\n\t\t\tcallback(result);\r\n\t\t\tclearInterval(timer);\r\n\t\t}\r\n\t}, 100);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\ttimer = null;\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\ttimer = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(timer);\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\t\tif(!validSec(url)){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tflag = true;\r\n\t\tif(url.indexOf('?') == -1){\r\n\t\t\turl += '?rnd=' + Math.random();\r\n\t\t}else{\r\n\t\t\turl += '&rnd=' + Math.random();\r\n\t\t}\r\n\r\n\t\turl += (\"#\" + sourceUrl);\r\n\t\t\r\n\t\twindow.location.href = url;\r\n\t}\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.text = html;\r\n\t\tdocument.body.appendChild(script);\r\n\t}\r\n}\r\n/*end*/\r\n\r\nfunction CookiesEnabled()\r\n{\r\n\ttry\t{\r\n\t\tvar secure = \"\";\r\n\t\tif (/^https/i.test(window.location.protocol)) {\r\n\t\t\tsecure = \"; secure\";\r\n\t\t}\r\n\t\tdocument.cookie = \"cookie=yes\" + secure; \r\n\t\tcookieOK = document.cookie.indexOf(\"cookie=yes\") > -1; \r\n\t\tif (cookieOK) {\t\r\n\t\t\tvar lastyear = new Date();\r\n\t\t\tlastyear.setFullYear(lastyear.getFullYear() - 1);\r\n\t\t\tdocument.cookie = \"cookie=yes; expires=\" + lastyear.toGMTString() + secure;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse \t\r\n\t\t\treturn false;\r\n\t}\r\n\tcatch(ex){\r\n\t\treturn false;\r\n\t}\r\n}\r\n</script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<script>\r\n\tif(CookiesEnabled())\r\n\t{\r\n\t\tif (window.Browser && Browser.is64 && Browser.isIE) {\r\n\t\t\tInitFor64('index');\r\n\t\t} else {\r\n\t\t\tvar loc = window.location;\r\n\t\t\tvar url = loc.protocol+\"//\"+loc.host;\r\n\t\t\tif(/\\/$/g.test(url)){\r\n\t\t\t\turl = url.substring(0,url.length-1);\r\n\t\t\t}\r\n\t\t\turl = encodeURIComponent(url);\r\n\t\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t\t\tgotoLines();\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\talert(tr(\"\u5f53\u524d\u8bbe\u7f6eCookie\u88ab\u7981\u7528,\u7981\u7528Cookie\u5c06\u4e0d\u80fd\u4f7f\u7528SSL VPN\"));\t\r\n\t}\r\n</script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<!-- \u65b0\u65b9\u6848 >\r\n<script>\r\n\tif(CookiesEnabled())\r\n\t{\r\n\t\tvar loc = window.location;\r\n\t\tvar url = loc.protocol+\"//\"+loc.host;\r\n\t\tif(/\\/$/g.test(url)){\r\n\t\t\turl = url.substring(0,url.length-1);\r\n\t\t}\r\n\t\turl = encodeURIComponent(url);\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t\tgotoLines();\r\n\t}\r\n\telse\r\n\t{\r\n\t\talert(tr(\"\u5f53\u524d\u8bbe\u7f6eCookie\u88ab\u7981\u7528,\u7981\u7528Cookie\u5c06\u4e0d\u80fd\u4f7f\u7528SSL VPN\"));\t\r\n\t}\r\n</script>\r\n<! \u65b0\u65b9\u6848 -->\r\n</html>\r\n\r\n",
         "datamd5" : "aebf36d11e30285147258edee5d1ec68",
         "datammh3" : 998031377,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "490ff6f9ec12870e323e5088dc6a2673",
            "sha1" : "4a55193f5ed601139435d0446e2634a1a37dccc2",
            "sha256" : "e0283c3639ac70078b5016add6f0462e58430116bb0a14638c38d35cd7c003a4"
         },
         "geolocus" : {
            "asn" : "AS4808",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "bta.net.cn",
               "chinaunicom.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "UNICOM-BJ",
            "organization" : "China Unicom Beijing Province Network",
            "subnet" : "111.206.0.0/15"
         },
         "ip" : "111.207.13.242",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "39.9110",
         "location" : "39.9110,116.3950",
         "longitude" : "116.3950",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "China Unicom Beijing Province Network",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "HTTP Server",
         "productvendor" : "Apache",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "9c:50:85:5d:e3:98:4e:82",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "111.206.0.0/15",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2039-11-23T20:24:06Z",
            "notbefore" : "2019-11-28T20:24:06Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 124.128.207.2:4433 (tcp/http/tls) - last seen on 2024-11-07 at 05:00:50 UTC

    • IP
      124.128.207.2
      Network
      124.128.0.0/15
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://124.128.207.2:4433/ 200

      ASN
      AS4837
      Organization
      CHINA UNICOM China169 Backbone
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Apache HTTP Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      40a1e264a825ea43ac245598a54cdc53be6740f2ee4219e251561b6039acb76e
      Validity Not Before
      2019-11-28T20:52:26Z
      Validity Not After
      2039-11-23T20:52:26Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      7c97e282fd3c3f8a2d12181c381453c8
      HTTP Header MD5
      20df056abda2db61c5e4c2a08657abc2
      HTTP Body MD5
      a1af0877f5ee46ddfd4b8d882b43be65
    • HTTP/1.1 200 OK
      Date: Thu, 07 Nov 2024 05:06:17 GMT
      Server: Apache
      X-Frame-Options: SAMEORIGIN
      X-XSS-Protection: 1; mode=block
      X-Permitted-Cross-Domain-Policies: none
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7935
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      <!-- 旧方案 -->
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      <!-- 旧方案 -->
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <!-- 新方案 >
      	<script src="/com/js/common.min.js"></script>
      <! 新方案 -->
      <!-- 旧方案 -->
      	<script src="/com/common.js"></script>
      	<script src="/com/64sys.js"></script>
      <!-- 旧方案 -->
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      window.setLang();
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      var selectline_timeout = "3";
      var g_midatk = "0";
      var g_lines = [];
      
      //验证请求安全性
      function validSec(url){
      	if(g_midatk == "1"){
      		var regex = new RegExp("^((https)?://)","i");
      		if(!regex.exec(url))
      		{
      			alert(tr("您访问的SSL VPN系统正受到中间人攻击(SSL Strip攻击),请直接使用https协议访问SSL VPN系统."));
      			return false;
      		}
      	}
      	return true
      }
      
      /*
      luyi 20120223
      1、先分析line_list中的数据,转换成Array
      2、通过优先级级对数据进行分组,并按优先级别进行排序
      3、对分组后的数据按速度选路
      */
      /*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		timer = null,
      		config_timeout = parseFloat(selectline_timeout),
      		interval = level * config_timeout * 1000,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      		}
      	}
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	timer = setInterval(function(){	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:3000,低6000;差值100毫秒)
      		interval-=100;
      		if(result && interval<=0){
      			callback(result);
      			clearInterval(timer);
      		}
      	}, 100);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(selectline_timeout),
      		timer = null;
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	timer = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(timer);
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      		if(!validSec(url)){
      			return;
      		}
      		flag = true;
      		if(url.indexOf('?') == -1){
      			url += '?rnd=' + Math.random();
      		}else{
      			url += '&rnd=' + Math.random();
      		}
      
      		url += ("#" + sourceUrl);
      		
      		window.location.href = url;
      	}
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      		var script = document.createElement('script');
      		script.text = html;
      		document.body.appendChild(script);
      	}
      }
      /*end*/
      
      function CookiesEnabled()
      {
      	try	{
      		var secure = "";
      		if (/^https/i.test(window.location.protocol)) {
      			secure = "; secure";
      		}
      		document.cookie = "cookie=yes" + secure; 
      		cookieOK = document.cookie.indexOf("cookie=yes") > -1; 
      		if (cookieOK) {	
      			var lastyear = new Date();
      			lastyear.setFullYear(lastyear.getFullYear() - 1);
      			document.cookie = "cookie=yes; expires=" + lastyear.toGMTString() + secure;
      			return true;
      		}
      		else 	
      			return false;
      	}
      	catch(ex){
      		return false;
      	}
      }
      </script>
      <!-- 旧方案 -->
      <script>
      	if(CookiesEnabled())
      	{
      		if (window.Browser && Browser.is64 && Browser.isIE) {
      			InitFor64('index');
      		} else {
      			var loc = window.location;
      			var url = loc.protocol+"//"+loc.host;
      			if(/\/$/g.test(url)){
      				url = url.substring(0,url.length-1);
      			}
      			url = encodeURIComponent(url);
      			g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      			gotoLines();
      		}
      	}
      	else
      	{
      		alert(tr("当前设置Cookie被禁用,禁用Cookie将不能使用SSL VPN"));	
      	}
      </script>
      <!-- 旧方案 -->
      <!-- 新方案 >
      <script>
      	if(CookiesEnabled())
      	{
      		var loc = window.location;
      		var url = loc.protocol+"//"+loc.host;
      		if(/\/$/g.test(url)){
      			url = url.substring(0,url.length-1);
      		}
      		url = encodeURIComponent(url);
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      		gotoLines();
      	}
      	else
      	{
      		alert(tr("当前设置Cookie被禁用,禁用Cookie将不能使用SSL VPN"));	
      	}
      </script>
      <! 新方案 -->
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T05:00:50.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "a1af0877f5ee46ddfd4b8d882b43be65",
               "bodymmh3" : -1998350453,
               "component" : [
                  {
                     "productvendor" : "Sangfor",
                     "product" : "EasyConnect"
                  }
               ],
               "headermd5" : "20df056abda2db61c5e4c2a08657abc2",
               "headermmh3" : -1122869992
            },
            "length" : 8248
         },
         "asn" : "AS4837",
         "basicconstraints" : "critical",
         "ca" : "false",
         "city" : "Jinan",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Thu, 07 Nov 2024 05:06:17 GMT\r\nServer: Apache\r\nX-Frame-Options: SAMEORIGIN\r\nX-XSS-Protection: 1; mode=block\r\nX-Permitted-Cross-Domain-Policies: none\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7935\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\" />\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<!-- \u65b0\u65b9\u6848 >\r\n\t<script src=\"/com/js/common.min.js\"></script>\r\n<! \u65b0\u65b9\u6848 -->\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\t<script src=\"/com/common.js\"></script>\r\n\t<script src=\"/com/64sys.js\"></script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\nwindow.setLang();\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\nvar selectline_timeout = \"3\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n\r\n//\u9a8c\u8bc1\u8bf7\u6c42\u5b89\u5168\u6027\r\nfunction validSec(url){\r\n\tif(g_midatk == \"1\"){\r\n\t\tvar regex = new RegExp(\"^((https)?://)\",\"i\");\r\n\t\tif(!regex.exec(url))\r\n\t\t{\r\n\t\t\talert(tr(\"\u60a8\u8bbf\u95ee\u7684SSL VPN\u7cfb\u7edf\u6b63\u53d7\u5230\u4e2d\u95f4\u4eba\u653b\u51fb(SSL Strip\u653b\u51fb),\u8bf7\u76f4\u63a5\u4f7f\u7528https\u534f\u8bae\u8bbf\u95eeSSL VPN\u7cfb\u7edf.\"));\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/*\r\nluyi 20120223\r\n1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n*/\r\n/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\ttimer = null,\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\tinterval = level * config_timeout * 1000,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t}\r\n\t}\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\ttimer = setInterval(function(){\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:3000,\u4f4e6000;\u5dee\u503c100\u6beb\u79d2\uff09\r\n\t\tinterval-=100;\r\n\t\tif(result && interval<=0){\r\n\t\t\tcallback(result);\r\n\t\t\tclearInterval(timer);\r\n\t\t}\r\n\t}, 100);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\ttimer = null;\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\ttimer = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(timer);\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\t\tif(!validSec(url)){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tflag = true;\r\n\t\tif(url.indexOf('?') == -1){\r\n\t\t\turl += '?rnd=' + Math.random();\r\n\t\t}else{\r\n\t\t\turl += '&rnd=' + Math.random();\r\n\t\t}\r\n\r\n\t\turl += (\"#\" + sourceUrl);\r\n\t\t\r\n\t\twindow.location.href = url;\r\n\t}\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.text = html;\r\n\t\tdocument.body.appendChild(script);\r\n\t}\r\n}\r\n/*end*/\r\n\r\nfunction CookiesEnabled()\r\n{\r\n\ttry\t{\r\n\t\tvar secure = \"\";\r\n\t\tif (/^https/i.test(window.location.protocol)) {\r\n\t\t\tsecure = \"; secure\";\r\n\t\t}\r\n\t\tdocument.cookie = \"cookie=yes\" + secure; \r\n\t\tcookieOK = document.cookie.indexOf(\"cookie=yes\") > -1; \r\n\t\tif (cookieOK) {\t\r\n\t\t\tvar lastyear = new Date();\r\n\t\t\tlastyear.setFullYear(lastyear.getFullYear() - 1);\r\n\t\t\tdocument.cookie = \"cookie=yes; expires=\" + lastyear.toGMTString() + secure;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse \t\r\n\t\t\treturn false;\r\n\t}\r\n\tcatch(ex){\r\n\t\treturn false;\r\n\t}\r\n}\r\n</script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<script>\r\n\tif(CookiesEnabled())\r\n\t{\r\n\t\tif (window.Browser && Browser.is64 && Browser.isIE) {\r\n\t\t\tInitFor64('index');\r\n\t\t} else {\r\n\t\t\tvar loc = window.location;\r\n\t\t\tvar url = loc.protocol+\"//\"+loc.host;\r\n\t\t\tif(/\\/$/g.test(url)){\r\n\t\t\t\turl = url.substring(0,url.length-1);\r\n\t\t\t}\r\n\t\t\turl = encodeURIComponent(url);\r\n\t\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t\t\tgotoLines();\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\talert(tr(\"\u5f53\u524d\u8bbe\u7f6eCookie\u88ab\u7981\u7528,\u7981\u7528Cookie\u5c06\u4e0d\u80fd\u4f7f\u7528SSL VPN\"));\t\r\n\t}\r\n</script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<!-- \u65b0\u65b9\u6848 >\r\n<script>\r\n\tif(CookiesEnabled())\r\n\t{\r\n\t\tvar loc = window.location;\r\n\t\tvar url = loc.protocol+\"//\"+loc.host;\r\n\t\tif(/\\/$/g.test(url)){\r\n\t\t\turl = url.substring(0,url.length-1);\r\n\t\t}\r\n\t\turl = encodeURIComponent(url);\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t\tgotoLines();\r\n\t}\r\n\telse\r\n\t{\r\n\t\talert(tr(\"\u5f53\u524d\u8bbe\u7f6eCookie\u88ab\u7981\u7528,\u7981\u7528Cookie\u5c06\u4e0d\u80fd\u4f7f\u7528SSL VPN\"));\t\r\n\t}\r\n</script>\r\n<! \u65b0\u65b9\u6848 -->\r\n</html>\r\n\r\n",
         "datamd5" : "7c97e282fd3c3f8a2d12181c381453c8",
         "datammh3" : 387193552,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "8c4cea8c52047f35b08807f98c5ed4d1",
            "sha1" : "23e076d616d85e6873b879e2bbb9054e6997737d",
            "sha256" : "40a1e264a825ea43ac245598a54cdc53be6740f2ee4219e251561b6039acb76e"
         },
         "geolocus" : {
            "asn" : "AS4837",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "chinaunicom.cn",
               "sdinfo.net"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "JN-CQZSCNB",
            "organization" : "CNC Group CHINA169 Shandong Province Network",
            "subnet" : "124.128.0.0/15"
         },
         "ip" : "124.128.207.2",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "36.6756",
         "location" : "36.6756,117.0211",
         "longitude" : "117.0211",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "CHINA UNICOM China169 Backbone",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "HTTP Server",
         "productvendor" : "Apache",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "ad:ac:f9:56:05:41:57:16",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "124.128.0.0/15",
         "tag" : "<enterprise field>: tag",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2039-11-23T20:52:26Z",
            "notbefore" : "2019-11-28T20:52:26Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 61.171.24.147:4433 (tcp/http/tls) - last seen on 2024-11-07 at 04:57:44 UTC

    • IP
      61.171.24.147
      Network
      61.170.0.0/15
      Domain(s)
      163data.com.cn
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://61.171.24.147:4433/ 200

      Reverse DNS
      147.24.171.61.broad.xw.sh.dynamic.163data.com.cn
      ASN
      AS4812
      Organization
      China Telecom Group
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Server Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      b87b0a22d0c9de4b70e44f33177e22dfb8c8d703a73e4a68417e2f6efcdbedfc
      Validity Not Before
      2024-04-29T00:43:00Z
      Validity Not After
      2026-08-02T00:43:00Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      7cca4d0263c1b956e6f2e37ec6a8401e
      HTTP Header MD5
      d28910b61ddc30c2532cb92de861f0f0
      HTTP Body MD5
      5762fb2cd484cc3b67ac22c3314b25b8
    • HTTP/1.1 200 OK
      Date: Wed, 06 Nov 2024 20:52:31 GMT
      Server: Server
      X-Frame-Options: SAMEORIGIN
      X-Content-Type-Options: nosniff
      USE_NEW_PORTAL: 1
      X-XSS-Protection: 1; mode=block
      X-Permitted-Cross-Domain-Policies: none
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7433
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      /*
      客户端要从中解析地址时间, 老版本时间为3s, 需保持不变
      var selectline_timeout = "3";
      */
      
      var time_distance = "10";
      var g_midatk = "0";
      var g_lines = [];
      //var lineInterArr = [];
      var delayTimer = [];
      var g_timeout = null;
      
      /*
      	luyi 20120223
      	1、先分析line_list中的数据,转换成Array
      	2、通过优先级级对数据进行分组,并按优先级别进行排序
      	3、对分组后的数据按速度选路
      	*/
      	/*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		config_timeout = parseFloat(time_distance),
      		interval = level * config_timeout * 10,
      		delay_timeout = level * config_timeout * 10,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      		if(_lines[0].index >= MIN){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      			// 优先级高的先跳,优先级别的等待时间(高:0,中:100ms,低:200ms)
      			delayTimer[level] = setTimeout(function () {
      				clearTimeout(g_timeout);
      				callback(result);  
      			}, delay_timeout);
      		}
      	}
      	function reLoad(el, index){
      		return function(){
      			el.src = imgs[index].src + '?' + Math.random();
      		};
      	}
      
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.onerror = reLoad(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:30ms,低60ms;差值10毫秒)
      	//lineInterArr[level] = setInterval(function(){
      	//	interval-=10;  // interval-100, 初始值interval = level * config_timeout * 10,
      	//	if(result && interval<=0){
      	//		for(var k=0; k<lineInterArr.length;k++){
      	//			clearInterval(lineInterArr[k]);
      	//		}
      	//		clearTimeout(g_timeout);
      	//		callback(result);  //优先级高的先跳
      	//	}
      	//}, 10);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(time_distance);
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	g_timeout = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(g_timeout);
      		//for(var k=0; k<lineInterArr.length;k++){
      		//	clearInterval(lineInterArr[k]);
      		//}
      	
      		for(var k=0; k<delayTimer.length; k++){
      			clearTimeout(delayTimer[k]);
      		}
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      
      		flag = true;
      		
      		// 存储 sourceUrl,校验window.name中是否存储过数据并符合标记
      		var tempURL,
      		    urlFlag;
      		tempURL = window.name || '';
      		urlFlag = tempURL.substr(0,10);
      		if(urlFlag !== 'sf_ssl_ms_'){
      			window.name = 'sf_ssl_ms_' + sourceUrl;
      		}
      
      		window.location.href = url;
      	}
      
      
      
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      
      		var getOrigin = function () {
      			if (window.location.origin) {
      				return window.location.origin;
      			} else {
      				return window.location.protocol + '//' + window.location.hostname + 
      					(window.location.port ? ':' + window.location.port : '');
      			}
      		}
      
      		gotoUrl(getOrigin() + '/portal');
      	}
      }
      /*end*/
      
      (function () {
      	var loc = window.location;
      	var url = loc.protocol+"//"+loc.host;
      	if(/\/$/g.test(url)){
      		url = url.substring(0,url.length-1);
      	}
      	url = encodeURIComponent(url);
      	//注意: 以下注释中的代码不可修改和重复, 客户端要从中解析地址
      	/* 
      		if(CookiesEnabled())
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      	*/
      	g_lines = [{src:"",url:"https://<ip>:4433/portal",right:0}];
      	gotoLines();
      })();
      </script>
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T04:57:44.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "5762fb2cd484cc3b67ac22c3314b25b8",
               "bodymmh3" : 1473097961,
               "component" : [
                  {
                     "product" : "EasyConnect",
                     "productvendor" : "Sangfor"
                  }
               ],
               "headermd5" : "d28910b61ddc30c2532cb92de861f0f0",
               "headermmh3" : -1734711514
            },
            "length" : 7807
         },
         "asn" : "AS4812",
         "basicconstraints" : "critical",
         "ca" : "false",
         "city" : "Shanghai",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Wed, 06 Nov 2024 20:52:31 GMT\r\nServer: Server\r\nX-Frame-Options: SAMEORIGIN\r\nX-Content-Type-Options: nosniff\r\nUSE_NEW_PORTAL: 1\r\nX-XSS-Protection: 1; mode=block\r\nX-Permitted-Cross-Domain-Policies: none\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7433\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\n\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\n/*\r\n\u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\u65f6\u95f4, \u8001\u7248\u672c\u65f6\u95f4\u4e3a3s, \u9700\u4fdd\u6301\u4e0d\u53d8\r\nvar selectline_timeout = \"3\";\r\n*/\r\n\r\nvar time_distance = \"10\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n//var lineInterArr = [];\r\nvar delayTimer = [];\r\nvar g_timeout = null;\r\n\r\n/*\r\n\tluyi 20120223\r\n\t1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n\t2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n\t*/\r\n\t/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\tconfig_timeout = parseFloat(time_distance),\r\n\t\tinterval = level * config_timeout * 10,\r\n\t\tdelay_timeout = level * config_timeout * 10,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\t//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\tif(_lines[0].index >= MIN){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t\t// \u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\uff0c\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8\uff1a0\uff0c\u4e2d\uff1a100ms\uff0c\u4f4e\uff1a200ms\uff09\r\n\t\t\tdelayTimer[level] = setTimeout(function () {\r\n\t\t\t\tclearTimeout(g_timeout);\r\n\t\t\t\tcallback(result);  \r\n\t\t\t}, delay_timeout);\r\n\t\t}\r\n\t}\r\n\tfunction reLoad(el, index){\r\n\t\treturn function(){\r\n\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t};\r\n\t}\r\n\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.onerror = reLoad(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:30ms,\u4f4e60ms;\u5dee\u503c10\u6beb\u79d2\uff09\r\n\t//lineInterArr[level] = setInterval(function(){\r\n\t//\tinterval-=10;  // interval-100, \u521d\u59cb\u503cinterval = level * config_timeout * 10,\r\n\t//\tif(result && interval<=0){\r\n\t//\t\tfor(var k=0; k<lineInterArr.length;k++){\r\n\t//\t\t\tclearInterval(lineInterArr[k]);\r\n\t//\t\t}\r\n\t//\t\tclearTimeout(g_timeout);\r\n\t//\t\tcallback(result);  //\u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\r\n\t//\t}\r\n\t//}, 10);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(time_distance);\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\tg_timeout = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(g_timeout);\r\n\t\t//for(var k=0; k<lineInterArr.length;k++){\r\n\t\t//\tclearInterval(lineInterArr[k]);\r\n\t\t//}\r\n\t\r\n\t\tfor(var k=0; k<delayTimer.length; k++){\r\n\t\t\tclearTimeout(delayTimer[k]);\r\n\t\t}\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\r\n\t\tflag = true;\r\n\t\t\r\n\t\t// \u5b58\u50a8 sourceUrl\uff0c\u6821\u9a8cwindow.name\u4e2d\u662f\u5426\u5b58\u50a8\u8fc7\u6570\u636e\u5e76\u7b26\u5408\u6807\u8bb0\r\n\t\tvar tempURL,\r\n\t\t    urlFlag;\r\n\t\ttempURL = window.name || '';\r\n\t\turlFlag = tempURL.substr(0,10);\r\n\t\tif(urlFlag !== 'sf_ssl_ms_'){\r\n\t\t\twindow.name = 'sf_ssl_ms_' + sourceUrl;\r\n\t\t}\r\n\r\n\t\twindow.location.href = url;\r\n\t}\r\n\r\n\r\n\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\r\n\t\tvar getOrigin = function () {\r\n\t\t\tif (window.location.origin) {\r\n\t\t\t\treturn window.location.origin;\r\n\t\t\t} else {\r\n\t\t\t\treturn window.location.protocol + '//' + window.location.hostname + \r\n\t\t\t\t\t(window.location.port ? ':' + window.location.port : '');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgotoUrl(getOrigin() + '/portal');\r\n\t}\r\n}\r\n/*end*/\r\n\r\n(function () {\r\n\tvar loc = window.location;\r\n\tvar url = loc.protocol+\"//\"+loc.host;\r\n\tif(/\\/$/g.test(url)){\r\n\t\turl = url.substring(0,url.length-1);\r\n\t}\r\n\turl = encodeURIComponent(url);\r\n\t//\u6ce8\u610f: \u4ee5\u4e0b\u6ce8\u91ca\u4e2d\u7684\u4ee3\u7801\u4e0d\u53ef\u4fee\u6539\u548c\u91cd\u590d, \u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\r\n\t/* \r\n\t\tif(CookiesEnabled())\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t*/\r\n\tg_lines = [{src:\"\",url:\"https://<ip>:4433/portal\",right:0}];\r\n\tgotoLines();\r\n})();\r\n</script>\r\n</html>\r\n\r\n",
         "datamd5" : "7cca4d0263c1b956e6f2e37ec6a8401e",
         "datammh3" : -1674571611,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "domain" : [
            "163data.com.cn"
         ],
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "5461828f8e86134402957676c43c460d",
            "sha1" : "9d8c7ca8192645b4c3444d02bef7573683703b27",
            "sha256" : "b87b0a22d0c9de4b70e44f33177e22dfb8c8d703a73e4a68417e2f6efcdbedfc"
         },
         "geolocus" : {
            "asn" : "AS4812",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "163data.com.cn",
               "chinatelecom.cn",
               "online.sh.cn",
               "shtel.com.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CHINANET-SH",
            "organization" : "CHINANET Shanghai province network",
            "subnet" : "61.170.0.0/15"
         },
         "host" : [
            147
         ],
         "hostname" : [
            "147.24.171.61.broad.xw.sh.dynamic.163data.com.cn"
         ],
         "ip" : "61.171.24.147",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "31.2222",
         "location" : "31.2222,121.4581",
         "longitude" : "121.4581",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "China Telecom Group",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "reverse" : [
            "147.24.171.61.broad.xw.sh.dynamic.163data.com.cn"
         ],
         "seen_date" : "2024-11-07",
         "serial" : "83:05:98:dd:0e:18:cf:e1",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subdomains" : [
            "61.broad.xw.sh.dynamic.163data.com.cn",
            "sh.dynamic.163data.com.cn",
            "24.171.61.broad.xw.sh.dynamic.163data.com.cn",
            "171.61.broad.xw.sh.dynamic.163data.com.cn",
            "broad.xw.sh.dynamic.163data.com.cn",
            "dynamic.163data.com.cn",
            "xw.sh.dynamic.163data.com.cn"
         ],
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "61.170.0.0/15",
         "tld" : [
            "com.cn"
         ],
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2026-08-02T00:43:00Z",
            "notbefore" : "2024-04-29T00:43:00Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 120.71.59.71:4433 (tcp/http/tls) - last seen on 2024-11-07 at 04:56:15 UTC

    • IP
      120.71.59.71
      Network
      120.71.0.0/18
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://120.71.59.71:4433/ 200

      ASN
      AS137695
      Organization
      CHINATELECOM Xinjiang Wulumuqi MAN network
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Server Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      d7a9c49e5546006c9fb14befcbfe4b270707fd94a958adc598589c66048d90b3
      Validity Not Before
      2023-07-19T07:38:10Z
      Validity Not After
      2025-10-21T07:38:10Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      0f246f57132b37d2c0888361e85f2b7d
      HTTP Header MD5
      d28910b61ddc30c2532cb92de861f0f0
      HTTP Body MD5
      5762fb2cd484cc3b67ac22c3314b25b8
    • HTTP/1.1 200 OK
      Date: Wed, 06 Nov 2024 20:52:12 GMT
      Server: Server
      X-Frame-Options: SAMEORIGIN
      X-Content-Type-Options: nosniff
      USE_NEW_PORTAL: 1
      X-XSS-Protection: 1; mode=block
      X-Permitted-Cross-Domain-Policies: none
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7430
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      /*
      客户端要从中解析地址时间, 老版本时间为3s, 需保持不变
      var selectline_timeout = "3";
      */
      
      var time_distance = "10";
      var g_midatk = "0";
      var g_lines = [];
      //var lineInterArr = [];
      var delayTimer = [];
      var g_timeout = null;
      
      /*
      	luyi 20120223
      	1、先分析line_list中的数据,转换成Array
      	2、通过优先级级对数据进行分组,并按优先级别进行排序
      	3、对分组后的数据按速度选路
      	*/
      	/*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		config_timeout = parseFloat(time_distance),
      		interval = level * config_timeout * 10,
      		delay_timeout = level * config_timeout * 10,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      		if(_lines[0].index >= MIN){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      			// 优先级高的先跳,优先级别的等待时间(高:0,中:100ms,低:200ms)
      			delayTimer[level] = setTimeout(function () {
      				clearTimeout(g_timeout);
      				callback(result);  
      			}, delay_timeout);
      		}
      	}
      	function reLoad(el, index){
      		return function(){
      			el.src = imgs[index].src + '?' + Math.random();
      		};
      	}
      
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.onerror = reLoad(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:30ms,低60ms;差值10毫秒)
      	//lineInterArr[level] = setInterval(function(){
      	//	interval-=10;  // interval-100, 初始值interval = level * config_timeout * 10,
      	//	if(result && interval<=0){
      	//		for(var k=0; k<lineInterArr.length;k++){
      	//			clearInterval(lineInterArr[k]);
      	//		}
      	//		clearTimeout(g_timeout);
      	//		callback(result);  //优先级高的先跳
      	//	}
      	//}, 10);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(time_distance);
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	g_timeout = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(g_timeout);
      		//for(var k=0; k<lineInterArr.length;k++){
      		//	clearInterval(lineInterArr[k]);
      		//}
      	
      		for(var k=0; k<delayTimer.length; k++){
      			clearTimeout(delayTimer[k]);
      		}
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      
      		flag = true;
      		
      		// 存储 sourceUrl,校验window.name中是否存储过数据并符合标记
      		var tempURL,
      		    urlFlag;
      		tempURL = window.name || '';
      		urlFlag = tempURL.substr(0,10);
      		if(urlFlag !== 'sf_ssl_ms_'){
      			window.name = 'sf_ssl_ms_' + sourceUrl;
      		}
      
      		window.location.href = url;
      	}
      
      
      
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      
      		var getOrigin = function () {
      			if (window.location.origin) {
      				return window.location.origin;
      			} else {
      				return window.location.protocol + '//' + window.location.hostname + 
      					(window.location.port ? ':' + window.location.port : '');
      			}
      		}
      
      		gotoUrl(getOrigin() + '/portal');
      	}
      }
      /*end*/
      
      (function () {
      	var loc = window.location;
      	var url = loc.protocol+"//"+loc.host;
      	if(/\/$/g.test(url)){
      		url = url.substring(0,url.length-1);
      	}
      	url = encodeURIComponent(url);
      	//注意: 以下注释中的代码不可修改和重复, 客户端要从中解析地址
      	/* 
      		if(CookiesEnabled())
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      	*/
      	g_lines = [{src:"",url:"https://<ip>:4433/portal",right:0}];
      	gotoLines();
      })();
      </script>
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T04:56:15.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "5762fb2cd484cc3b67ac22c3314b25b8",
               "bodymmh3" : 1473097961,
               "component" : [
                  {
                     "productvendor" : "Sangfor",
                     "product" : "EasyConnect"
                  }
               ],
               "headermd5" : "d28910b61ddc30c2532cb92de861f0f0",
               "headermmh3" : -1786781866
            },
            "length" : 7807
         },
         "asn" : "AS137695",
         "basicconstraints" : "critical",
         "ca" : "false",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Wed, 06 Nov 2024 20:52:12 GMT\r\nServer: Server\r\nX-Frame-Options: SAMEORIGIN\r\nX-Content-Type-Options: nosniff\r\nUSE_NEW_PORTAL: 1\r\nX-XSS-Protection: 1; mode=block\r\nX-Permitted-Cross-Domain-Policies: none\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7430\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\n\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\n/*\r\n\u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\u65f6\u95f4, \u8001\u7248\u672c\u65f6\u95f4\u4e3a3s, \u9700\u4fdd\u6301\u4e0d\u53d8\r\nvar selectline_timeout = \"3\";\r\n*/\r\n\r\nvar time_distance = \"10\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n//var lineInterArr = [];\r\nvar delayTimer = [];\r\nvar g_timeout = null;\r\n\r\n/*\r\n\tluyi 20120223\r\n\t1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n\t2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n\t*/\r\n\t/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\tconfig_timeout = parseFloat(time_distance),\r\n\t\tinterval = level * config_timeout * 10,\r\n\t\tdelay_timeout = level * config_timeout * 10,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\t//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\tif(_lines[0].index >= MIN){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t\t// \u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\uff0c\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8\uff1a0\uff0c\u4e2d\uff1a100ms\uff0c\u4f4e\uff1a200ms\uff09\r\n\t\t\tdelayTimer[level] = setTimeout(function () {\r\n\t\t\t\tclearTimeout(g_timeout);\r\n\t\t\t\tcallback(result);  \r\n\t\t\t}, delay_timeout);\r\n\t\t}\r\n\t}\r\n\tfunction reLoad(el, index){\r\n\t\treturn function(){\r\n\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t};\r\n\t}\r\n\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.onerror = reLoad(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:30ms,\u4f4e60ms;\u5dee\u503c10\u6beb\u79d2\uff09\r\n\t//lineInterArr[level] = setInterval(function(){\r\n\t//\tinterval-=10;  // interval-100, \u521d\u59cb\u503cinterval = level * config_timeout * 10,\r\n\t//\tif(result && interval<=0){\r\n\t//\t\tfor(var k=0; k<lineInterArr.length;k++){\r\n\t//\t\t\tclearInterval(lineInterArr[k]);\r\n\t//\t\t}\r\n\t//\t\tclearTimeout(g_timeout);\r\n\t//\t\tcallback(result);  //\u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\r\n\t//\t}\r\n\t//}, 10);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(time_distance);\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\tg_timeout = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(g_timeout);\r\n\t\t//for(var k=0; k<lineInterArr.length;k++){\r\n\t\t//\tclearInterval(lineInterArr[k]);\r\n\t\t//}\r\n\t\r\n\t\tfor(var k=0; k<delayTimer.length; k++){\r\n\t\t\tclearTimeout(delayTimer[k]);\r\n\t\t}\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\r\n\t\tflag = true;\r\n\t\t\r\n\t\t// \u5b58\u50a8 sourceUrl\uff0c\u6821\u9a8cwindow.name\u4e2d\u662f\u5426\u5b58\u50a8\u8fc7\u6570\u636e\u5e76\u7b26\u5408\u6807\u8bb0\r\n\t\tvar tempURL,\r\n\t\t    urlFlag;\r\n\t\ttempURL = window.name || '';\r\n\t\turlFlag = tempURL.substr(0,10);\r\n\t\tif(urlFlag !== 'sf_ssl_ms_'){\r\n\t\t\twindow.name = 'sf_ssl_ms_' + sourceUrl;\r\n\t\t}\r\n\r\n\t\twindow.location.href = url;\r\n\t}\r\n\r\n\r\n\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\r\n\t\tvar getOrigin = function () {\r\n\t\t\tif (window.location.origin) {\r\n\t\t\t\treturn window.location.origin;\r\n\t\t\t} else {\r\n\t\t\t\treturn window.location.protocol + '//' + window.location.hostname + \r\n\t\t\t\t\t(window.location.port ? ':' + window.location.port : '');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgotoUrl(getOrigin() + '/portal');\r\n\t}\r\n}\r\n/*end*/\r\n\r\n(function () {\r\n\tvar loc = window.location;\r\n\tvar url = loc.protocol+\"//\"+loc.host;\r\n\tif(/\\/$/g.test(url)){\r\n\t\turl = url.substring(0,url.length-1);\r\n\t}\r\n\turl = encodeURIComponent(url);\r\n\t//\u6ce8\u610f: \u4ee5\u4e0b\u6ce8\u91ca\u4e2d\u7684\u4ee3\u7801\u4e0d\u53ef\u4fee\u6539\u548c\u91cd\u590d, \u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\r\n\t/* \r\n\t\tif(CookiesEnabled())\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t*/\r\n\tg_lines = [{src:\"\",url:\"https://<ip>:4433/portal\",right:0}];\r\n\tgotoLines();\r\n})();\r\n</script>\r\n</html>\r\n\r\n",
         "datamd5" : "0f246f57132b37d2c0888361e85f2b7d",
         "datammh3" : -1857201021,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "91edd35f919873bb4be858fcc78df6ff",
            "sha1" : "8dbe052a568a80730959d4aabf2589ccf8b7494a",
            "sha256" : "d7a9c49e5546006c9fb14befcbfe4b270707fd94a958adc598589c66048d90b3"
         },
         "geolocus" : {
            "asn" : "AS137695",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "163.com",
               "chinatelecom.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CHINANET-XJ",
            "organization" : "CHINANET Xinjiang province network",
            "subnet" : "120.71.0.0/18"
         },
         "ip" : "120.71.59.71",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "34.7732",
         "location" : "34.7732,113.7220",
         "longitude" : "113.7220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "CHINATELECOM Xinjiang Wulumuqi MAN network",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "93:d1:7f:80:45:70:2b:5c",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "120.71.0.0/18",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2025-10-21T07:38:10Z",
            "notbefore" : "2023-07-19T07:38:10Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 111.12.162.134:4433 (tcp/http/tls) - last seen on 2024-11-07 at 04:54:21 UTC

    • IP
      111.12.162.134
      Network
      111.12.0.0/15
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://111.12.162.134:4433/ 200

      ASN
      AS9808
      Organization
      China Mobile Communications Group Co., Ltd.
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Server Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      642b936d1f6becd468b139762e68ed31d95d20d70896989b0c90e2d2b43c2d3e
      Validity Not Before
      2019-11-28T20:11:07Z
      Validity Not After
      2039-11-23T20:11:07Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      8b9964aa0263684b0627dab05f2aaddd
      HTTP Header MD5
      9d0ae6211bcf5ccc6375bd2e399455a6
      HTTP Body MD5
      ef603a36c42887bfca2c671cc8df5f40
    • HTTP/1.1 200 OK
      Date: Thu, 07 Nov 2024 04:54:19 GMT
      Server: Server
      X-Frame-Options: SAMEORIGIN
      X-XSS-Protection: 1; mode=block
      X-Permitted-Cross-Domain-Policies: none
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7464
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      <!-- 旧方案 -->
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      <!-- 旧方案 -->
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <!-- 新方案 >
      	<script src="/com/js/common.min.js"></script>
      <! 新方案 -->
      <!-- 旧方案 -->
      	<script src="/com/common.js"></script>
      	<script src="/com/64sys.js"></script>
      <!-- 旧方案 -->
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      window.setLang();
      var is_old_solution = (!'');
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      var selectline_timeout = "3";
      var g_midatk = "0";
      var g_lines = [];
      
      //验证请求安全性
      function validSec(url){
      	if(g_midatk == "1"){
      		var regex = new RegExp("^((https)?://)","i");
      		if(!regex.exec(url))
      		{
      			alert(tr("您访问的SSL VPN系统正受到中间人攻击(SSL Strip攻击),请直接使用https协议访问SSL VPN系统."));
      			return false;
      		}
      	}
      	return true
      }
      
      /*
      luyi 20120223
      1、先分析line_list中的数据,转换成Array
      2、通过优先级级对数据进行分组,并按优先级别进行排序
      3、对分组后的数据按速度选路
      */
      /*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		timer = null,
      		config_timeout = parseFloat(selectline_timeout),
      		interval = level * config_timeout * 1000,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      		}
      	}
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	timer = setInterval(function(){	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:3000,低6000;差值100毫秒)
      		interval-=100;
      		if(result && interval<=0){
      			callback(result);
      			clearInterval(timer);
      		}
      	}, 100);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(selectline_timeout),
      		timer = null;
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	timer = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(timer);
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      		if(!validSec(url)){
      			return;
      		}
      		flag = true;
      		if(url.indexOf('?') == -1){
      			url += '?rnd=' + Math.random();
      		}else{
      			url += '&rnd=' + Math.random();
      		}
      
      		url += ("#" + sourceUrl);
      		
      		window.location.href = url;
      	}
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      		var script = document.createElement('script');
      		script.text = html;
      		document.body.appendChild(script);
      	}
      }
      /*end*/
      
      function CookiesEnabled()
      {
      	try	{
      		var secure = "";
      		if (/^https/i.test(window.location.protocol)) {
      			secure = "; secure";
      		}
      		document.cookie = "cookie=yes" + secure; 
      		cookieOK = document.cookie.indexOf("cookie=yes") > -1; 
      		if (cookieOK) {	
      			var lastyear = new Date();
      			lastyear.setFullYear(lastyear.getFullYear() - 1);
      			document.cookie = "cookie=yes; expires=" + lastyear.toGMTString() + secure;
      			return true;
      		}
      		else 	
      			return false;
      	}
      	catch(ex){
      		return false;
      	}
      }
      
      if(CookiesEnabled())
      {
      	if (is_old_solution && window.Browser && Browser.is64 && Browser.isIE) {
      		InitFor64('index');
      	} else {
      		var loc = window.location;
      		var url = loc.protocol+"//"+loc.host;
      		if(/\/$/g.test(url)){
      			url = url.substring(0,url.length-1);
      		}
      		url = encodeURIComponent(url);
      		//注意: 以下这行代码不可修改和重复, 客户端要从中解析地址
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      		gotoLines();
      	}
      }
      else
      {
      	alert(tr("当前设置Cookie被禁用,禁用Cookie将不能使用SSL VPN"));
      }
      </script>
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T04:54:21.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "ef603a36c42887bfca2c671cc8df5f40",
               "bodymmh3" : 140294496,
               "component" : [
                  {
                     "product" : "EasyConnect",
                     "productvendor" : "Sangfor"
                  }
               ],
               "headermd5" : "9d0ae6211bcf5ccc6375bd2e399455a6",
               "headermmh3" : 633449117
            },
            "length" : 7793
         },
         "asn" : "AS9808",
         "basicconstraints" : "critical",
         "ca" : "false",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Thu, 07 Nov 2024 04:54:19 GMT\r\nServer: Server\r\nX-Frame-Options: SAMEORIGIN\r\nX-XSS-Protection: 1; mode=block\r\nX-Permitted-Cross-Domain-Policies: none\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7464\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\" />\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<!-- \u65b0\u65b9\u6848 >\r\n\t<script src=\"/com/js/common.min.js\"></script>\r\n<! \u65b0\u65b9\u6848 -->\r\n<!-- \u65e7\u65b9\u6848 -->\r\n\t<script src=\"/com/common.js\"></script>\r\n\t<script src=\"/com/64sys.js\"></script>\r\n<!-- \u65e7\u65b9\u6848 -->\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\nwindow.setLang();\r\nvar is_old_solution = (!'');\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\nvar selectline_timeout = \"3\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n\r\n//\u9a8c\u8bc1\u8bf7\u6c42\u5b89\u5168\u6027\r\nfunction validSec(url){\r\n\tif(g_midatk == \"1\"){\r\n\t\tvar regex = new RegExp(\"^((https)?://)\",\"i\");\r\n\t\tif(!regex.exec(url))\r\n\t\t{\r\n\t\t\talert(tr(\"\u60a8\u8bbf\u95ee\u7684SSL VPN\u7cfb\u7edf\u6b63\u53d7\u5230\u4e2d\u95f4\u4eba\u653b\u51fb(SSL Strip\u653b\u51fb),\u8bf7\u76f4\u63a5\u4f7f\u7528https\u534f\u8bae\u8bbf\u95eeSSL VPN\u7cfb\u7edf.\"));\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/*\r\nluyi 20120223\r\n1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n*/\r\n/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\ttimer = null,\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\tinterval = level * config_timeout * 1000,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t}\r\n\t}\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\ttimer = setInterval(function(){\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:3000,\u4f4e6000;\u5dee\u503c100\u6beb\u79d2\uff09\r\n\t\tinterval-=100;\r\n\t\tif(result && interval<=0){\r\n\t\t\tcallback(result);\r\n\t\t\tclearInterval(timer);\r\n\t\t}\r\n\t}, 100);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\ttimer = null;\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\ttimer = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(timer);\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\t\tif(!validSec(url)){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tflag = true;\r\n\t\tif(url.indexOf('?') == -1){\r\n\t\t\turl += '?rnd=' + Math.random();\r\n\t\t}else{\r\n\t\t\turl += '&rnd=' + Math.random();\r\n\t\t}\r\n\r\n\t\turl += (\"#\" + sourceUrl);\r\n\t\t\r\n\t\twindow.location.href = url;\r\n\t}\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.text = html;\r\n\t\tdocument.body.appendChild(script);\r\n\t}\r\n}\r\n/*end*/\r\n\r\nfunction CookiesEnabled()\r\n{\r\n\ttry\t{\r\n\t\tvar secure = \"\";\r\n\t\tif (/^https/i.test(window.location.protocol)) {\r\n\t\t\tsecure = \"; secure\";\r\n\t\t}\r\n\t\tdocument.cookie = \"cookie=yes\" + secure; \r\n\t\tcookieOK = document.cookie.indexOf(\"cookie=yes\") > -1; \r\n\t\tif (cookieOK) {\t\r\n\t\t\tvar lastyear = new Date();\r\n\t\t\tlastyear.setFullYear(lastyear.getFullYear() - 1);\r\n\t\t\tdocument.cookie = \"cookie=yes; expires=\" + lastyear.toGMTString() + secure;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse \t\r\n\t\t\treturn false;\r\n\t}\r\n\tcatch(ex){\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nif(CookiesEnabled())\r\n{\r\n\tif (is_old_solution && window.Browser && Browser.is64 && Browser.isIE) {\r\n\t\tInitFor64('index');\r\n\t} else {\r\n\t\tvar loc = window.location;\r\n\t\tvar url = loc.protocol+\"//\"+loc.host;\r\n\t\tif(/\\/$/g.test(url)){\r\n\t\t\turl = url.substring(0,url.length-1);\r\n\t\t}\r\n\t\turl = encodeURIComponent(url);\r\n\t\t//\u6ce8\u610f: \u4ee5\u4e0b\u8fd9\u884c\u4ee3\u7801\u4e0d\u53ef\u4fee\u6539\u548c\u91cd\u590d, \u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t\tgotoLines();\r\n\t}\r\n}\r\nelse\r\n{\r\n\talert(tr(\"\u5f53\u524d\u8bbe\u7f6eCookie\u88ab\u7981\u7528,\u7981\u7528Cookie\u5c06\u4e0d\u80fd\u4f7f\u7528SSL VPN\"));\r\n}\r\n</script>\r\n</html>\r\n\r\n",
         "datamd5" : "8b9964aa0263684b0627dab05f2aaddd",
         "datammh3" : 981712559,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "2b1914334ca438367ac0fb586540c528",
            "sha1" : "bb0492c9d4a2e781ca096a0f466c11d87327ea2c",
            "sha256" : "642b936d1f6becd468b139762e68ed31d95d20d70896989b0c90e2d2b43c2d3e"
         },
         "geolocus" : {
            "asn" : "AS9808",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "chinamobile.com"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CMNET",
            "organization" : "China Mobile",
            "subnet" : "111.12.0.0/15"
         },
         "ip" : "111.12.162.134",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "34.7732",
         "location" : "34.7732,113.7220",
         "longitude" : "113.7220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "China Mobile Communications Group Co., Ltd.",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "d9:bd:71:d5:dd:ac:fb:4a",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "111.12.0.0/15",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2039-11-23T20:11:07Z",
            "notbefore" : "2019-11-28T20:11:07Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 80.235.222.122:4433 (tcp/http/tls) - last seen on 2024-11-07 at 04:54:14 UTC

    • IP
      80.235.222.122
      Network
      80.235.128.0/17
      Device

      <enterprise field>: device.class

      URL

      https://80.235.222.122:4433/ 400

      HTTP Title
      400 - Bad Request
      ASN
      AS5089
      Organization
      Virgin Media
      Protocol
      http Cert expired http
      Source
      datascan
    • Product
      Server Server
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      SSLVPN
      Issuer Organization
      RDM Controls
      Subject Organization
      RDM Controls
      Subject Email
      support@aindale.co.uk
      Subject Common Name
      SSL RDM
      SHA256 Fingerprint
      a0993109cb1a3c9b8981af1a70d40bacf895c2f3c93042f46e8181ac85257839
      Validity Not Before
      2022-09-19T09:23:03Z
      Validity Not After
      2024-09-19T09:23:03Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      2c5580b4f7890cce840901dfabdf5ce0
      HTTP Header MD5
      c9aa61fb353b31eb26d33b977235774f
      HTTP Body MD5
      44ee0a5e70fa74b23b17da4e67949438
    • HTTP/1.1 400 Bad Request
      Content-Type: text/html
      Content-Length: 183
      Connection: close
      Date: Thu, 07 Nov 2024 04:54:13 GMT
      Server: Server
      
      <?xml version="1.0" encoding="iso-8859-1"?>
      <!DOCTYPE html>
      <html lang="en">
       <head>
        <title>400 - Bad Request</title>
       </head>
       <body>
        <h1>400 - Bad Request</h1>
       </body>
      </html>
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T04:54:14.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "44ee0a5e70fa74b23b17da4e67949438",
               "bodymmh3" : -384509140,
               "headermd5" : "c9aa61fb353b31eb26d33b977235774f",
               "headermmh3" : 1297501129,
               "title" : "400 - Bad Request"
            },
            "length" : 329
         },
         "asn" : "AS5089",
         "ca" : "false",
         "city" : "Camden",
         "country" : "GB",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 400 Bad Request\r\nContent-Type: text/html\r\nContent-Length: 183\r\nConnection: close\r\nDate: Thu, 07 Nov 2024 04:54:13 GMT\r\nServer: Server\r\n\r\n<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n  <title>400 - Bad Request</title>\n </head>\n <body>\n  <h1>400 - Bad Request</h1>\n </body>\n</html>\n",
         "datamd5" : "2c5580b4f7890cce840901dfabdf5ce0",
         "datammh3" : -826053566,
         "device" : {
            "class" : "<enterprise field>: device.class"
         },
         "extkeyusage" : [
            "serverAuth"
         ],
         "fingerprint" : {
            "md5" : "1d47c9affa8d7d89d6c8d8b2abb7bd9c",
            "sha1" : "e1db564b401dbdaefa8f1473ff1897e2399b8619",
            "sha256" : "a0993109cb1a3c9b8981af1a70d40bacf895c2f3c93042f46e8181ac85257839"
         },
         "geolocus" : {
            "asn" : "AS5089",
            "continent" : "EU",
            "continentname" : "Europe",
            "country" : "GB",
            "countryname" : "United Kingdom",
            "domain" : [
               "virginmedia.com",
               "virginmedia.net"
            ],
            "isineu" : "false",
            "latitude" : "55.378051",
            "location" : "55.378051,-3.435973",
            "longitude" : "-3.435973",
            "netname" : "UK-NTLI-20011029",
            "organization" : "Virgin Media Limited",
            "subnet" : "80.235.128.0/17"
         },
         "ip" : "80.235.222.122",
         "ipv6" : "false",
         "issuer" : {
            "city" : "England",
            "commonname" : "SSLVPN",
            "country" : "UK",
            "email" : "support@aindale.co.uk",
            "organization" : "RDM Controls",
            "organizationalunit" : "RDM"
         },
         "latitude" : "51.5074",
         "location" : "51.5074,-0.1196",
         "longitude" : "-0.1196",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Virgin Media",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "Bad Request",
         "seen_date" : "2024-11-07",
         "serial" : "fd:d2:5b:59:67:a9:7e:36",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 400,
         "subject" : {
            "city" : "England",
            "commonname" : "SSL RDM ",
            "country" : "UK",
            "email" : "support@aindale.co.uk",
            "organization" : "RDM Controls",
            "organizationalunit" : "RDM "
         },
         "subnet" : "80.235.128.0/17",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2024-09-19T09:23:03Z",
            "notbefore" : "2022-09-19T09:23:03Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 115.238.39.2:4433 (tcp/http/tls) - last seen on 2024-11-07 at 04:51:43 UTC

    • IP
      115.238.39.2
      Network
      115.238.32.0/20
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Microsoft Windows
      URL

      https://115.238.39.2:4433/ 200

      ASN
      AS4134
      Organization
      Chinanet
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Microsoft Windows
      Product
      Server Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      59752a3794620178779af9b98d3046637c53c073db9a31d3e2e7f3721f86c2a2
      Validity Not Before
      2022-09-20T20:02:03Z
      Validity Not After
      2024-12-23T20:02:03Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      087bdeb2d5712a7228b87b500ced095c
      HTTP Header MD5
      3d43e106826a41a28448074433bef767
      HTTP Body MD5
      5762fb2cd484cc3b67ac22c3314b25b8
    • HTTP/1.1 200 OK
      Date: Thu, 07 Nov 2024 04:51:47 GMT
      Server: Server
      X-Frame-Options: SAMEORIGIN
      X-Content-Type-Options: nosniff
      USE_NEW_PORTAL: 1
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7430
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      /*
      客户端要从中解析地址时间, 老版本时间为3s, 需保持不变
      var selectline_timeout = "3";
      */
      
      var time_distance = "10";
      var g_midatk = "0";
      var g_lines = [];
      //var lineInterArr = [];
      var delayTimer = [];
      var g_timeout = null;
      
      /*
      	luyi 20120223
      	1、先分析line_list中的数据,转换成Array
      	2、通过优先级级对数据进行分组,并按优先级别进行排序
      	3、对分组后的数据按速度选路
      	*/
      	/*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		config_timeout = parseFloat(time_distance),
      		interval = level * config_timeout * 10,
      		delay_timeout = level * config_timeout * 10,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      		if(_lines[0].index >= MIN){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      			// 优先级高的先跳,优先级别的等待时间(高:0,中:100ms,低:200ms)
      			delayTimer[level] = setTimeout(function () {
      				clearTimeout(g_timeout);
      				callback(result);  
      			}, delay_timeout);
      		}
      	}
      	function reLoad(el, index){
      		return function(){
      			el.src = imgs[index].src + '?' + Math.random();
      		};
      	}
      
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.onerror = reLoad(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:30ms,低60ms;差值10毫秒)
      	//lineInterArr[level] = setInterval(function(){
      	//	interval-=10;  // interval-100, 初始值interval = level * config_timeout * 10,
      	//	if(result && interval<=0){
      	//		for(var k=0; k<lineInterArr.length;k++){
      	//			clearInterval(lineInterArr[k]);
      	//		}
      	//		clearTimeout(g_timeout);
      	//		callback(result);  //优先级高的先跳
      	//	}
      	//}, 10);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(time_distance);
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	g_timeout = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(g_timeout);
      		//for(var k=0; k<lineInterArr.length;k++){
      		//	clearInterval(lineInterArr[k]);
      		//}
      	
      		for(var k=0; k<delayTimer.length; k++){
      			clearTimeout(delayTimer[k]);
      		}
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      
      		flag = true;
      		
      		// 存储 sourceUrl,校验window.name中是否存储过数据并符合标记
      		var tempURL,
      		    urlFlag;
      		tempURL = window.name || '';
      		urlFlag = tempURL.substr(0,10);
      		if(urlFlag !== 'sf_ssl_ms_'){
      			window.name = 'sf_ssl_ms_' + sourceUrl;
      		}
      
      		window.location.href = url;
      	}
      
      
      
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      
      		var getOrigin = function () {
      			if (window.location.origin) {
      				return window.location.origin;
      			} else {
      				return window.location.protocol + '//' + window.location.hostname + 
      					(window.location.port ? ':' + window.location.port : '');
      			}
      		}
      
      		gotoUrl(getOrigin() + '/portal');
      	}
      }
      /*end*/
      
      (function () {
      	var loc = window.location;
      	var url = loc.protocol+"//"+loc.host;
      	if(/\/$/g.test(url)){
      		url = url.substring(0,url.length-1);
      	}
      	url = encodeURIComponent(url);
      	//注意: 以下注释中的代码不可修改和重复, 客户端要从中解析地址
      	/* 
      		if(CookiesEnabled())
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      	*/
      	g_lines = [{src:"",url:"https://<ip>:4433/portal",right:0}];
      	gotoLines();
      })();
      </script>
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T04:51:43.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "5762fb2cd484cc3b67ac22c3314b25b8",
               "bodymmh3" : 1473097961,
               "component" : [
                  {
                     "productvendor" : "Sangfor",
                     "product" : "EasyConnect"
                  }
               ],
               "headermd5" : "3d43e106826a41a28448074433bef767",
               "headermmh3" : -1365171985
            },
            "length" : 7733
         },
         "asn" : "AS4134",
         "basicconstraints" : "critical",
         "ca" : "false",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Thu, 07 Nov 2024 04:51:47 GMT\r\nServer: Server\r\nX-Frame-Options: SAMEORIGIN\r\nX-Content-Type-Options: nosniff\r\nUSE_NEW_PORTAL: 1\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7430\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\n\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\n/*\r\n\u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\u65f6\u95f4, \u8001\u7248\u672c\u65f6\u95f4\u4e3a3s, \u9700\u4fdd\u6301\u4e0d\u53d8\r\nvar selectline_timeout = \"3\";\r\n*/\r\n\r\nvar time_distance = \"10\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n//var lineInterArr = [];\r\nvar delayTimer = [];\r\nvar g_timeout = null;\r\n\r\n/*\r\n\tluyi 20120223\r\n\t1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n\t2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n\t*/\r\n\t/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\tconfig_timeout = parseFloat(time_distance),\r\n\t\tinterval = level * config_timeout * 10,\r\n\t\tdelay_timeout = level * config_timeout * 10,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\t//if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\tif(_lines[0].index >= MIN){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t\t// \u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\uff0c\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8\uff1a0\uff0c\u4e2d\uff1a100ms\uff0c\u4f4e\uff1a200ms\uff09\r\n\t\t\tdelayTimer[level] = setTimeout(function () {\r\n\t\t\t\tclearTimeout(g_timeout);\r\n\t\t\t\tcallback(result);  \r\n\t\t\t}, delay_timeout);\r\n\t\t}\r\n\t}\r\n\tfunction reLoad(el, index){\r\n\t\treturn function(){\r\n\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t};\r\n\t}\r\n\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.onerror = reLoad(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:30ms,\u4f4e60ms;\u5dee\u503c10\u6beb\u79d2\uff09\r\n\t//lineInterArr[level] = setInterval(function(){\r\n\t//\tinterval-=10;  // interval-100, \u521d\u59cb\u503cinterval = level * config_timeout * 10,\r\n\t//\tif(result && interval<=0){\r\n\t//\t\tfor(var k=0; k<lineInterArr.length;k++){\r\n\t//\t\t\tclearInterval(lineInterArr[k]);\r\n\t//\t\t}\r\n\t//\t\tclearTimeout(g_timeout);\r\n\t//\t\tcallback(result);  //\u4f18\u5148\u7ea7\u9ad8\u7684\u5148\u8df3\r\n\t//\t}\r\n\t//}, 10);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(time_distance);\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\tg_timeout = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(g_timeout);\r\n\t\t//for(var k=0; k<lineInterArr.length;k++){\r\n\t\t//\tclearInterval(lineInterArr[k]);\r\n\t\t//}\r\n\t\r\n\t\tfor(var k=0; k<delayTimer.length; k++){\r\n\t\t\tclearTimeout(delayTimer[k]);\r\n\t\t}\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\r\n\t\tflag = true;\r\n\t\t\r\n\t\t// \u5b58\u50a8 sourceUrl\uff0c\u6821\u9a8cwindow.name\u4e2d\u662f\u5426\u5b58\u50a8\u8fc7\u6570\u636e\u5e76\u7b26\u5408\u6807\u8bb0\r\n\t\tvar tempURL,\r\n\t\t    urlFlag;\r\n\t\ttempURL = window.name || '';\r\n\t\turlFlag = tempURL.substr(0,10);\r\n\t\tif(urlFlag !== 'sf_ssl_ms_'){\r\n\t\t\twindow.name = 'sf_ssl_ms_' + sourceUrl;\r\n\t\t}\r\n\r\n\t\twindow.location.href = url;\r\n\t}\r\n\r\n\r\n\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\r\n\t\tvar getOrigin = function () {\r\n\t\t\tif (window.location.origin) {\r\n\t\t\t\treturn window.location.origin;\r\n\t\t\t} else {\r\n\t\t\t\treturn window.location.protocol + '//' + window.location.hostname + \r\n\t\t\t\t\t(window.location.port ? ':' + window.location.port : '');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgotoUrl(getOrigin() + '/portal');\r\n\t}\r\n}\r\n/*end*/\r\n\r\n(function () {\r\n\tvar loc = window.location;\r\n\tvar url = loc.protocol+\"//\"+loc.host;\r\n\tif(/\\/$/g.test(url)){\r\n\t\turl = url.substring(0,url.length-1);\r\n\t}\r\n\turl = encodeURIComponent(url);\r\n\t//\u6ce8\u610f: \u4ee5\u4e0b\u6ce8\u91ca\u4e2d\u7684\u4ee3\u7801\u4e0d\u53ef\u4fee\u6539\u548c\u91cd\u590d, \u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\r\n\t/* \r\n\t\tif(CookiesEnabled())\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t*/\r\n\tg_lines = [{src:\"\",url:\"https://<ip>:4433/portal\",right:0}];\r\n\tgotoLines();\r\n})();\r\n</script>\r\n</html>\r\n\r\n",
         "datamd5" : "087bdeb2d5712a7228b87b500ced095c",
         "datammh3" : -1177401751,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "32595e96ec82687e0312eb57d2f5e1e7",
            "sha1" : "5c05ed4df7c360267fe6b69de5c3f0c7e438997f",
            "sha256" : "59752a3794620178779af9b98d3046637c53c073db9a31d3e2e7f3721f86c2a2"
         },
         "geolocus" : {
            "asn" : "AS4134",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "189.cn",
               "chinatelecom.cn",
               "emaildisk.com"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "SANRUN-LNVESTIN-LTD",
            "organization" : "Hangzhou Sanrun lndustry investment Ltd",
            "subnet" : "115.238.32.0/20"
         },
         "ip" : "115.238.39.2",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "34.7732",
         "location" : "34.7732,113.7220",
         "longitude" : "113.7220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Chinanet",
         "os" : "Windows",
         "osvendor" : "Microsoft",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "ce:32:db:06:bd:7d:37:37",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "115.238.32.0/20",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2024-12-23T20:02:03Z",
            "notbefore" : "2022-09-20T20:02:03Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }
      
  • 58.215.178.52:4433 (tcp/http/tls) - last seen on 2024-11-07 at 04:50:12 UTC

    • IP
      58.215.178.52
      Network
      58.215.160.0/19
      Device

      <enterprise field>: device.class <enterprise field>: device.productvendor <enterprise field>: device.product

      Operating System
      Linux Linux Kernel
      URL

      https://58.215.178.52:4433/ 200

      ASN
      AS138950
      Organization
      Jiangsu Wuxi International IDC network
      Protocol
      http Cert not expired http
      Source
      datascan
    • Operating System
      Linux Linux Kernel
      Product
      Server Server
      HTTP Component(s)
      Sangfor EasyConnect
      CPE(s)

      <enterprise field>: cpe

    • Issuer Common Name
      sslvpn
      Issuer Organization
      sangfor
      Subject Organization
      sangfor
      Subject Common Name
      sslvpn
      SHA256 Fingerprint
      d928746d966b7e68fba43144cb24e256a5ca55a78e982c8aa3bc18778a874d00
      Validity Not Before
      2019-12-09T04:02:15Z
      Validity Not After
      2029-12-06T04:02:15Z
    • This feature requires at least a "Lion View" to unlock. Go to our Pricing page for more.

    • Data MD5
      a53df7afca087563db774ab9fe41a7d9
      HTTP Header MD5
      5f9ed74f3e9dc24db2275948a1a740cb
      HTTP Body MD5
      fa824f937e57b78f2e3f23f19d99731e
    • HTTP/1.1 200 OK
      Date: Thu, 07 Nov 2024 04:45:59 GMT
      Server: Server
      X-Frame-Options: SAMEORIGIN
      USE_NEW_PORTAL: 1
      X-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex
      Content-Length: 7460
      Connection: close
      Content-Type: text/html; charset=utf-8
      
      <html>
      <head>
      <!-- 旧方案 >
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      <! 旧方案 -->
      
      <meta http-equiv="Pragma" content="no-cache">
      <meta http-equiv="Cache-Control" content="no-cache" >
      <meta http-equiv="Cache-Control" content="must-revalidate" >
      <meta http-equiv="Expires" content="-1">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <!-- 新方案 -->
      	<script src="/com/js/common.min.js"></script>
      <!-- 新方案 -->
      <!-- 旧方案 >
      	<script src="/com/common.js"></script>
      	<script src="/com/64sys.js"></script>
      <! 旧方案 -->
      </head>
      
      <NOSCRIPT>
      Your browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.
      </NOSCRIPT>
      <body>
      </body>
      
      <script>
      window.setLang();
      var is_old_solution = (!'--');
      var hashIndex = location.href.lastIndexOf("#");
      var sourceUrl = "";
      if(hashIndex != -1  && location.href.length > (hashIndex + 1)) {
      	sourceUrl = location.href.substr(hashIndex + 1);
      }
      else {
      	sourceUrl = encodeURIComponent(location.href);
      }
      
      var selectline_timeout = "3";
      var g_midatk = "0";
      var g_lines = [];
      
      //验证请求安全性
      function validSec(url){
      	if(g_midatk == "1"){
      		var regex = new RegExp("^((https)?://)","i");
      		if(!regex.exec(url))
      		{
      			alert(tr("您访问的SSL VPN系统正受到中间人攻击(SSL Strip攻击),请直接使用https协议访问SSL VPN系统."));
      			return false;
      		}
      	}
      	return true
      }
      
      /*
      luyi 20120223
      1、先分析line_list中的数据,转换成Array
      2、通过优先级级对数据进行分组,并按优先级别进行排序
      3、对分组后的数据按速度选路
      */
      /*old function about win_location just support for old version update*/
      function win_location(imgs, level, callback){
      	var lines = [],
      		stop = false,
      		timer = null,
      		config_timeout = parseFloat(selectline_timeout),
      		interval = level * config_timeout * 1000,
      		result = null,
      		MAX = 5,
      		MIN = 3;
      	function loaded(is_timeout){	//图片onload成功时,检查此级别的线路请求次数是否达到了最大次数MAX,或第一条与第二条的差距是否达到了最小次数MIN;线路只有一条时,检查是否达到了最小请求次数MIN。
      		var _lines = [];
      		for(var i=0, len = lines.length; i<len; i++){
      			_lines[i] = { line: i, index: lines[i] };
      		}
      		_lines.sort(function(a, b){
      			if(a.index > b.index){
      				return -1;
      			}else if(a.index < b.index){
      				return 1;
      			}else{
      				return 0;
      			}
      		});
      		if((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){
      			stop = true;
      			result = imgs[_lines[0].line].url;	//已经符合选路规则,选择onload次数完成最多的。
      		}
      	}
      	function createDelegate(el, index){
      		return function(){
      			if(!stop){
      				lines[index]++;
      				imgs[index].count = lines[index];
      				loaded(false);
      				if(!stop && lines[index] <= MAX){
      					el.src = imgs[index].src + '?' + Math.random();
      				}
      			}
      		};
      	}
      	var els = document.createDocumentFragment();
      	for(var i=0, len = imgs.length; i<len; i++){
      		lines[i] = 0;
      		var el = document.createElement('img');
      		el.style.position = 'absolute';
      		el.style.top = '-1000px';
      		el.onload = createDelegate(el, i);
      		el.src = imgs[i].src + '?' + Math.random();
      		els.appendChild(el);
      	}
      	document.body.appendChild(els);
      	timer = setInterval(function(){	//定时查询是否已经完成了选路,且达到了优先级别的等待时间(高:0,中:3000,低6000;差值100毫秒)
      		interval-=100;
      		if(result && interval<=0){
      			callback(result);
      			clearInterval(timer);
      		}
      	}, 100);
      }
      //第二步:按优先级别对路线进行分组
      function lineLevel(imgs, callback){
      	var obj_lines = {},
      		arr_lines = [],
      		config_timeout = parseFloat(selectline_timeout),
      		timer = null;
      	for(var i=0, len = imgs.length; i<len; i++){
      		var right = imgs[i].right;
      		if(!obj_lines[right]){
      			obj_lines[right] = [];
      		}
      		obj_lines[right].push(imgs[i]);
      	}
      	for(var prop in obj_lines){
      		if(obj_lines.hasOwnProperty(prop)){
      			arr_lines.push({ right: prop, lines: obj_lines[prop] });
      		}
      	}
      	arr_lines.sort(function(a, b){	//按级别进行排序
      		if(a.right > b.right){
      			return 1;
      		}else if(a.right < b.right){
      			return -1;
      		}else{
      			return 0;
      		}
      	});
      	for(var i=0, len = arr_lines.length; i<len; i++){
      		win_location(arr_lines[i].lines, i, callback);
      	}
      	timer = setTimeout(function(){	//当所有路线都在指定时间内未完成选路,则查找有多少条已经有发送过成功请求的,按优先级别,选择成功次数最高的。
      		var slines = [];	//统计出有多少条有onload成功的线路
      		for(var i=0, len = arr_lines.length; i<len; i++){
      			var item = arr_lines[i],
      				i_lines = item.lines;
      			for(var ii=0, ilen = i_lines.length; ii<ilen; ii++){
      				if(i_lines[ii].count != null && i_lines[ii].count > 0){
      					slines.push(i_lines[ii]);
      				}
      			}
      			if(slines.length > 0){
      				break;
      			}
      		}
      		if(slines.length > 0){	//按优先级别,找到onload成功最多的线路
      			slines.sort(function(a, b){
      				if(a.count > b.count){
      					return -1;
      				}else if(a.count < b.count){
      					return 1;
      				}else{
      					return 0;
      				}
      			});
      			callback(slines[0].url);
      		}else{
      			callback(arr_lines[0].lines[0].url);	//当所有路线都超时,直接选优先级别最高的第一条。
      		}
      		clearTimeout(timer);
      	}, arr_lines.length * config_timeout * 1000);
      }
      //第一步:对线路数据进行分析
      function gotoLines(){
      	var lines = g_lines,
      		flag = false;
      
      	function gotoUrl(url){
      		if(flag){ return; }
      		if(!validSec(url)){
      			return;
      		}
      		flag = true;
      		if(url.indexOf('?') == -1){
      			url += '?rnd=' + Math.random();
      		}else{
      			url += '&rnd=' + Math.random();
      		}
      
      		url += ("#" + sourceUrl);
      		
      		window.location.href = url;
      	}
      	if(lines.length > 1){
      		lineLevel(lines, gotoUrl);
      	}else if(lines.length === 1){
      		gotoUrl(lines[0].url);
      	}else{
      		var script = document.createElement('script');
      		script.text = html;
      		document.body.appendChild(script);
      	}
      }
      /*end*/
      
      function CookiesEnabled()
      {
      	try	{
      		var secure = "";
      		if (/^https/i.test(window.location.protocol)) {
      			secure = "; secure";
      		}
      		document.cookie = "cookie=yes" + secure; 
      		cookieOK = document.cookie.indexOf("cookie=yes") > -1; 
      		if (cookieOK) {	
      			var lastyear = new Date();
      			lastyear.setFullYear(lastyear.getFullYear() - 1);
      			document.cookie = "cookie=yes; expires=" + lastyear.toGMTString() + secure;
      			return true;
      		}
      		else 	
      			return false;
      	}
      	catch(ex){
      		return false;
      	}
      }
      
      if(CookiesEnabled())
      {
      	if (is_old_solution && window.Browser && Browser.is64 && Browser.isIE) {
      		InitFor64('index');
      	} else {
      		var loc = window.location;
      		var url = loc.protocol+"//"+loc.host;
      		if(/\/$/g.test(url)){
      			url = url.substring(0,url.length-1);
      		}
      		url = encodeURIComponent(url);
      		//注意: 以下这行代码不可修改和重复, 客户端要从中解析地址
      		g_lines = [{src:"",url:"https://<ip>:4433/por/login_psw.csp",flag:'win_location("https://<ip>:4433/por/login_psw.csp")',right:0}];
      		gotoLines();
      	}
      }
      else
      {
      	alert(tr("当前设置Cookie被禁用,禁用Cookie将不能使用SSL VPN"));
      }
      </script>
      </html>
      
      
    • {
         "@category" : "datascan",
         "@timestamp" : "2024-11-07T04:50:12.000Z",
         "app" : {
            "http" : {
               "bodymd5" : "fa824f937e57b78f2e3f23f19d99731e",
               "bodymmh3" : 2054590941,
               "component" : [
                  {
                     "productvendor" : "Sangfor",
                     "product" : "EasyConnect"
                  }
               ],
               "headermd5" : "5f9ed74f3e9dc24db2275948a1a740cb",
               "headermmh3" : -867198504
            },
            "length" : 7736
         },
         "asn" : "AS138950",
         "basicconstraints" : "critical",
         "ca" : "false",
         "country" : "CN",
         "cpe" : "<enterprise field>: cpe",
         "cpecount" : "<enterprise field>: cpecount",
         "data" : "HTTP/1.1 200 OK\r\nDate: Thu, 07 Nov 2024 04:45:59 GMT\r\nServer: Server\r\nX-Frame-Options: SAMEORIGIN\r\nUSE_NEW_PORTAL: 1\r\nX-Robots-Tag: noindex, nofollow, noarchive, nosnippet, nosnippet, notranslate, noimageindex\r\nContent-Length: 7460\r\nConnection: close\r\nContent-Type: text/html; charset=utf-8\r\n\r\n<html>\r\n<head>\r\n<!-- \u65e7\u65b9\u6848 >\r\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\" />\r\n<! \u65e7\u65b9\u6848 -->\r\n\r\n<meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n<meta http-equiv=\"Cache-Control\" content=\"no-cache\" >\r\n<meta http-equiv=\"Cache-Control\" content=\"must-revalidate\" >\r\n<meta http-equiv=\"Expires\" content=\"-1\">\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<!-- \u65b0\u65b9\u6848 -->\r\n\t<script src=\"/com/js/common.min.js\"></script>\r\n<!-- \u65b0\u65b9\u6848 -->\r\n<!-- \u65e7\u65b9\u6848 >\r\n\t<script src=\"/com/common.js\"></script>\r\n\t<script src=\"/com/64sys.js\"></script>\r\n<! \u65e7\u65b9\u6848 -->\r\n</head>\r\n\r\n<NOSCRIPT>\r\nYour browser does not support JavaScript (or it is blocked). Please check your browser settings and make sure it supports JavaScript.\r\n</NOSCRIPT>\r\n<body>\r\n</body>\r\n\r\n<script>\r\nwindow.setLang();\r\nvar is_old_solution = (!'--');\r\nvar hashIndex = location.href.lastIndexOf(\"#\");\r\nvar sourceUrl = \"\";\r\nif(hashIndex != -1  && location.href.length > (hashIndex + 1)) {\r\n\tsourceUrl = location.href.substr(hashIndex + 1);\r\n}\r\nelse {\r\n\tsourceUrl = encodeURIComponent(location.href);\r\n}\r\n\r\nvar selectline_timeout = \"3\";\r\nvar g_midatk = \"0\";\r\nvar g_lines = [];\r\n\r\n//\u9a8c\u8bc1\u8bf7\u6c42\u5b89\u5168\u6027\r\nfunction validSec(url){\r\n\tif(g_midatk == \"1\"){\r\n\t\tvar regex = new RegExp(\"^((https)?://)\",\"i\");\r\n\t\tif(!regex.exec(url))\r\n\t\t{\r\n\t\t\talert(tr(\"\u60a8\u8bbf\u95ee\u7684SSL VPN\u7cfb\u7edf\u6b63\u53d7\u5230\u4e2d\u95f4\u4eba\u653b\u51fb(SSL Strip\u653b\u51fb),\u8bf7\u76f4\u63a5\u4f7f\u7528https\u534f\u8bae\u8bbf\u95eeSSL VPN\u7cfb\u7edf.\"));\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/*\r\nluyi 20120223\r\n1\u3001\u5148\u5206\u6790line_list\u4e2d\u7684\u6570\u636e\uff0c\u8f6c\u6362\u6210Array\r\n2\u3001\u901a\u8fc7\u4f18\u5148\u7ea7\u7ea7\u5bf9\u6570\u636e\u8fdb\u884c\u5206\u7ec4\uff0c\u5e76\u6309\u4f18\u5148\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n3\u3001\u5bf9\u5206\u7ec4\u540e\u7684\u6570\u636e\u6309\u901f\u5ea6\u9009\u8def\r\n*/\r\n/*old function about win_location just support for old version update*/\r\nfunction win_location(imgs, level, callback){\r\n\tvar lines = [],\r\n\t\tstop = false,\r\n\t\ttimer = null,\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\tinterval = level * config_timeout * 1000,\r\n\t\tresult = null,\r\n\t\tMAX = 5,\r\n\t\tMIN = 3;\r\n\tfunction loaded(is_timeout){\t//\u56fe\u7247onload\u6210\u529f\u65f6\uff0c\u68c0\u67e5\u6b64\u7ea7\u522b\u7684\u7ebf\u8def\u8bf7\u6c42\u6b21\u6570\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5927\u6b21\u6570MAX\uff0c\u6216\u7b2c\u4e00\u6761\u4e0e\u7b2c\u4e8c\u6761\u7684\u5dee\u8ddd\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u6b21\u6570MIN\uff1b\u7ebf\u8def\u53ea\u6709\u4e00\u6761\u65f6\uff0c\u68c0\u67e5\u662f\u5426\u8fbe\u5230\u4e86\u6700\u5c0f\u8bf7\u6c42\u6b21\u6570MIN\u3002\r\n\t\tvar _lines = [];\r\n\t\tfor(var i=0, len = lines.length; i<len; i++){\r\n\t\t\t_lines[i] = { line: i, index: lines[i] };\r\n\t\t}\r\n\t\t_lines.sort(function(a, b){\r\n\t\t\tif(a.index > b.index){\r\n\t\t\t\treturn -1;\r\n\t\t\t}else if(a.index < b.index){\r\n\t\t\t\treturn 1;\r\n\t\t\t}else{\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif((_lines.length === 1 && _lines[0].index >= MIN) || _lines[0].index >= MAX || (_lines.length >= 2 && _lines[0].index - _lines[1].index >= MIN)){\r\n\t\t\tstop = true;\r\n\t\t\tresult = imgs[_lines[0].line].url;\t//\u5df2\u7ecf\u7b26\u5408\u9009\u8def\u89c4\u5219\uff0c\u9009\u62e9onload\u6b21\u6570\u5b8c\u6210\u6700\u591a\u7684\u3002\r\n\t\t}\r\n\t}\r\n\tfunction createDelegate(el, index){\r\n\t\treturn function(){\r\n\t\t\tif(!stop){\r\n\t\t\t\tlines[index]++;\r\n\t\t\t\timgs[index].count = lines[index];\r\n\t\t\t\tloaded(false);\r\n\t\t\t\tif(!stop && lines[index] <= MAX){\r\n\t\t\t\t\tel.src = imgs[index].src + '?' + Math.random();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\tvar els = document.createDocumentFragment();\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tlines[i] = 0;\r\n\t\tvar el = document.createElement('img');\r\n\t\tel.style.position = 'absolute';\r\n\t\tel.style.top = '-1000px';\r\n\t\tel.onload = createDelegate(el, i);\r\n\t\tel.src = imgs[i].src + '?' + Math.random();\r\n\t\tels.appendChild(el);\r\n\t}\r\n\tdocument.body.appendChild(els);\r\n\ttimer = setInterval(function(){\t//\u5b9a\u65f6\u67e5\u8be2\u662f\u5426\u5df2\u7ecf\u5b8c\u6210\u4e86\u9009\u8def\uff0c\u4e14\u8fbe\u5230\u4e86\u4f18\u5148\u7ea7\u522b\u7684\u7b49\u5f85\u65f6\u95f4\uff08\u9ad8:0,\u4e2d:3000,\u4f4e6000;\u5dee\u503c100\u6beb\u79d2\uff09\r\n\t\tinterval-=100;\r\n\t\tif(result && interval<=0){\r\n\t\t\tcallback(result);\r\n\t\t\tclearInterval(timer);\r\n\t\t}\r\n\t}, 100);\r\n}\r\n//\u7b2c\u4e8c\u6b65:\u6309\u4f18\u5148\u7ea7\u522b\u5bf9\u8def\u7ebf\u8fdb\u884c\u5206\u7ec4\r\nfunction lineLevel(imgs, callback){\r\n\tvar obj_lines = {},\r\n\t\tarr_lines = [],\r\n\t\tconfig_timeout = parseFloat(selectline_timeout),\r\n\t\ttimer = null;\r\n\tfor(var i=0, len = imgs.length; i<len; i++){\r\n\t\tvar right = imgs[i].right;\r\n\t\tif(!obj_lines[right]){\r\n\t\t\tobj_lines[right] = [];\r\n\t\t}\r\n\t\tobj_lines[right].push(imgs[i]);\r\n\t}\r\n\tfor(var prop in obj_lines){\r\n\t\tif(obj_lines.hasOwnProperty(prop)){\r\n\t\t\tarr_lines.push({ right: prop, lines: obj_lines[prop] });\r\n\t\t}\r\n\t}\r\n\tarr_lines.sort(function(a, b){\t//\u6309\u7ea7\u522b\u8fdb\u884c\u6392\u5e8f\r\n\t\tif(a.right > b.right){\r\n\t\t\treturn 1;\r\n\t\t}else if(a.right < b.right){\r\n\t\t\treturn -1;\r\n\t\t}else{\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t});\r\n\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\twin_location(arr_lines[i].lines, i, callback);\r\n\t}\r\n\ttimer = setTimeout(function(){\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u5728\u6307\u5b9a\u65f6\u95f4\u5185\u672a\u5b8c\u6210\u9009\u8def\uff0c\u5219\u67e5\u627e\u6709\u591a\u5c11\u6761\u5df2\u7ecf\u6709\u53d1\u9001\u8fc7\u6210\u529f\u8bf7\u6c42\u7684\uff0c\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u9009\u62e9\u6210\u529f\u6b21\u6570\u6700\u9ad8\u7684\u3002\r\n\t\tvar slines = [];\t//\u7edf\u8ba1\u51fa\u6709\u591a\u5c11\u6761\u6709onload\u6210\u529f\u7684\u7ebf\u8def\r\n\t\tfor(var i=0, len = arr_lines.length; i<len; i++){\r\n\t\t\tvar item = arr_lines[i],\r\n\t\t\t\ti_lines = item.lines;\r\n\t\t\tfor(var ii=0, ilen = i_lines.length; ii<ilen; ii++){\r\n\t\t\t\tif(i_lines[ii].count != null && i_lines[ii].count > 0){\r\n\t\t\t\t\tslines.push(i_lines[ii]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(slines.length > 0){\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif(slines.length > 0){\t//\u6309\u4f18\u5148\u7ea7\u522b\uff0c\u627e\u5230onload\u6210\u529f\u6700\u591a\u7684\u7ebf\u8def\r\n\t\t\tslines.sort(function(a, b){\r\n\t\t\t\tif(a.count > b.count){\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t}else if(a.count < b.count){\r\n\t\t\t\t\treturn 1;\r\n\t\t\t\t}else{\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tcallback(slines[0].url);\r\n\t\t}else{\r\n\t\t\tcallback(arr_lines[0].lines[0].url);\t//\u5f53\u6240\u6709\u8def\u7ebf\u90fd\u8d85\u65f6\uff0c\u76f4\u63a5\u9009\u4f18\u5148\u7ea7\u522b\u6700\u9ad8\u7684\u7b2c\u4e00\u6761\u3002\r\n\t\t}\r\n\t\tclearTimeout(timer);\r\n\t}, arr_lines.length * config_timeout * 1000);\r\n}\r\n//\u7b2c\u4e00\u6b65:\u5bf9\u7ebf\u8def\u6570\u636e\u8fdb\u884c\u5206\u6790\r\nfunction gotoLines(){\r\n\tvar lines = g_lines,\r\n\t\tflag = false;\r\n\r\n\tfunction gotoUrl(url){\r\n\t\tif(flag){ return; }\r\n\t\tif(!validSec(url)){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tflag = true;\r\n\t\tif(url.indexOf('?') == -1){\r\n\t\t\turl += '?rnd=' + Math.random();\r\n\t\t}else{\r\n\t\t\turl += '&rnd=' + Math.random();\r\n\t\t}\r\n\r\n\t\turl += (\"#\" + sourceUrl);\r\n\t\t\r\n\t\twindow.location.href = url;\r\n\t}\r\n\tif(lines.length > 1){\r\n\t\tlineLevel(lines, gotoUrl);\r\n\t}else if(lines.length === 1){\r\n\t\tgotoUrl(lines[0].url);\r\n\t}else{\r\n\t\tvar script = document.createElement('script');\r\n\t\tscript.text = html;\r\n\t\tdocument.body.appendChild(script);\r\n\t}\r\n}\r\n/*end*/\r\n\r\nfunction CookiesEnabled()\r\n{\r\n\ttry\t{\r\n\t\tvar secure = \"\";\r\n\t\tif (/^https/i.test(window.location.protocol)) {\r\n\t\t\tsecure = \"; secure\";\r\n\t\t}\r\n\t\tdocument.cookie = \"cookie=yes\" + secure; \r\n\t\tcookieOK = document.cookie.indexOf(\"cookie=yes\") > -1; \r\n\t\tif (cookieOK) {\t\r\n\t\t\tvar lastyear = new Date();\r\n\t\t\tlastyear.setFullYear(lastyear.getFullYear() - 1);\r\n\t\t\tdocument.cookie = \"cookie=yes; expires=\" + lastyear.toGMTString() + secure;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse \t\r\n\t\t\treturn false;\r\n\t}\r\n\tcatch(ex){\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nif(CookiesEnabled())\r\n{\r\n\tif (is_old_solution && window.Browser && Browser.is64 && Browser.isIE) {\r\n\t\tInitFor64('index');\r\n\t} else {\r\n\t\tvar loc = window.location;\r\n\t\tvar url = loc.protocol+\"//\"+loc.host;\r\n\t\tif(/\\/$/g.test(url)){\r\n\t\t\turl = url.substring(0,url.length-1);\r\n\t\t}\r\n\t\turl = encodeURIComponent(url);\r\n\t\t//\u6ce8\u610f: \u4ee5\u4e0b\u8fd9\u884c\u4ee3\u7801\u4e0d\u53ef\u4fee\u6539\u548c\u91cd\u590d, \u5ba2\u6237\u7aef\u8981\u4ece\u4e2d\u89e3\u6790\u5730\u5740\r\n\t\tg_lines = [{src:\"\",url:\"https://<ip>:4433/por/login_psw.csp\",flag:'win_location(\"https://<ip>:4433/por/login_psw.csp\")',right:0}];\r\n\t\tgotoLines();\r\n\t}\r\n}\r\nelse\r\n{\r\n\talert(tr(\"\u5f53\u524d\u8bbe\u7f6eCookie\u88ab\u7981\u7528,\u7981\u7528Cookie\u5c06\u4e0d\u80fd\u4f7f\u7528SSL VPN\"));\r\n}\r\n</script>\r\n</html>\r\n\r\n",
         "datamd5" : "a53df7afca087563db774ab9fe41a7d9",
         "datammh3" : 464489150,
         "device" : {
            "class" : "<enterprise field>: device.class",
            "product" : "<enterprise field>: device.product",
            "productvendor" : "<enterprise field>: device.productvendor"
         },
         "extkeyusage" : [
            "serverAuth",
            "clientAuth"
         ],
         "fingerprint" : {
            "md5" : "422d496f73e28aaca87f1710d872668e",
            "sha1" : "f2316ff8241675fae539f4d563ec31737ba59a3b",
            "sha256" : "d928746d966b7e68fba43144cb24e256a5ca55a78e982c8aa3bc18778a874d00"
         },
         "geolocus" : {
            "asn" : "AS138950",
            "continent" : "AS",
            "continentname" : "Asia",
            "country" : "CN",
            "countryname" : "China",
            "domain" : [
               "163.com",
               "chinatelecom.cn"
            ],
            "isineu" : "false",
            "latitude" : "35.86166",
            "location" : "35.86166,104.195397",
            "longitude" : "104.195397",
            "netname" : "CHINANET-JS",
            "organization" : "CHINANET jiangsu province network",
            "subnet" : "58.215.160.0/19"
         },
         "ip" : "58.215.178.52",
         "ipv6" : "false",
         "issuer" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "latitude" : "34.7732",
         "location" : "34.7732,113.7220",
         "longitude" : "113.7220",
         "node" : {
            "country" : "<enterprise field>: node.country",
            "groupid" : "<enterprise field>: node.groupid",
            "id" : "<enterprise field>: node.id",
            "physicalcountry" : "<enterprise field>: node.physicalcountry"
         },
         "organization" : "Jiangsu Wuxi International IDC network",
         "os" : "Linux Kernel",
         "osvendor" : "Linux",
         "port" : 4433,
         "product" : "Server",
         "productvendor" : "Server",
         "protocol" : "http",
         "protocolversion" : "1.1",
         "publickey" : {
            "algorithm" : "rsaEncryption",
            "length" : 2048
         },
         "reason" : "OK",
         "seen_date" : "2024-11-07",
         "serial" : "d2:6d:07:21:95:6c:88:74",
         "signature" : {
            "algorithm" : "sha256WithRSAEncryption"
         },
         "source" : "datascan",
         "status" : 200,
         "subject" : {
            "city" : "shenzhen",
            "commonname" : "sslvpn",
            "country" : "CN",
            "organization" : "sangfor"
         },
         "subnet" : "58.215.160.0/19",
         "tls" : "true",
         "transport" : "tcp",
         "url" : "/",
         "validity" : {
            "notafter" : "2029-12-06T04:02:15Z",
            "notbefore" : "2019-12-09T04:02:15Z"
         },
         "version" : "v3",
         "wildcard" : "false"
      }