2022-02-14 22:22:31 +08:00
|
|
|
<template>
|
2022-02-22 15:59:30 +08:00
|
|
|
<div class="detection-detail-overview">
|
|
|
|
|
<div class="overview__left">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="overview__title">{{ $t('overall.remark') }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__content">
|
|
|
|
|
<template v-if="detection.securityType === 'command and control'">
|
|
|
|
|
<span
|
|
|
|
|
class="row__content--link"
|
|
|
|
|
@click="goDetail('ip', detection.victimIp)"
|
2022-03-24 16:46:05 +08:00
|
|
|
>{{ detection.victimIp }}</span>
|
2022-03-14 14:53:02 +08:00
|
|
|
<span>
|
2022-03-14 15:40:35 +08:00
|
|
|
{{$t('detection.commandAndControl')}}
|
2022-03-14 14:53:02 +08:00
|
|
|
</span>
|
2022-03-24 16:46:05 +08:00
|
|
|
<span class="row__content--link" @click="goDetail('ip', basicInfo.iocValue)">{{basicInfo.iocValue || '-'}}</span></template
|
2022-03-14 14:53:02 +08:00
|
|
|
>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<span
|
|
|
|
|
class="row__content--link"
|
|
|
|
|
@click="goDetail('ip', detection.victimIp)"
|
|
|
|
|
>{{ detection.victimIp }}</span
|
|
|
|
|
>
|
|
|
|
|
<span>
|
2022-03-14 15:40:35 +08:00
|
|
|
{{$t('detection.payloadAndDelivery')}}
|
2022-03-14 14:53:02 +08:00
|
|
|
</span>
|
2022-03-24 16:46:05 +08:00
|
|
|
<span class="row__content--link"
|
|
|
|
|
@click="goDetail('ip', basicInfo.iocValue)"
|
|
|
|
|
>{{
|
|
|
|
|
basicInfo.iocValue
|
|
|
|
|
}}</span></template>
|
2022-03-14 14:53:02 +08:00
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__title">Fields</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detection.list.startTime') }}</div>
|
|
|
|
|
<div class="row__content">
|
|
|
|
|
{{
|
|
|
|
|
basicInfo.startTime
|
2022-05-07 11:11:31 +08:00
|
|
|
? dateFormatByAppearance(basicInfo.startTime)
|
2022-03-14 14:53:02 +08:00
|
|
|
: '-'
|
|
|
|
|
}}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.victimIp') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.victimIp || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.victimLocation') }}</div>
|
|
|
|
|
<div class="row__content">
|
|
|
|
|
{{ basicInfo.victimLocationCountry || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.victimAsn') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.victimAsn || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.offenderIp') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.offenderIp || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.offenderLocation') }}</div>
|
|
|
|
|
<div class="row__content">
|
|
|
|
|
{{ basicInfo.offenderLocationCountry || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.offenderAsn') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.offenderAsn || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('overall.domain') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.domain || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('entities.domainCategory') }}</div>
|
|
|
|
|
<div class="row__content">
|
|
|
|
|
{{ basicInfo.domainCategoryName || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">
|
|
|
|
|
{{ $t('entities.domainDetail.categoryGroup') }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row__content">
|
|
|
|
|
{{ basicInfo.domainCategoryGroup || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('entities.reputationLevel') }}</div>
|
2022-02-22 22:22:15 +08:00
|
|
|
<div class="row__content">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div
|
|
|
|
|
class="row__tag"
|
2022-03-24 16:46:05 +08:00
|
|
|
:style="`background-color:${eventSeverityColor[basicInfo.domainReputationLevel]}`"
|
2022-03-14 14:53:02 +08:00
|
|
|
>
|
|
|
|
|
{{ basicInfo.domainReputationLevel || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 22:22:15 +08:00
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
|
|
|
|
<div class="row__label">APP</div>
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__content">{{ basicInfo.appName || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">APP {{ $t('entities.category') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.appCategory || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">APP {{ $t('entities.subcategory') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.appSubcategory || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
2022-02-22 22:22:15 +08:00
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('overall.appRisk') }}</div>
|
2022-02-22 22:22:15 +08:00
|
|
|
<div class="row__content">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div
|
|
|
|
|
class="row__tag"
|
|
|
|
|
:style="`background-color:${eventSeverityColor[basicInfo.appRisk]}`"
|
|
|
|
|
>
|
|
|
|
|
{{ basicInfo.appRisk || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 22:22:15 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.malware') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.malwareName || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.malwareAlias') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.malwareAlias || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.malwareDescription') }}</div>
|
|
|
|
|
<div class="row__content">
|
|
|
|
|
{{ basicInfo.malwareDescription || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.malwarePlatforms') }}</div>
|
|
|
|
|
<div class="row__content">{{ basicInfo.malwarePlatforms || '-' }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.malwareTechniques') }}</div>
|
|
|
|
|
<div class="row__content row__content--link">
|
|
|
|
|
{{ basicInfo.malwareTechniques || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.malwareGroups') }}</div>
|
|
|
|
|
<div class="row__content row__content--link">
|
|
|
|
|
{{ basicInfo.malwareGroups || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__label">{{ $t('detections.reference') }}</div>
|
|
|
|
|
<div class="row__content row__content--link">
|
|
|
|
|
{{ reference || '-' }}
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
2022-03-14 14:53:02 +08:00
|
|
|
<!-- <template v-if="detection.securityType === 'command and control' || detection.securityType === 'payload_delivery'">
|
2022-02-22 15:59:30 +08:00
|
|
|
</template>-->
|
|
|
|
|
</div>
|
|
|
|
|
<div class="overview__right">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="overview__title">{{ $t('detections.goToVictim') }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
<div class="overview__row">
|
2022-03-14 11:38:51 +08:00
|
|
|
<div class="row__content">
|
2022-03-14 14:53:02 +08:00
|
|
|
<span>{{ $t('detections.viewDetailOf') }}</span>
|
|
|
|
|
<span
|
|
|
|
|
class="row__content--link"
|
2022-03-17 18:02:33 +08:00
|
|
|
@click="goDetail('ip', basicInfo.victimIp)">{{ basicInfo.victimIp }}</span>
|
2022-03-14 14:53:02 +08:00
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="overview__title">{{ $t('detections.goToOffender') }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__content">
|
|
|
|
|
<span>{{ $t('detections.viewDetailOf') }}</span>
|
|
|
|
|
<span
|
|
|
|
|
class="row__content--link"
|
|
|
|
|
@click="goDetail('ip', basicInfo.offenderIp)"
|
|
|
|
|
>{{ basicInfo.offenderIp }}</span
|
2022-03-24 16:46:05 +08:00
|
|
|
>
|
2022-03-14 14:53:02 +08:00
|
|
|
<span
|
|
|
|
|
class="row__content--link"
|
|
|
|
|
@click="goDetail('domain', basicInfo.domain)"
|
|
|
|
|
>{{ basicInfo.domain }}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="overview__title">{{ $t('detections.goToHunt') }}</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
<div class="overview__row">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div class="row__content row__content--link">
|
|
|
|
|
{{ $t('detections.viewAllRelated') }}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="overview__title">
|
|
|
|
|
{{ $t('detections.relatedDetections') }}
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
2022-02-22 18:21:57 +08:00
|
|
|
<div class="overview__row-timeline">
|
|
|
|
|
<div class="row-timeline" v-for="event in events" :key="event">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div
|
|
|
|
|
class="row-timeline__time-info"
|
|
|
|
|
:style="
|
|
|
|
|
event.startTime === basicInfo.startTime
|
|
|
|
|
? 'color: #333;font-weight: bold;'
|
|
|
|
|
: ''
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
{{ formatT0(event) }}
|
|
|
|
|
</div>
|
2022-02-22 18:21:57 +08:00
|
|
|
<div class="row-timeline__line">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div
|
|
|
|
|
class="line-point-larger"
|
|
|
|
|
v-if="event.startTime === basicInfo.startTime"
|
|
|
|
|
>
|
2022-02-22 18:21:57 +08:00
|
|
|
<div class="line-point"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else class="line-point"></div>
|
|
|
|
|
</div>
|
2022-06-15 14:52:47 +08:00
|
|
|
<div class="row-timeline__card" style="height: 122px">
|
2022-02-22 18:21:57 +08:00
|
|
|
<div>
|
|
|
|
|
<div class="timeline__severity timeline__severity--high">
|
2022-03-14 14:53:02 +08:00
|
|
|
<i
|
|
|
|
|
class="cn-icon cn-icon-alert-level"
|
|
|
|
|
:style="`color:${eventSeverityColor[event.eventSeverity]}`"
|
|
|
|
|
></i>
|
|
|
|
|
<span>{{ event.eventSeverity }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="timeline__security-type">
|
|
|
|
|
{{ event.securityType }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="timeline__start-time">
|
|
|
|
|
{{
|
2022-05-10 10:46:49 +08:00
|
|
|
dateFormatByAppearance(event.startTime)
|
2022-03-14 14:53:02 +08:00
|
|
|
}}
|
2022-02-22 18:21:57 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row-timeline__foot">
|
2022-03-14 14:53:02 +08:00
|
|
|
<div
|
|
|
|
|
class="detection-ip"
|
|
|
|
|
:class="{
|
|
|
|
|
'detection-ip__current':
|
|
|
|
|
[basicInfo.offenderIp, basicInfo.victimIp].indexOf(
|
|
|
|
|
event.offenderIp,
|
|
|
|
|
) > -1,
|
|
|
|
|
}"
|
|
|
|
|
>
|
2022-02-22 18:21:57 +08:00
|
|
|
<i class="cn-icon cn-icon-attacker"></i>
|
2022-03-14 14:53:02 +08:00
|
|
|
<span>{{ event.offenderIp }}</span>
|
2022-02-22 18:21:57 +08:00
|
|
|
</div>
|
2022-03-14 14:53:02 +08:00
|
|
|
<div
|
|
|
|
|
class="detection-ip"
|
|
|
|
|
:class="{
|
|
|
|
|
'detection-ip__current':
|
|
|
|
|
[basicInfo.offenderIp, basicInfo.victimIp].indexOf(
|
|
|
|
|
event.victimIp,
|
|
|
|
|
) > -1,
|
|
|
|
|
}"
|
|
|
|
|
>
|
2022-02-22 18:21:57 +08:00
|
|
|
<i class="cn-icon cn-icon-attacked"></i>
|
2022-03-14 14:53:02 +08:00
|
|
|
<span>{{ event.victimIp }}</span>
|
2022-02-22 18:21:57 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-02-22 15:59:30 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-02-14 22:22:31 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2022-02-22 15:59:30 +08:00
|
|
|
import { get } from '@/utils/http'
|
|
|
|
|
import { api } from '@/utils/api'
|
|
|
|
|
import { getMillisecond } from '@/utils/date-util'
|
2022-03-04 15:46:30 +08:00
|
|
|
import { eventSeverityColor, unitTypes } from '@/utils/constants'
|
|
|
|
|
import unitConvert from '@/utils/unit-convert'
|
2022-03-07 16:03:49 +08:00
|
|
|
import _ from 'lodash'
|
2022-02-14 22:22:31 +08:00
|
|
|
export default {
|
2022-02-22 15:59:30 +08:00
|
|
|
name: 'DetectionOverview',
|
|
|
|
|
props: {
|
2022-03-17 17:56:38 +08:00
|
|
|
detection: Object
|
2022-02-22 15:59:30 +08:00
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
data () {
|
2022-02-22 15:59:30 +08:00
|
|
|
return {
|
2022-02-22 22:22:15 +08:00
|
|
|
eventSeverityColor,
|
2022-02-22 15:59:30 +08:00
|
|
|
basicInfo: {},
|
|
|
|
|
events: [],
|
2022-03-17 17:56:38 +08:00
|
|
|
reference: 'https://attack.mitre.org'
|
2022-02-22 15:59:30 +08:00
|
|
|
}
|
|
|
|
|
},
|
2022-02-22 18:21:57 +08:00
|
|
|
computed: {
|
2022-03-17 17:56:38 +08:00
|
|
|
formatT0 () {
|
2022-03-09 20:10:28 +08:00
|
|
|
const vm = this
|
2022-03-04 15:46:30 +08:00
|
|
|
return function (event) {
|
|
|
|
|
const diffSeconds = event.diffSeconds
|
|
|
|
|
if (diffSeconds === 0) {
|
|
|
|
|
return 'T0'
|
|
|
|
|
}
|
|
|
|
|
const eventStartTime = event.startTime
|
2022-03-09 20:10:28 +08:00
|
|
|
const entityStartTime = vm.detection.startTime
|
2022-03-04 15:46:30 +08:00
|
|
|
|
2022-03-14 14:53:02 +08:00
|
|
|
if (
|
|
|
|
|
_.isNumber(diffSeconds) &&
|
|
|
|
|
_.isNumber(eventStartTime) &&
|
|
|
|
|
_.isNumber(entityStartTime)
|
|
|
|
|
) {
|
|
|
|
|
const suffix = unitConvert(
|
|
|
|
|
diffSeconds,
|
|
|
|
|
unitTypes.time,
|
|
|
|
|
's',
|
|
|
|
|
null,
|
2022-03-17 17:56:38 +08:00
|
|
|
0
|
2022-03-14 14:53:02 +08:00
|
|
|
).join('')
|
2022-03-04 15:46:30 +08:00
|
|
|
if (eventStartTime > entityStartTime) {
|
|
|
|
|
return `T0+${suffix}`
|
|
|
|
|
} else if (eventStartTime < entityStartTime) {
|
|
|
|
|
return `T0-${suffix}`
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ''
|
2022-02-22 18:21:57 +08:00
|
|
|
}
|
2022-03-17 17:56:38 +08:00
|
|
|
}
|
2022-02-22 18:21:57 +08:00
|
|
|
},
|
2022-02-22 15:59:30 +08:00
|
|
|
methods: {
|
|
|
|
|
getMillisecond,
|
2022-03-17 17:56:38 +08:00
|
|
|
query () {
|
2022-03-14 14:53:02 +08:00
|
|
|
Promise.all([this.queryBasic(), this.queryEvent()]).then((responses) => {
|
2022-03-03 23:21:33 +08:00
|
|
|
responses[0] && (this.basicInfo = responses[0])
|
2022-03-14 14:53:02 +08:00
|
|
|
responses[1] &&
|
|
|
|
|
(this.events = responses[1].sort(
|
2022-03-17 17:56:38 +08:00
|
|
|
(e1, e2) => e1.startTime - e2.startTime
|
2022-03-14 14:53:02 +08:00
|
|
|
))
|
2022-02-22 15:59:30 +08:00
|
|
|
})
|
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
queryBasic () {
|
2022-02-22 15:59:30 +08:00
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
try {
|
2022-03-14 14:53:02 +08:00
|
|
|
get(api.detection.securityEvent.overviewBasic, {
|
|
|
|
|
eventId: this.detection.eventId,
|
|
|
|
|
startTime: this.detection.startTime,
|
2022-03-17 17:56:38 +08:00
|
|
|
endTime: this.detection.endTime
|
2022-03-14 14:53:02 +08:00
|
|
|
}).then((response) => {
|
2022-02-22 15:59:30 +08:00
|
|
|
if (response.code === 200) {
|
2022-03-03 23:21:33 +08:00
|
|
|
resolve(response.data.result[0])
|
2022-02-22 15:59:30 +08:00
|
|
|
} else {
|
|
|
|
|
reject(response)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} catch (e) {
|
|
|
|
|
reject(e)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
queryEvent () {
|
2022-02-22 15:59:30 +08:00
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
try {
|
2022-03-14 14:53:02 +08:00
|
|
|
get(api.detection.securityEvent.overviewEvent, {
|
|
|
|
|
startTime: this.detection.startTime,
|
|
|
|
|
offenderIp: this.detection.offenderIp,
|
2022-03-17 17:56:38 +08:00
|
|
|
victimIp: this.detection.victimIp
|
2022-03-14 14:53:02 +08:00
|
|
|
}).then((response) => {
|
2022-02-22 15:59:30 +08:00
|
|
|
if (response.code === 200) {
|
2022-03-03 18:01:26 +08:00
|
|
|
resolve(response.data.result)
|
2022-02-22 15:59:30 +08:00
|
|
|
} else {
|
|
|
|
|
reject(response)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} catch (e) {
|
|
|
|
|
reject(e)
|
|
|
|
|
}
|
|
|
|
|
})
|
2022-03-14 11:38:51 +08:00
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
goDetail (type, name) {
|
2022-03-24 16:46:05 +08:00
|
|
|
if (name) {
|
|
|
|
|
const { href } = this.$router.resolve({
|
|
|
|
|
path: '/entityDetail',
|
|
|
|
|
query: {
|
|
|
|
|
entityType: type,
|
|
|
|
|
name: name
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
window.open(href, '_blank')
|
|
|
|
|
}
|
2022-03-17 17:56:38 +08:00
|
|
|
}
|
2022-02-22 15:59:30 +08:00
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
mounted () {
|
2022-02-22 15:59:30 +08:00
|
|
|
this.query()
|
2022-03-17 17:56:38 +08:00
|
|
|
}
|
2022-02-14 22:22:31 +08:00
|
|
|
}
|
|
|
|
|
</script>
|