whois.handle: CHINANET-GX
whois.name: CHINANET Guangxi province network
whois.cidrs: 116.8.0.0/14
whois.updated: 2021-06-15T00:00:00.000000
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T16:52:41.126184
services.banner: HTTP/1.1 200 OK
  Cache-Control: private
  Content-Type: text/html
  Content-Encoding: gzip
  Vary: Accept-Encoding
  Server: Microsoft-IIS/10.0
  Set-Cookie: ASPSESSIONIDQCADABTR=JMKJGGCDNLKDMOKIIEHKNHFC; path=/
  X-Powered-By: ASP.NET
  Date:  <REDACTED>
  Content-Length: 348
  
services.source: OSI_APPLICATION_LAYER
services.part: a
services.vendor: Microsoft
services.product: IIS
services.version: 10.0
services.cpe: cpe:2.3:a:microsoft:internet_information_services:10.0:*:*:*:*:*:*:*
services.source: OSI_APPLICATION_LAYER
services.part: a
services.vendor: Microsoft
services.product: ASP.NET
services.cpe: cpe:2.3:a:microsoft:asp.net:*:*:*:*:*:*:*:*
services.source: OSI_APPLICATION_LAYER
services.part: o
services.vendor: Microsoft
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T16:52:41.126184
services.uri: http://116.11.221.59/
services.protocol: HTTP/1.1
services.status_reason: OK
services.key: Vary
services.headers: Accept-Encoding
services.key: Server
services.headers: Microsoft-IIS/10.0
services.key: Cache-Control
services.headers: private
services.key: Content-Type
services.headers: text/html
services.key: Date
services.headers: <REDACTED>
services.key: Set-Cookie
services.headers: ASPSESSIONIDQCADABTR=JMKJGGCDNLKDMOKIIEHKNHFC; path=/
services.key: X-Powered-By
services.headers: ASP.NET
services.key: Content-Encoding
services.headers: gzip
services.key: Content-Length
services.headers: 348
services.html_tags: <title></title>
services.body: <HTML>
  <HEAD>
  <title></title>
  </HEAD>
  <BODY>
  
  <script type="text/javascript">
  var x = navigator;
  var sParamStr = "";
  if (location.href.indexOf("?") > -1) {
  	sParamStr = location.href.substring(location.href.indexOf("?"));
  }
  if (x.cpuClass == "x86") {
  	window.location = "default1.asp" + sParamStr;
  } else 
  {
  	window.location = "default2.asp" + sParamStr;
  }
  </script>
  
  
  </BODY>
  </HTML>
  
services.body_hash_sha1: sha1:76e5fc7cfa2030daad744712406d14612502139e
services.supported_versions: HTTP/1.1
services.protocol: NTP
services.transport_protocol: UDP
services.scan_time: 2025-07-27T11:06:37.064824
services.protocol: HIKVISION
services.transport_protocol: TCP
services.scan_time: 2025-07-27T08:50:16.428088
services.value: camera
services.web_version: V4.0.1build230414
services.plugin_version: V3.0.7.500
services.name: win32
services.name: WebVideoActiveX.ocx
services.version: 3.0.7.500
services.name: PlayCtrl.dll
services.version: 7.3.5.0
services.name: StreamTransClient.dll
services.version: 1.1.3.8
services.name: SystemTransform.dll
services.version: 2.5.3.4
services.name: NetStream.dll
services.version: 1.0.5.57
services.name: AudioIntercom.dll
services.version: 1.4.0.6
services.name: localServiceControl
services.version: 1.0.0.83
services.protocol: MSSQL
services.transport_protocol: TCP
services.scan_time: 2025-07-27T20:35:38.924273
services.source: OSI_APPLICATION_LAYER
services.part: a
services.vendor: Microsoft
services.product: SQL Server
services.version: 10.50.1600
services.cpe: cpe:2.3:a:microsoft:sql_server:10.50.1600:*:*:*:*:*:*:*
services.value: database
services.version: 10.50.1600
services.encrypt_mode: ENCRYPT_ON
services.encrypt_mode: ENCRYPT_ON
services.protocol: UNKNOWN
services.transport_protocol: TCP
services.scan_time: 2025-07-28T04:45:03.889344
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T22:53:20.535384
services.banner: HTTP/1.1 200 OK
  CONNECTION: close
  Date:  <REDACTED>
  Last-Modified: Mon, 27 Sep 2021 03:58:42 GMT
  Etag: "1632715122:4bf4"
  CONTENT-LENGTH: 19444
  X-Frame-Options: SAMEORIGIN
  Strict-Transport-Security: max-age=604800; includeSubDomains
  X-XSS-Protection: 1;mode=block
  Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval'
  X-Content-Type-Options: nosniff
  CONTENT-TYPE: text/html
  
services.value: angularjs
services.value: jquery
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T22:53:20.535384
services.uri: http://116.11.221.59:8010/
services.protocol: HTTP/1.1
services.status_reason: OK
services.key: Last-Modified
services.headers: Mon, 27 Sep 2021 03:58:42 GMT
services.key: Strict-Transport-Security
services.headers: max-age=604800; includeSubDomains
services.key: CONTENT-LENGTH
services.headers: 19444
services.key: X-Frame-Options
services.headers: SAMEORIGIN
services.key: CONNECTION
services.headers: close
services.key: Content-Security-Policy
services.headers: script-src 'self' 'unsafe-inline' 'unsafe-eval'
services.key: X-Content-Type-Options
services.headers: nosniff
services.key: CONTENT-TYPE
services.headers: text/html
services.key: Date
services.headers: <REDACTED>
services.key: X-XSS-Protection
services.headers: 1;mode=block
services.key: Etag
services.headers: "1632715122:4bf4"
services.html_tags: <title>WEB SERVICE</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="description" content=""> <meta name="author" content=""> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate"> <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:00:00 GMT">
services.body: <!DOCTYPE html> <html lang="zh" ng-app="ivss"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="description" content=""> <meta name="author" content=""> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate"> <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:00:00 GMT"> <link rel="icon" href="../../favicon.ico"> <title>WEB SERVICE</title> <link href="vendor/ui-bootstrap/css/bootstrap.css?143250" rel="stylesheet"> <link href="styles/css/main.css?143250" rel="stylesheet"> <link href="component/css/main.css?143250" rel="stylesheet"> <link href="styles/css/4k.css?143250" rel="stylesheet"> <link href="component/css/4kcom.css?143250" rel="stylesheet"> <!--[if lt IE 9]>
        <script src="vendor/es5-shim.js"></script>
        <script src="vendor/html5shiv.js"></script>
        <script src="vendor/respond.js"></script>
      <![endif]--> <script src="debug/testPage.js?143250"></script> <script src="vendor/jquery.js?143250"></script> <script src="vendor/jquery.ui.js?143250"></script> <script src="vendor/angular.js?143250"></script> <script src="vendor/base64.js?143250"></script> <script src="./config/custom.js?143250"></script> <script src="./config/default.js?143250"></script> <script src="./config/product.js?143250"></script> <script src="./region.js"></script> </head> <body ng-controller="LoginController"> <div class="m-loginbg" id="o_bg"> <img src="logo/loginbg.jpg?143250"> </div> <div id="o_welcome"> <div class="m-logo-welcome"></div> </div> <div style="background-image: url('/image/top-icons.png?143250');"></div> <input type="password" style="width: 1px; height: 1px; position: absolute; border: 0px; padding: 0px;"> <div id="o_main" style="display:none"> <div ng-include="'page/login/deviceInitial.html?143250'"></div> <div ng-if="pswdReset" ng-include="'page/login/forgotPassword.html?143250'"></div> <div ng-if="showLogin && !bSupportGB35114" ng-include="'page/login/login.html?143250'"></div> <div ng-if="showLogin && bSupportGB35114" ng-include="'page/login/loginUShield.html?143250'"></div> <div ng-hide="showLogin"> <div class="m-top-box" ng-controller="headerNavController" ng-hide="isFullScreen"> <nav class="navbar navbar-fixed-top"> <div class="container-fluid m-header"> <div class="navbar-header m-header-left"> <a ng-hide="isSet" class="m-logo-live-title" ng-class="{'m-width-230': bMD}" href="javascript:;"></a> <div ng-show="isSet && !guideData.isGuideMenu" id="nav_exitSet" ng-click="exitSet()" class="m-exitset"> <i class="m-icon-back m-mt-10"><span translate="com.ExitSet"></span></i> </div> </div> <div id="navbar" class="m-navbar m-clear"> <i class="m-n-i-pullLeft m-float-l m-mt-10" ng-click="slideTab('left')" ng-show="vm.showSlideBtn"></i> <ul class="nav m-header-tab navbar-nav m-header-slide" ui-sortable ng-model="tabs.data" id="m_header_slide_tab"> <li ng-repeat="tab in tabs.data" class="clearboth"> <i ng-if="(!isEVS && tab.name!=='ailive') || (isEVS && tab.name!=='operation')" class="m-sicon-close tclose" ng-click="closeTab($index)"></i> <a href="javascript:;" ng-class="{current: curPage==tab.name}" ng-click="showPage(tab.name)" translate="{{tab.str}}"></a> </li> </ul> <i class="m-n-i-pullRight m-float-l m-mt-10" ng-click="slideTab('right')" ng-show="vm.showSlideBtn"></i> <ul class="nav navbar-nav" ng-hide="guideData.isGuideMenu || (!isSet && !vm.caps.bSupportAddApp)"> <li> <a href="javascript:;" class="m-icon-add m-width-30" ng-click="showMenu('appMenu',$event)" id="nav_add"></a> <div class="popover bottom in fade m-header-add" ng-show="menus.appMenu"> <div class="arrow m-l-10p"></div> <div class="addtab"> <div class="title m-header-sreentit"> <span class="m-licon-applications"></span> </div> <div class="content"> <div class="m-appdiv" ng-repeat="app in apps.data | filter:{show:true}" ng-click="showPage(app.name)"> <div ng-class="app.aclass"></div> <span translate="{{app.str}}"></span> </div> </div> </div> </div> </li> </ul> <form class="navbar-form navbar-right" ng-hide="hideRightNav"> <ul class="nav navbar-nav m-ctrlbar"> <li ng-show="bLogined"> <a class="m-icon-system-message" di-title="{{'com.SystemInfo'|translate}}" ng-click="showMenu('systemMessage',$event)"> <span class="badge badge-nav badge-warning" ng-show="SM.list.length>0">{{SM.list.length|badge}}</span> </a> <div class="popover bottom in fade m-header-set" id="m-header-sm" ng-show="menus.systemMessage" ng-click="$event.stopPropagation()"> <div class="arrow m-sm-arrow"></div> <div class="m-sm-filter" ng-click="SM.setFilter($event)"> <a ng-class="{select:SM.selType ==-1}" translate="com.All">All</a> <a ng-class="{select:SM.selType == 0}" translate="com.SystemError">Error</a> <a ng-class="{select:SM.selType == 1}" translate="com.SystemWarn">Warn</a> <a ng-class="{select:SM.selType == 2}" translate="com.SystemInfo">Info</a> </div> <div class="addtab" ng-scrollbar scrollbar-x="false" scrollbar-y="true" resize-manual="{{SM.resizeManual}}" scrollbar-config="{show:true,autoResize: true, dragSpeed: 1,onAnimation:true}" ng-show="SM.list.length > 0"> <div ng-repeat="t in SM.list" class="m-sm-item" ng-show="SM.selType == -1 ||SM.selType == t.type"> <div class="type"> <i ng-class="{'m-icon-redsign':t.type == 0,'m-icon-event':t.type == 1,'m-o-i-info':t.type == 2}"></i> </div> <span class="message text-overflow-ellipsis" di-title="{{t.message}}">{{t.message}}</span> <span class="time">{{t.time}}</span> <div class="sm-action" ng-click="SM.confim($event,$index)"> <i class="m-icon-delete"></i> </div> </div> </div> <div class="m-no-message" ng-hide="SM.list.length > 0"> <span translate="com.NoMessage">NoMessage</span> </div> <div class="m-sm-footbar"> <div class="sm-more" ng-show="false"> <span translate="com.More">More</span> <i class="m-icon-lastpageforward"></i> </div> <button class="m-btn-icon red" ng-click="SM.clearAll()"> <i class="m-icon-delete"></i> <span translate="com.Empty">Empty</span> </button> </div> </div> </li> <li ng-show="bShowBeepEvent && bLogined"> <a class="m-n-i-beep" di-title="{{'com.Beep'|translate}}" ng-click="showMenu('beepMessage',$event)"> <span class="badge badge-nav badge-warning" ng-show="BM.list.length>0">{{BM.list.length|badge}}</span> </a> <div class="popover bottom in fade m-header-set m-header-beep" ng-show="menus.beepMessage" ng-click="$event.stopPropagation()"> <div class="arrow m-sm-arrow"></div> <div ng-scrollbar scrollbar-x="false" scrollbar-y="true" resize-manual="{{BM.resizeBeep}}" scrollbar-config="{show:true,autoResize: true, dragSpeed: 1,onAnimation:true}" ng-show="BM.list.length > 0"> <div ng-repeat="t in BM.list" class="m-sm-item"> <div class="type"> <i class="m-icon-event"></i> </div> <span class="message m-ellipsis" di-title="{{t.message}}">{{t.message}}</span> <span class="time">{{t.time}}</span> </div> </div> <div class="m-no-message" ng-hide="BM.list.length > 0"> <span translate="com.NoMessage"></span> </div> </div> </li> <li ng-show="bLogined"> <a class="m-n-i-task" di-title="{{'com.Task'|translate}}" ng-click="showMenu('backgroundTask',$event)"> <span class="badge badge-nav badge-warning" ng-show="task.list.length>0">{{task.list.length|badge}}</span> </a> <div class="popover bottom in fade m-header-set m-header-task" ng-show="menus.backgroundTask"> <div class="arrow m-task-arrow"></div> <div class="addtab" ng-click="$event.stopPropagation()"> <div class="m-task-filter" ng-click="task.setFilter($event)"> <a ng-class="{select:task.selType ==-1}" translate="com.All">All</a> <a ng-class="{select:task.selType == 1}" translate="com.Runing">Run</a> <a ng-class="{select:task.selType == 0}" translate="com.Wait">Wait</a> </div> <div class="notifyArea" ng-scrollbar scrollbar-x="false" scrollbar-y="true" resize-manual="{{task.resizeManual}}" scrollbar-config="{show:true,autoResize: true, dragSpeed: 1,onAnimation:true}"> <div ng-repeat="t in task.list track by $index" class="m-task-item" ng-show="task.selType == -1 ||task.selType == t.state"> <div class="type"> <i class="{{t.class}}"></i> </div> <span class="name" di-title="{{t.name}}">{{t.name}}</span> <div class="running"> <i class="m-icon-waiting"></i> </div> <span class="progress-val">{{t.progress}}</span> <div class="task-action"> <i class="task-detail m-n-i-info" ng-show="false"></i> <i class="task-cancel m-icon-delete" ng-show="t.support[1]" ng-click="task.stop(t,$index)"></i> </div> <span class="detail text-overflow-nowrap" di-title="{{t.detail}}">{{t.detail}}</span> </div> </div> <div class="m-no-message" ng-hide="task.list.length > 0"> <span translate="com.NoTask">NoTask</span> </div> </div> </div> </li> <li ng-if="screenData.isSonia" class="m-header-sreen"> <a ng-click="showMenu('screenMenu',$event,false,true)" class="{{screenData.screenIcon}}"></a> <div id="o-screen" class="popover bottom in fade m-header-sreenadd" ng-show="menus.screenMenu && screenData.number==1"> <div class="arrow"></div> <div class="addtab" ng-click="$event.stopPropagation()"> <div class="title m-header-sreentit"> <label class="m-licon-display"></label> </div> <div class="content m-header-sreenctx"> <div class="m-header-sreendiv" ng-repeat="oneOut in screenData.sOutput | filter: {isMonitorConnected:true} | orderBy:'showText'"> <div class="screen-live-videooutput" ng-class="{'screen-online-enable':oneOut.isMonitorConnected && oneOut.bEnable, 'screen-online-disable':oneOut.isMonitorConnected && !oneOut.bEnable, 'screen-offline':!oneOut.isMonitorConnected}"> {{oneOut.showText}}</div> <label class="screen-footer" ng-bind="oneOut.sBindType"></label> <div class="m-switch m-ml-10" ng-model="oneOut.bEnable" callback="callbackIntel(bHasActive)" btn-checkbox btn-checkbox-true="true" btn-checkbox-false="false" ng-disabled="oneOut.id===0||!oneOut.isMonitorConnected" ng-click="screenData.setConfig();"><i></i></div> </div> </div> </div> </div> </li> <li ng-show="bSupportMultiScreenSet"> <span class="m-prev-line">|</span> <a class="m-icon-set" id="nav_enterSet" di-title="{{'com.Set'|translate}}" ng-click="showMenu('appMenu',$event,true)"></a> </li> <li> <span class="m-prev-line">|</span> <a class="m-icon-user" di-title="{{'com.UserInfo'|translate}}" ng-click="showMenu('userMenu',$event)"></a> <div class="popover bottom in fade m-header-menu" ng-show="menus.userMenu"> <div class="arrow"></div> <ul class="m-contextmenu" ng-mousedown="$event.stopPropagation()"> <li><span class="m-fw-bold" ng-bind="showUserTip"></span></li> <li class="bottomline m-ml-0"></li> <li ng-click="changePassword()"> <i class="m-icon-modify"><span class="" translate="com.ModifyPassword">Modify Password</span></i> </li> <li ng-click="lock()"> <i class="m-n-i-lock"><span translate="com.Lock">Lock</span></i> </li> <li class="bottomline"></li> <li ng-click="logout()"> <i class="m-icon-logout"><span translate="com.Logout">Logout</span></i> </li> <li ng-click="SM.state.isUpgrade || reboot()" ng-show="autoMaintainAuth&&bSupportMultiScreenSet" ng-style="{'pointer-events':SM.state.isUpgrade ? 'none' : 'auto'}"> <i class="m-n-i-reboot" ng-class="{'m-n-i-grayreboot': SM.state.isUpgrade}"><span translate="com.DoReboot" ng-class="{'m-disabled': SM.state.isUpgrade}">Reboot</span></i> </li> <li ng-click="SM.state.isUpgrade || shutdown()" ng-show="autoMaintainAuth&&bSupportMultiScreenSet" ng-style="{'pointer-events':SM.state.isUpgrade ? 'none' : 'auto'}"> <i class="m-n-i-shutdown" ng-class="{'m-n-i-grayshutdown': SM.state.isUpgrade}"><span translate="com.Shutdown" ng-class="{'m-disabled': SM.state.isUpgrade}">Shutdown</span></i> </li> </ul> </div> </li> <li ng-show="isEVS && storeCfgAuth && !hideGuide"> <span class="m-prev-line">|</span> <a class="m-n-i-location" di-title="{{'com.Quickconfig'|translate}}" ng-click="showMenu('guideMenu',$event)"></a> <div class="popover bottom in fade m-header-menu" ng-show="menus.guideMenu"> <div class="arrow"></div> <ul class="m-contextmenu" ng-mousedown="$event.stopPropagation()"> <li ng-click="onGuideVideo()" ng-hide="vm.caps.isHideVideoGuide"> <i class="m-icon-video"><span translate="com.VideoGuide"></span></i> </li> <li ng-click="onGuideIPSAN()" ng-hide="isHideIPSAN"> <i class="m-icon-hotspare"><span translate="IP SAN"></span></i> </li> </ul> </div> </li> </ul> </form> </div> </div> </nav> </div> <div class="container-fluid m-container-box" ng-class="{'m-t-0':isFullScreen}" id="o_main_container"> <div class="row m-row-box" ng-class="{'m-set-bg':curPage==='set'}"> <div class="m-h-100p" ng-include="liveFilesrc" ng-show="isShow('live')"></div> <div class="m-h-100p" ng-include="playbackFilesrc" ng-show="isShow('playback')"></div> <div class="m-h-100p" ng-show="isShow('set')"> <div ui-view class="m-h-100p"></div> </div> </div> <div class="m-alert"> <div alert dismiss-on-timeout="6000" ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg|translate}}</div> </div> </div> </div> </div> <div ng-cloak ng-show="eventList.show"> <div id="event-point" ng-show="eventList.status==0" ng-click="eventList.eventPointClick($event)" ng-mousedown="eventList.onMouseDown($event)" ng-mousemove="eventList.onMouseMove($event)" style="top: {{eventList.top}}px;"> <a class="m-icon-event"></a> <label>{{eventList.list.length}}</label> </div> <div id="event-con"> <div class="event-list" ng-if="eventList.status>0" ng-mouseleave="eventList.eventMouseLeave($event)" ng-mouseenter="eventList.eventMouseEnter($event)"> <div class="bar"> <div class="nail" ng-class="{'m-icon-nail-bg':eventList.status===2}" ng-click="eventList.eventNailClick($event)"> <a class="m-icon-nail"></a> </div> <span></span> <a class="m-icon-event"></a> <label>{{eventList.list.length}}</label> <a class="m-icon-event"></a> <a class="m-icon-event"></a> <i class="m-icon-closeEx pull-right" ng-click="eventList.eventNailClose($event)"></i> </div> <div class="list" style="max-height:{{eventList.maxHeight}}px;" ng-scrollbar scrollbar-x="false" scrollbar-y="true"> <table> <tr ng-repeat="et in eventList.list" ng-click="eventList.eventClick($event,$index)" ng-class="{'selected':eventList.sel==$index}"> <td class="icon"> <i ng-class="{true:'m-n-i-{{et.dev}}-w-sel',false:'m-n-i-{{et.dev}}-w'}[eventList.sel==$index]"> </td> <td class="name"><span class="text-overflow-ellipsis" di-title="{{et.title}}">{{et.name}}</span></td> <td class="time">{{et.time}}</td> <td class="type" di-title="{{et.typeTitle}}">{{et.type}}</td> <td class="confim"> <a class="m-icon-confim" ng-click="eventList.eventConfim($event,$index)"></a> </td> </tr> </table> </div> </div> </div> </div> <div ng-cloak id="app-download" ng-if="!appExe.isHide && showLogin"> <div class="m-o-i-downloadClient app-download-icon" ng-click="appExe.download()" ng-click="appExe.download()"></div> <a class="download-btn" ng-click="appExe.download()">{{"com.DownloadApp5"|translate}}</a> <a class="m-n-i-blackForkDelete delete-dowload-block" ng-click="appExe.hide()"></a> </div> <div ng-cloak id="app-download-login" ng-if="!appExe.isHide && !showLogin"> <span>{{"com.DownloadApp1"|translate}}<a id="app-dlBtn" ng-click="appExe.download()">“{{"com.DownloadApp2"|translate}}”</a>{{"com.DownloadApp3"|translate}}<a ng-click="appExe.run()">“{{"com.DownloadApp4"|translate}}”</a></span> <a class="m-n-i-delete" ng-click="appExe.hide()"></a> </div> <div id="o_mask" ng-click="maskClick($event)"></div> <div id="o_mask_loading"> <div class="text-align-center position-middle"> <div class="icon-mask-loading inline-block"></div> <div class="" id="o_mask_loading_content"></div> </div> </div> <div id="o_mask_loading_1"> <div class="text-align-center position-middle"> <div class="icon-mask-loading inline-block"></div> <div class="" translate="com.PageLoading"></div> </div> </div> <div ng-controller="addFaceToLibController"> <di-add-face-to-lib ng-if="vm.showDialog" info="vm"></di-add-face-to-lib> </div> <div ng-controller="addVehicleToLibController"> <di-add-vehicle-to-lib ng-if="vm.showDialog" info="vm"></di-add-vehicle-to-lib> </div> <div ng-controller="addClothToLibController"> <di-add-cloth-to-lib ng-if="vm.showDialog" info="vm"></di-add-cloth-to-lib> </div> <div ng-controller="playerController"> <di-player ng-if="vm.showDialog" info="vm"></di-player> </div> <div ng-controller="exportVideoController"> <di-export-video ng-if="vm.showDialog" info="vm"></di-export-video> </div> <div ng-controller="picSearchController"> <di-pic-search ng-if="vm.showDialog" info="vm"></di-pic-search> </div> <div ng-controller="picShowController"> <di-pic-show ng-if="vm.showDialog" info="vm"></di-pic-show> </div> <script> function oStart() {
            // X光机出现过没有ready事件导致无法进入预览，IVSS稳定性出现一次屏1屏3正常，屏2不显示登陆页面
            // 增加异常处理：在5分钟内没收收到ready事件，重新加载web
            var timer = setTimeout(function() {
              location.reload();
            }, 5*60*1000);
  
            jQuery(document).ready(function () {
                clearTimeout(timer);
                jQuery('#o_welcome').fadeOut(500, function () {
                    jQuery('#o_main').show();
                    clipBoard();
                });
            });
        }
  
        function clipBoard() {
            //只有浏览器端才需要该操作
            if (navigator.userAgent.toLowerCase().indexOf('qtweb') !== -1) {
                return;
            }
            var clipboard;
            if (document.queryCommandSupported('copy')) {
                clipboard = new Clipboard('#app-dlBtn', { // jshint ignore:line
                    text: function () {
                        return window.g_APP_Info.Win.URLProtocolID + '://' + location.href;
                    }
                });
                clipboard.on('success', function () {
                    console.log('success');
                }).on('error', function () {
                    console.log('error');
                });
            } else {
                clipboard = new ZeroClipboard(jQuery('#app-dlBtn')); // jshint ignore:line
                clipboard.on('ready', function () {
                    // console.log('ready', this)
                    clipboard.setText(window.g_APP_Info.Win.URLProtocolID + '://' + location.href);
                    clipboard.on('aftercopy', function (ev) {
                        console.log(ev.data);
                    });
                });
            }
        }
  
        function isSupportBrowser() {
            if (navigator.appName == 'Microsoft Internet Explorer') {
                if (parseInt(navigator.appVersion.split(';')[1].replace(/[ ]/g, '').replace('MSIE', '')) < 9) {
                    return false;
                } else {
                    return true;
                }
            } else {
                return true;
            }
        }
        isSupportBrowser() && oStart();
  
        var times = new Date().getTime();
  
        // appinfo包含IVSS软件的文件名，升级新版本后，点击下载APP，会出现APP无法下载的问题，因为appInfo.js缓存了老的版本。
        // 改用write的方式，文件名后增加时间戳解决。
        document.write('<script type="text\/javascript" src="\/client\/appInfo.js?' + times + '"><\/script>');
        document.write('<script type="text\/javascript" src="\/version.js?' + times + '"><\/script>');
  
        document.write('<script type="text\/javascript" src="\/config\/config.js?' + times + '"><\/script>');
        document.write('<script type="text\/javascript" src="\/page\/merge.js?' + times + '"><\/script>'); </script> </body> </html> 
services.body_hash_sha1: sha1:07b05d2ac3a565c074f45468ce271c816b3cd8ed
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-28T00:53:42.691399
services.banner: HTTP/1.1 200 OK
  CONNECTION: close
  Date:  <REDACTED>
  Last-Modified: Mon, 27 Sep 2021 03:58:42 GMT
  Etag: "1632715122:4bf4"
  CONTENT-LENGTH: 19444
  X-Frame-Options: SAMEORIGIN
  Strict-Transport-Security: max-age=604800; includeSubDomains
  X-XSS-Protection: 1;mode=block
  Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval'
  X-Content-Type-Options: nosniff
  CONTENT-TYPE: text/html
  
services.value: angularjs
services.value: jquery
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-28T00:53:42.691399
services.uri: http://116.11.221.59:8011/
services.protocol: HTTP/1.1
services.status_reason: OK
services.key: Last-Modified
services.headers: Mon, 27 Sep 2021 03:58:42 GMT
services.key: Strict-Transport-Security
services.headers: max-age=604800; includeSubDomains
services.key: CONTENT-LENGTH
services.headers: 19444
services.key: X-Frame-Options
services.headers: SAMEORIGIN
services.key: CONNECTION
services.headers: close
services.key: Content-Security-Policy
services.headers: script-src 'self' 'unsafe-inline' 'unsafe-eval'
services.key: X-Content-Type-Options
services.headers: nosniff
services.key: CONTENT-TYPE
services.headers: text/html
services.key: Date
services.headers: <REDACTED>
services.key: X-XSS-Protection
services.headers: 1;mode=block
services.key: Etag
services.headers: "1632715122:4bf4"
services.html_tags: <title>WEB SERVICE</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="description" content=""> <meta name="author" content=""> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate"> <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:00:00 GMT">
services.body: <!DOCTYPE html> <html lang="zh" ng-app="ivss"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="description" content=""> <meta name="author" content=""> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate"> <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:00:00 GMT"> <link rel="icon" href="../../favicon.ico"> <title>WEB SERVICE</title> <link href="vendor/ui-bootstrap/css/bootstrap.css?143250" rel="stylesheet"> <link href="styles/css/main.css?143250" rel="stylesheet"> <link href="component/css/main.css?143250" rel="stylesheet"> <link href="styles/css/4k.css?143250" rel="stylesheet"> <link href="component/css/4kcom.css?143250" rel="stylesheet"> <!--[if lt IE 9]>
        <script src="vendor/es5-shim.js"></script>
        <script src="vendor/html5shiv.js"></script>
        <script src="vendor/respond.js"></script>
      <![endif]--> <script src="debug/testPage.js?143250"></script> <script src="vendor/jquery.js?143250"></script> <script src="vendor/jquery.ui.js?143250"></script> <script src="vendor/angular.js?143250"></script> <script src="vendor/base64.js?143250"></script> <script src="./config/custom.js?143250"></script> <script src="./config/default.js?143250"></script> <script src="./config/product.js?143250"></script> <script src="./region.js"></script> </head> <body ng-controller="LoginController"> <div class="m-loginbg" id="o_bg"> <img src="logo/loginbg.jpg?143250"> </div> <div id="o_welcome"> <div class="m-logo-welcome"></div> </div> <div style="background-image: url('/image/top-icons.png?143250');"></div> <input type="password" style="width: 1px; height: 1px; position: absolute; border: 0px; padding: 0px;"> <div id="o_main" style="display:none"> <div ng-include="'page/login/deviceInitial.html?143250'"></div> <div ng-if="pswdReset" ng-include="'page/login/forgotPassword.html?143250'"></div> <div ng-if="showLogin && !bSupportGB35114" ng-include="'page/login/login.html?143250'"></div> <div ng-if="showLogin && bSupportGB35114" ng-include="'page/login/loginUShield.html?143250'"></div> <div ng-hide="showLogin"> <div class="m-top-box" ng-controller="headerNavController" ng-hide="isFullScreen"> <nav class="navbar navbar-fixed-top"> <div class="container-fluid m-header"> <div class="navbar-header m-header-left"> <a ng-hide="isSet" class="m-logo-live-title" ng-class="{'m-width-230': bMD}" href="javascript:;"></a> <div ng-show="isSet && !guideData.isGuideMenu" id="nav_exitSet" ng-click="exitSet()" class="m-exitset"> <i class="m-icon-back m-mt-10"><span translate="com.ExitSet"></span></i> </div> </div> <div id="navbar" class="m-navbar m-clear"> <i class="m-n-i-pullLeft m-float-l m-mt-10" ng-click="slideTab('left')" ng-show="vm.showSlideBtn"></i> <ul class="nav m-header-tab navbar-nav m-header-slide" ui-sortable ng-model="tabs.data" id="m_header_slide_tab"> <li ng-repeat="tab in tabs.data" class="clearboth"> <i ng-if="(!isEVS && tab.name!=='ailive') || (isEVS && tab.name!=='operation')" class="m-sicon-close tclose" ng-click="closeTab($index)"></i> <a href="javascript:;" ng-class="{current: curPage==tab.name}" ng-click="showPage(tab.name)" translate="{{tab.str}}"></a> </li> </ul> <i class="m-n-i-pullRight m-float-l m-mt-10" ng-click="slideTab('right')" ng-show="vm.showSlideBtn"></i> <ul class="nav navbar-nav" ng-hide="guideData.isGuideMenu || (!isSet && !vm.caps.bSupportAddApp)"> <li> <a href="javascript:;" class="m-icon-add m-width-30" ng-click="showMenu('appMenu',$event)" id="nav_add"></a> <div class="popover bottom in fade m-header-add" ng-show="menus.appMenu"> <div class="arrow m-l-10p"></div> <div class="addtab"> <div class="title m-header-sreentit"> <span class="m-licon-applications"></span> </div> <div class="content"> <div class="m-appdiv" ng-repeat="app in apps.data | filter:{show:true}" ng-click="showPage(app.name)"> <div ng-class="app.aclass"></div> <span translate="{{app.str}}"></span> </div> </div> </div> </div> </li> </ul> <form class="navbar-form navbar-right" ng-hide="hideRightNav"> <ul class="nav navbar-nav m-ctrlbar"> <li ng-show="bLogined"> <a class="m-icon-system-message" di-title="{{'com.SystemInfo'|translate}}" ng-click="showMenu('systemMessage',$event)"> <span class="badge badge-nav badge-warning" ng-show="SM.list.length>0">{{SM.list.length|badge}}</span> </a> <div class="popover bottom in fade m-header-set" id="m-header-sm" ng-show="menus.systemMessage" ng-click="$event.stopPropagation()"> <div class="arrow m-sm-arrow"></div> <div class="m-sm-filter" ng-click="SM.setFilter($event)"> <a ng-class="{select:SM.selType ==-1}" translate="com.All">All</a> <a ng-class="{select:SM.selType == 0}" translate="com.SystemError">Error</a> <a ng-class="{select:SM.selType == 1}" translate="com.SystemWarn">Warn</a> <a ng-class="{select:SM.selType == 2}" translate="com.SystemInfo">Info</a> </div> <div class="addtab" ng-scrollbar scrollbar-x="false" scrollbar-y="true" resize-manual="{{SM.resizeManual}}" scrollbar-config="{show:true,autoResize: true, dragSpeed: 1,onAnimation:true}" ng-show="SM.list.length > 0"> <div ng-repeat="t in SM.list" class="m-sm-item" ng-show="SM.selType == -1 ||SM.selType == t.type"> <div class="type"> <i ng-class="{'m-icon-redsign':t.type == 0,'m-icon-event':t.type == 1,'m-o-i-info':t.type == 2}"></i> </div> <span class="message text-overflow-ellipsis" di-title="{{t.message}}">{{t.message}}</span> <span class="time">{{t.time}}</span> <div class="sm-action" ng-click="SM.confim($event,$index)"> <i class="m-icon-delete"></i> </div> </div> </div> <div class="m-no-message" ng-hide="SM.list.length > 0"> <span translate="com.NoMessage">NoMessage</span> </div> <div class="m-sm-footbar"> <div class="sm-more" ng-show="false"> <span translate="com.More">More</span> <i class="m-icon-lastpageforward"></i> </div> <button class="m-btn-icon red" ng-click="SM.clearAll()"> <i class="m-icon-delete"></i> <span translate="com.Empty">Empty</span> </button> </div> </div> </li> <li ng-show="bShowBeepEvent && bLogined"> <a class="m-n-i-beep" di-title="{{'com.Beep'|translate}}" ng-click="showMenu('beepMessage',$event)"> <span class="badge badge-nav badge-warning" ng-show="BM.list.length>0">{{BM.list.length|badge}}</span> </a> <div class="popover bottom in fade m-header-set m-header-beep" ng-show="menus.beepMessage" ng-click="$event.stopPropagation()"> <div class="arrow m-sm-arrow"></div> <div ng-scrollbar scrollbar-x="false" scrollbar-y="true" resize-manual="{{BM.resizeBeep}}" scrollbar-config="{show:true,autoResize: true, dragSpeed: 1,onAnimation:true}" ng-show="BM.list.length > 0"> <div ng-repeat="t in BM.list" class="m-sm-item"> <div class="type"> <i class="m-icon-event"></i> </div> <span class="message m-ellipsis" di-title="{{t.message}}">{{t.message}}</span> <span class="time">{{t.time}}</span> </div> </div> <div class="m-no-message" ng-hide="BM.list.length > 0"> <span translate="com.NoMessage"></span> </div> </div> </li> <li ng-show="bLogined"> <a class="m-n-i-task" di-title="{{'com.Task'|translate}}" ng-click="showMenu('backgroundTask',$event)"> <span class="badge badge-nav badge-warning" ng-show="task.list.length>0">{{task.list.length|badge}}</span> </a> <div class="popover bottom in fade m-header-set m-header-task" ng-show="menus.backgroundTask"> <div class="arrow m-task-arrow"></div> <div class="addtab" ng-click="$event.stopPropagation()"> <div class="m-task-filter" ng-click="task.setFilter($event)"> <a ng-class="{select:task.selType ==-1}" translate="com.All">All</a> <a ng-class="{select:task.selType == 1}" translate="com.Runing">Run</a> <a ng-class="{select:task.selType == 0}" translate="com.Wait">Wait</a> </div> <div class="notifyArea" ng-scrollbar scrollbar-x="false" scrollbar-y="true" resize-manual="{{task.resizeManual}}" scrollbar-config="{show:true,autoResize: true, dragSpeed: 1,onAnimation:true}"> <div ng-repeat="t in task.list track by $index" class="m-task-item" ng-show="task.selType == -1 ||task.selType == t.state"> <div class="type"> <i class="{{t.class}}"></i> </div> <span class="name" di-title="{{t.name}}">{{t.name}}</span> <div class="running"> <i class="m-icon-waiting"></i> </div> <span class="progress-val">{{t.progress}}</span> <div class="task-action"> <i class="task-detail m-n-i-info" ng-show="false"></i> <i class="task-cancel m-icon-delete" ng-show="t.support[1]" ng-click="task.stop(t,$index)"></i> </div> <span class="detail text-overflow-nowrap" di-title="{{t.detail}}">{{t.detail}}</span> </div> </div> <div class="m-no-message" ng-hide="task.list.length > 0"> <span translate="com.NoTask">NoTask</span> </div> </div> </div> </li> <li ng-if="screenData.isSonia" class="m-header-sreen"> <a ng-click="showMenu('screenMenu',$event,false,true)" class="{{screenData.screenIcon}}"></a> <div id="o-screen" class="popover bottom in fade m-header-sreenadd" ng-show="menus.screenMenu && screenData.number==1"> <div class="arrow"></div> <div class="addtab" ng-click="$event.stopPropagation()"> <div class="title m-header-sreentit"> <label class="m-licon-display"></label> </div> <div class="content m-header-sreenctx"> <div class="m-header-sreendiv" ng-repeat="oneOut in screenData.sOutput | filter: {isMonitorConnected:true} | orderBy:'showText'"> <div class="screen-live-videooutput" ng-class="{'screen-online-enable':oneOut.isMonitorConnected && oneOut.bEnable, 'screen-online-disable':oneOut.isMonitorConnected && !oneOut.bEnable, 'screen-offline':!oneOut.isMonitorConnected}"> {{oneOut.showText}}</div> <label class="screen-footer" ng-bind="oneOut.sBindType"></label> <div class="m-switch m-ml-10" ng-model="oneOut.bEnable" callback="callbackIntel(bHasActive)" btn-checkbox btn-checkbox-true="true" btn-checkbox-false="false" ng-disabled="oneOut.id===0||!oneOut.isMonitorConnected" ng-click="screenData.setConfig();"><i></i></div> </div> </div> </div> </div> </li> <li ng-show="bSupportMultiScreenSet"> <span class="m-prev-line">|</span> <a class="m-icon-set" id="nav_enterSet" di-title="{{'com.Set'|translate}}" ng-click="showMenu('appMenu',$event,true)"></a> </li> <li> <span class="m-prev-line">|</span> <a class="m-icon-user" di-title="{{'com.UserInfo'|translate}}" ng-click="showMenu('userMenu',$event)"></a> <div class="popover bottom in fade m-header-menu" ng-show="menus.userMenu"> <div class="arrow"></div> <ul class="m-contextmenu" ng-mousedown="$event.stopPropagation()"> <li><span class="m-fw-bold" ng-bind="showUserTip"></span></li> <li class="bottomline m-ml-0"></li> <li ng-click="changePassword()"> <i class="m-icon-modify"><span class="" translate="com.ModifyPassword">Modify Password</span></i> </li> <li ng-click="lock()"> <i class="m-n-i-lock"><span translate="com.Lock">Lock</span></i> </li> <li class="bottomline"></li> <li ng-click="logout()"> <i class="m-icon-logout"><span translate="com.Logout">Logout</span></i> </li> <li ng-click="SM.state.isUpgrade || reboot()" ng-show="autoMaintainAuth&&bSupportMultiScreenSet" ng-style="{'pointer-events':SM.state.isUpgrade ? 'none' : 'auto'}"> <i class="m-n-i-reboot" ng-class="{'m-n-i-grayreboot': SM.state.isUpgrade}"><span translate="com.DoReboot" ng-class="{'m-disabled': SM.state.isUpgrade}">Reboot</span></i> </li> <li ng-click="SM.state.isUpgrade || shutdown()" ng-show="autoMaintainAuth&&bSupportMultiScreenSet" ng-style="{'pointer-events':SM.state.isUpgrade ? 'none' : 'auto'}"> <i class="m-n-i-shutdown" ng-class="{'m-n-i-grayshutdown': SM.state.isUpgrade}"><span translate="com.Shutdown" ng-class="{'m-disabled': SM.state.isUpgrade}">Shutdown</span></i> </li> </ul> </div> </li> <li ng-show="isEVS && storeCfgAuth && !hideGuide"> <span class="m-prev-line">|</span> <a class="m-n-i-location" di-title="{{'com.Quickconfig'|translate}}" ng-click="showMenu('guideMenu',$event)"></a> <div class="popover bottom in fade m-header-menu" ng-show="menus.guideMenu"> <div class="arrow"></div> <ul class="m-contextmenu" ng-mousedown="$event.stopPropagation()"> <li ng-click="onGuideVideo()" ng-hide="vm.caps.isHideVideoGuide"> <i class="m-icon-video"><span translate="com.VideoGuide"></span></i> </li> <li ng-click="onGuideIPSAN()" ng-hide="isHideIPSAN"> <i class="m-icon-hotspare"><span translate="IP SAN"></span></i> </li> </ul> </div> </li> </ul> </form> </div> </div> </nav> </div> <div class="container-fluid m-container-box" ng-class="{'m-t-0':isFullScreen}" id="o_main_container"> <div class="row m-row-box" ng-class="{'m-set-bg':curPage==='set'}"> <div class="m-h-100p" ng-include="liveFilesrc" ng-show="isShow('live')"></div> <div class="m-h-100p" ng-include="playbackFilesrc" ng-show="isShow('playback')"></div> <div class="m-h-100p" ng-show="isShow('set')"> <div ui-view class="m-h-100p"></div> </div> </div> <div class="m-alert"> <div alert dismiss-on-timeout="6000" ng-repeat="alert in alerts" type="{{alert.type}}" close="closeAlert($index)">{{alert.msg|translate}}</div> </div> </div> </div> </div> <div ng-cloak ng-show="eventList.show"> <div id="event-point" ng-show="eventList.status==0" ng-click="eventList.eventPointClick($event)" ng-mousedown="eventList.onMouseDown($event)" ng-mousemove="eventList.onMouseMove($event)" style="top: {{eventList.top}}px;"> <a class="m-icon-event"></a> <label>{{eventList.list.length}}</label> </div> <div id="event-con"> <div class="event-list" ng-if="eventList.status>0" ng-mouseleave="eventList.eventMouseLeave($event)" ng-mouseenter="eventList.eventMouseEnter($event)"> <div class="bar"> <div class="nail" ng-class="{'m-icon-nail-bg':eventList.status===2}" ng-click="eventList.eventNailClick($event)"> <a class="m-icon-nail"></a> </div> <span></span> <a class="m-icon-event"></a> <label>{{eventList.list.length}}</label> <a class="m-icon-event"></a> <a class="m-icon-event"></a> <i class="m-icon-closeEx pull-right" ng-click="eventList.eventNailClose($event)"></i> </div> <div class="list" style="max-height:{{eventList.maxHeight}}px;" ng-scrollbar scrollbar-x="false" scrollbar-y="true"> <table> <tr ng-repeat="et in eventList.list" ng-click="eventList.eventClick($event,$index)" ng-class="{'selected':eventList.sel==$index}"> <td class="icon"> <i ng-class="{true:'m-n-i-{{et.dev}}-w-sel',false:'m-n-i-{{et.dev}}-w'}[eventList.sel==$index]"> </td> <td class="name"><span class="text-overflow-ellipsis" di-title="{{et.title}}">{{et.name}}</span></td> <td class="time">{{et.time}}</td> <td class="type" di-title="{{et.typeTitle}}">{{et.type}}</td> <td class="confim"> <a class="m-icon-confim" ng-click="eventList.eventConfim($event,$index)"></a> </td> </tr> </table> </div> </div> </div> </div> <div ng-cloak id="app-download" ng-if="!appExe.isHide && showLogin"> <div class="m-o-i-downloadClient app-download-icon" ng-click="appExe.download()" ng-click="appExe.download()"></div> <a class="download-btn" ng-click="appExe.download()">{{"com.DownloadApp5"|translate}}</a> <a class="m-n-i-blackForkDelete delete-dowload-block" ng-click="appExe.hide()"></a> </div> <div ng-cloak id="app-download-login" ng-if="!appExe.isHide && !showLogin"> <span>{{"com.DownloadApp1"|translate}}<a id="app-dlBtn" ng-click="appExe.download()">“{{"com.DownloadApp2"|translate}}”</a>{{"com.DownloadApp3"|translate}}<a ng-click="appExe.run()">“{{"com.DownloadApp4"|translate}}”</a></span> <a class="m-n-i-delete" ng-click="appExe.hide()"></a> </div> <div id="o_mask" ng-click="maskClick($event)"></div> <div id="o_mask_loading"> <div class="text-align-center position-middle"> <div class="icon-mask-loading inline-block"></div> <div class="" id="o_mask_loading_content"></div> </div> </div> <div id="o_mask_loading_1"> <div class="text-align-center position-middle"> <div class="icon-mask-loading inline-block"></div> <div class="" translate="com.PageLoading"></div> </div> </div> <div ng-controller="addFaceToLibController"> <di-add-face-to-lib ng-if="vm.showDialog" info="vm"></di-add-face-to-lib> </div> <div ng-controller="addVehicleToLibController"> <di-add-vehicle-to-lib ng-if="vm.showDialog" info="vm"></di-add-vehicle-to-lib> </div> <div ng-controller="addClothToLibController"> <di-add-cloth-to-lib ng-if="vm.showDialog" info="vm"></di-add-cloth-to-lib> </div> <div ng-controller="playerController"> <di-player ng-if="vm.showDialog" info="vm"></di-player> </div> <div ng-controller="exportVideoController"> <di-export-video ng-if="vm.showDialog" info="vm"></di-export-video> </div> <div ng-controller="picSearchController"> <di-pic-search ng-if="vm.showDialog" info="vm"></di-pic-search> </div> <div ng-controller="picShowController"> <di-pic-show ng-if="vm.showDialog" info="vm"></di-pic-show> </div> <script> function oStart() {
            // X光机出现过没有ready事件导致无法进入预览，IVSS稳定性出现一次屏1屏3正常，屏2不显示登陆页面
            // 增加异常处理：在5分钟内没收收到ready事件，重新加载web
            var timer = setTimeout(function() {
              location.reload();
            }, 5*60*1000);
  
            jQuery(document).ready(function () {
                clearTimeout(timer);
                jQuery('#o_welcome').fadeOut(500, function () {
                    jQuery('#o_main').show();
                    clipBoard();
                });
            });
        }
  
        function clipBoard() {
            //只有浏览器端才需要该操作
            if (navigator.userAgent.toLowerCase().indexOf('qtweb') !== -1) {
                return;
            }
            var clipboard;
            if (document.queryCommandSupported('copy')) {
                clipboard = new Clipboard('#app-dlBtn', { // jshint ignore:line
                    text: function () {
                        return window.g_APP_Info.Win.URLProtocolID + '://' + location.href;
                    }
                });
                clipboard.on('success', function () {
                    console.log('success');
                }).on('error', function () {
                    console.log('error');
                });
            } else {
                clipboard = new ZeroClipboard(jQuery('#app-dlBtn')); // jshint ignore:line
                clipboard.on('ready', function () {
                    // console.log('ready', this)
                    clipboard.setText(window.g_APP_Info.Win.URLProtocolID + '://' + location.href);
                    clipboard.on('aftercopy', function (ev) {
                        console.log(ev.data);
                    });
                });
            }
        }
  
        function isSupportBrowser() {
            if (navigator.appName == 'Microsoft Internet Explorer') {
                if (parseInt(navigator.appVersion.split(';')[1].replace(/[ ]/g, '').replace('MSIE', '')) < 9) {
                    return false;
                } else {
                    return true;
                }
            } else {
                return true;
            }
        }
        isSupportBrowser() && oStart();
  
        var times = new Date().getTime();
  
        // appinfo包含IVSS软件的文件名，升级新版本后，点击下载APP，会出现APP无法下载的问题，因为appInfo.js缓存了老的版本。
        // 改用write的方式，文件名后增加时间戳解决。
        document.write('<script type="text\/javascript" src="\/client\/appInfo.js?' + times + '"><\/script>');
        document.write('<script type="text\/javascript" src="\/version.js?' + times + '"><\/script>');
  
        document.write('<script type="text\/javascript" src="\/config\/config.js?' + times + '"><\/script>');
        document.write('<script type="text\/javascript" src="\/page\/merge.js?' + times + '"><\/script>'); </script> </body> </html> 
services.body_hash_sha1: sha1:07b05d2ac3a565c074f45468ce271c816b3cd8ed
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T05:17:35.870943
services.banner: HTTP/1.1 404 
  Content-Type: text/html;charset=utf-8
  Content-Language: zh-CN
  Content-Length: 648
  Date:  <REDACTED>
  
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T05:17:35.870943
services.uri: http://116.11.221.59:8180/
services.protocol: HTTP/1.1
services.key: Content-Type
services.headers: text/html;charset=utf-8
services.key: Content-Language
services.headers: zh-CN
services.key: Content-Length
services.headers: 648
services.key: Date
services.headers: <REDACTED>
services.html_tags: <title>HTTP状态 404 - 未找到</title>
services.body: <!doctype html><html lang="zh"><head><title>HTTP状态 404 - 未找到</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP状态 404 - 未找到</h1><hr class="line" /><p><b>类型</b> 状态报告</p><p><b>描述</b> 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。</p><hr class="line" /><h3>Apache Tomcat/8.5.69</h3></body></html>
services.body_hash_sha1: sha1:8704129ecc684390035da21b74e6438e73b11d4e
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T09:04:30.691469
services.banner: HTTP/1.1 404 WebSocket Upgrade Failure
  Content-Type: text/html
  Server: TooTallNate Java-WebSocket
  Content-Length: 77
  
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T09:04:30.691469
services.uri: http://116.11.221.59:9002/
services.protocol: HTTP/1.1
services.status_reason: WebSocket Upgrade Failure
services.key: Content-Type
services.headers: text/html
services.key: Server
services.headers: TooTallNate Java-WebSocket
services.key: Content-Length
services.headers: 77
services.body: <html><head></head><body><h1>404 WebSocket Upgrade Failure</h1></body></html>
services.body_hash_sha1: sha1:6486e85f8d4bba4be5bd12e2283dae82f266e871
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T04:59:43.875053
services.banner: HTTP/1.1 404 WebSocket Upgrade Failure
  Content-Type: text/html
  Server: TooTallNate Java-WebSocket
  Content-Length: 77
  
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T04:59:43.875053
services.uri: http://116.11.221.59:9003/
services.protocol: HTTP/1.1
services.status_reason: WebSocket Upgrade Failure
services.key: Content-Type
services.headers: text/html
services.key: Server
services.headers: TooTallNate Java-WebSocket
services.key: Content-Length
services.headers: 77
services.body: <html><head></head><body><h1>404 WebSocket Upgrade Failure</h1></body></html>
services.body_hash_sha1: sha1:6486e85f8d4bba4be5bd12e2283dae82f266e871
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T16:02:22.973893
services.banner: HTTP/1.1 200 OK
  Date:  <REDACTED>
  Content-Length: 750
  Content-Type: text/html; charset=utf-8
  
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T16:02:22.973893
services.uri: http://116.11.221.59:29988/
services.protocol: HTTP/1.1
services.status_reason: OK
services.key: Date
services.headers: <REDACTED>
services.key: Content-Length
services.headers: 750
services.key: Content-Type
services.headers: text/html; charset=utf-8
services.html_tags: <title>BLE-AOA</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Pragma" contect="no-cache">
services.body: <!doctype html>
  <html>
  
  <head>
      <meta charset="utf-8">
      <title>BLE-AOA</title>
      <base href="/view/">
  
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <meta http-equiv="Pragma" contect="no-cache">
      <link rel="icon" type="image/x-icon" href="favicon.ico">
  </head>
  
  <body>
      <app-root></app-root>
  <script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="polyfills.bundle.js"></script><script type="text/javascript" src="scripts.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body>
  
  </html>
services.body_hash_sha1: sha1:99e65265aa98b582f289e3639f5b41d66ed648ac
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-28T04:13:14.359746
services.banner: HTTP/1.1 200 OK
  Date:  <REDACTED>
  Content-Type: text/html; charset=utf-8
  Server: Kestrel
  Cache-Control: no-cache, no-store
  Pragma: no-cache
  Transfer-Encoding: chunked
  Set-Cookie: .AspNetCore.Antiforgery.b8HentetMhk=CfDJ8GfSt78knUVDk81EOy6CE4IXpVEDRZoGFYxtCen-_h8V61zjuTZkxdzXMBbQIsp4GEbrMryhEZKW-q9cXSfofMMiFIKIUuVFOnatevERPig5JyZaZcWYbnK_FCnixv_B_yG6cqx1NRooQVZp5RT17rE; path=/; samesite=strict; httponly
  Access-Control-Allow-Headers: Content-Type, Accept, Authorization
  Access-Control-Allow-Origin: *
  X-Frame-Options: SAMEORIGIN
  
services.source: OSI_APPLICATION_LAYER
services.part: a
services.vendor: Microsoft
services.product: Kestrel web server
services.cpe: cpe:2.3:a:microsoft:kestrel_web_server:*:*:*:*:*:*:*:*
services.value: bootstrap
services.value: jquery
services.value: login-page
services.path: /Login
services.endpoint_type: HTTP
services.scan_time: 2025-07-28T04:13:14.359746
services.uri: http://116.11.221.59:37774/Login
services.protocol: HTTP/1.1
services.status_reason: OK
services.key: Access-Control-Allow-Origin
services.headers: *
services.key: Access-Control-Allow-Headers
services.headers: Content-Type, Accept, Authorization
services.key: Transfer-Encoding
services.headers: chunked
services.key: Server
services.headers: Kestrel
services.key: X-Frame-Options
services.headers: SAMEORIGIN
services.key: Cache-Control
services.headers: no-cache, no-store
services.key: Content-Type
services.headers: text/html; charset=utf-8
services.key: Pragma
services.headers: no-cache
services.key: Date
services.headers: <REDACTED>
services.key: Set-Cookie
services.headers: .AspNetCore.Antiforgery.b8HentetMhk=CfDJ8GfSt78knUVDk81EOy6CE4IXpVEDRZoGFYxtCen-_h8V61zjuTZkxdzXMBbQIsp4GEbrMryhEZKW-q9cXSfofMMiFIKIUuVFOnatevERPig5JyZaZcWYbnK_FCnixv_B_yG6cqx1NRooQVZp5RT17rE; path=/; samesite=strict; httponly
services.html_tags: <title>&#x767B;&#x5F55; - Web</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
services.body: 
  
  <!DOCTYPE html>
  <html>
  <head>
      <meta charset="utf-8" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <title>&#x767B;&#x5F55; - Web</title>
  
  
      <link rel="stylesheet" href="/lib/bootstrap/dist/css/bootstrap.css" />
      <link rel="stylesheet" href="/css/site.css" />
      <link rel="stylesheet" href="/css/layout.css" />
  
  
  
      <style type="text/css">
          body{
              /*background-image:url(/static/back.png?v=123456);*/
              /*background-size:cover;*/
          }
      </style>
  
  </head>
  <body>
      <input name="__RequestVerificationToken" type="hidden" value="CfDJ8GfSt78knUVDk81EOy6CE4LmPwsfn7u2e_rArqKX7PcySpCCLenI0zsfg0N2RMKjTh_0kiZqteUOaxtgUKu9JLaeDRZl_Vy205TKUTmRrWyURxtYQRxrXqSSKUT86705KA9aFxUReYfh8xdmJuEsOFU" />
  
      <div class="container" style="max-width:500px;">
  
          <div style="height:100px;"></div>
  
          <h2 class="text-center">&#x96F7;&#x7535;&#x9884;&#x8B66;&#x76D1;&#x6D4B;&#x5E73;&#x53F0;-&#x5E7F;&#x897F;&#x4E2D;&#x6CB9;&#x80FD;&#x6E90;&#x6709;&#x9650;&#x516C;&#x53F8;</h2>
          <div class="panel panel-default">
              <div class="panel-heading">
                  <h3 class="panel-title"><b>登录</b></h3>
              </div>
              <div class="panel-body">
                  <div>
                      <div class="form-group fg-user">
                          <label class="control-label">用户名</label>
                          <input type="text" class="form-control">
                          <p class="help-block"></p>
                      </div>
                      <div class="form-group fg-pwd">
                          <label class="control-label">密码</label>
                          <input type="password" class="form-control">
                          <p class="help-block"></p>
                      </div>
                      <div class="form-group text-right fg-savepwd">
                          <label class="control-label"><input type="checkbox">记住密码</label>
                      </div>
                      <p class="fg-msg text-danger"></p>
                      <button class="btn btn-primary btn-login" style="width:100%;"
                              data-loading-text="正在登录..."
                              data-url="/Login?handler=login"
                              data-redirect-url="/">
                      登录
                      </button>
                  </div>
              </div>
          </div>
      </div>
  
  
      <script src="/lib/jquery/dist/jquery.js"></script>
      <script src="/lib/bootstrap/dist/js/bootstrap.js"></script>
      <script src="/lib/js/md5.min.js"></script>
      <script src="/lib/js/aes_1.js"></script>
      <script src="/js/site.js"></script>
      <script src="/js/layout.js"></script>
      <script src="/js/login.js"></script>
  
  
  
      <script type="text/javascript">
  
          $(document).ready(function () {
  
              var random_sum = Math.random();
              $("body").css("background-image", "url(/static/back.png?" + random_sum + ")")
              $("body").css("background-size", "cover");
              //console.log("url(/static/back.png?" + random_sum + ")");
          });
  
          Login.init();
  
      </script>
  </body>
  </html>
  
  
  
services.name: http://116.11.221.59:37774/favicon.ico
services.body_hash_sha1: sha1:48400631d402a44a8612a8115ce6c02261f69bf1
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-28T08:10:40.697718
services.banner: HTTP/1.1 400 Bad Request
  Content-Type: text/plain; charset=utf-8
  Sec-Websocket-Version: 13
  X-Content-Type-Options: nosniff
  Date:  <REDACTED>
  Content-Length: 12
  
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-28T08:10:40.697718
services.uri: http://116.11.221.59:48300/
services.protocol: HTTP/1.1
services.status_reason: Bad Request
services.key: Sec-Websocket-Version
services.headers: 13
services.key: Content-Length
services.headers: 12
services.key: X-Content-Type-Options
services.headers: nosniff
services.key: Content-Type
services.headers: text/plain; charset=utf-8
services.key: Date
services.headers: <REDACTED>
services.body: Bad Request
  
services.body_hash_sha1: sha1:5c1a4a02f3681ad95fbfcef9ee56f62b37b9ab36
services.supported_versions: HTTP/1.1
services.protocol: UNKNOWN
services.transport_protocol: TCP
services.scan_time: 2025-07-28T03:00:33.392267
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-27T06:30:56.862214
services.banner: HTTP/1.1 400 Bad Request
  Content-Type: text/plain; charset=utf-8
  Sec-Websocket-Version: 13
  X-Content-Type-Options: nosniff
  Date:  <REDACTED>
  Content-Length: 12
  
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-27T06:30:56.862214
services.uri: http://116.11.221.59:48500/
services.protocol: HTTP/1.1
services.status_reason: Bad Request
services.key: Sec-Websocket-Version
services.headers: 13
services.key: Content-Length
services.headers: 12
services.key: X-Content-Type-Options
services.headers: nosniff
services.key: Content-Type
services.headers: text/plain; charset=utf-8
services.key: Date
services.headers: <REDACTED>
services.body: Bad Request
  
services.body_hash_sha1: sha1:5c1a4a02f3681ad95fbfcef9ee56f62b37b9ab36
services.supported_versions: HTTP/1.1
services.protocol: HTTP
services.transport_protocol: TCP
services.scan_time: 2025-07-28T05:02:26.410889
services.banner: HTTP/1.1 401 Unauthorized
  Content-Encoding: gzip
  Content-Type: application/json; charset=utf-8
  Date:  <REDACTED>
  Content-Length: 51
  
services.path: /
services.endpoint_type: HTTP
services.scan_time: 2025-07-28T05:02:26.410889
services.uri: http://116.11.221.59:49501/
services.protocol: HTTP/1.1
services.status_reason: Unauthorized
services.key: Content-Encoding
services.headers: gzip
services.key: Content-Type
services.headers: application/json; charset=utf-8
services.key: Date
services.headers: <REDACTED>
services.key: Content-Length
services.headers: 51
services.body: {"message":"认证失败"}
services.body_hash_sha1: sha1:c4b6055a54995ae1a23c2fcde2d10e14bee94279
services.supported_versions: HTTP/1.1
[binary data, 30 values, 918 bytes]