fix: 修复detection、entity细节问题
This commit is contained in:
@@ -93,12 +93,11 @@
|
|||||||
.domain {
|
.domain {
|
||||||
background: #EFF2F5;
|
background: #EFF2F5;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
font-family: Roboto-Italic;
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
letter-spacing: 0;
|
letter-spacing: 0;
|
||||||
line-height: 14px;
|
line-height: 14px;
|
||||||
font-weight: 400;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ const user = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('No menu') // TODO 国际化
|
ElMessage.error('No menu')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
<div class="cn-detection__row">
|
<div class="cn-detection__row">
|
||||||
<div class="cn-detection__header" v-if="pageType === detectionPageType.securityEvent">
|
<div class="cn-detection__header" v-if="pageType === detectionPageType.securityEvent">
|
||||||
<i class="cn-icon cn-icon-attacker" ></i>{{detection.offenderIp || '-'}}
|
<i class="cn-icon cn-icon-attacker" ></i>{{detection.offenderIp || '-'}}
|
||||||
|
<div v-if="detection.domain" class="domain">{{detection.domain}}</div>
|
||||||
<span class="line">-------</span>
|
<span class="line">-------</span>
|
||||||
<span class="circle"></span>
|
<span class="circle"></span>
|
||||||
<span class="domain">{{detection.domain }}</span>
|
|
||||||
<i class="cn-icon cn-icon-attacked" ></i>{{detection.victimIp || '-'}}
|
<i class="cn-icon cn-icon-attacked" ></i>{{detection.victimIp || '-'}}
|
||||||
</div>
|
</div>
|
||||||
<div class="cn-detection__header" v-else-if="pageType === detectionPageType.performanceEvent">
|
<div class="cn-detection__header" v-else-if="pageType === detectionPageType.performanceEvent">
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
<div class="metric__column">
|
<div class="metric__column">
|
||||||
<div class="overview__title">{{$t('detections.metric')}}</div>
|
<div class="overview__title">{{$t('detections.metric')}}</div>
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__content--metric ">{{detection.appName || '-'}}</div>
|
<div class="row__content--metric ">{{detection.eventType || '-'}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="metric__column">
|
<div class="metric__column">
|
||||||
@@ -194,6 +194,7 @@ export default {
|
|||||||
domain: this.detection.domain,
|
domain: this.detection.domain,
|
||||||
startTime: this.searchStartTime,
|
startTime: this.searchStartTime,
|
||||||
endTime: this.searchEndTime,
|
endTime: this.searchEndTime,
|
||||||
|
eventType: this.detection.eventType
|
||||||
}).then((response) => {
|
}).then((response) => {
|
||||||
if (response.code === 200) {
|
if (response.code === 200) {
|
||||||
resolve(response.data.result[0])
|
resolve(response.data.result[0])
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<span
|
<span
|
||||||
class="row__content--link"
|
class="row__content--link"
|
||||||
@click="goDetail('domain', computeSecondaryDomain(detection.domain))"
|
@click="goDetail('domain', computeSecondaryDomain(detection.domain))"
|
||||||
>{{ computeSecondaryDomain(detection.domain) }}</span>
|
>{{detection.domain}}</span>
|
||||||
<template v-if="detection.eventType === 'dns error'">
|
<template v-if="detection.eventType === 'dns error'">
|
||||||
<span>
|
<span>
|
||||||
{{$t('detections.dnsQueryError')}}
|
{{$t('detections.dnsQueryError')}}
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
<span>{{ $t('detections.viewDetailOf') }}</span>
|
<span>{{ $t('detections.viewDetailOf') }}</span>
|
||||||
<span
|
<span
|
||||||
class="row__content--link"
|
class="row__content--link"
|
||||||
@click="goDetail('domain', computeSecondaryDomain(detection.domain))">{{computeSecondaryDomain(detection.domain)}}</span>
|
@click="goDetail('domain', computeSecondaryDomain(detection.domain))">{{detection.domain}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__title">{{$t('detections.goToHunt')}}</div>
|
<div class="overview__title">{{$t('detections.goToHunt')}}</div>
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
<div class="metric__column">
|
<div class="metric__column">
|
||||||
<div class="overview__title">{{$t('detections.metric')}}</div>
|
<div class="overview__title">{{$t('detections.metric')}}</div>
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__content--metric ">{{detection.domain || '-'}}</div>
|
<div class="row__content--metric ">{{detection.eventType || '-'}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="metric__column">
|
<div class="metric__column">
|
||||||
@@ -226,6 +226,7 @@
|
|||||||
domain: this.detection.domain,
|
domain: this.detection.domain,
|
||||||
startTime: this.searchStartTime,
|
startTime: this.searchStartTime,
|
||||||
endTime: this.searchEndTime,
|
endTime: this.searchEndTime,
|
||||||
|
eventType: this.detection.eventType
|
||||||
}).then((response) => {
|
}).then((response) => {
|
||||||
if (response.code === 200) {
|
if (response.code === 200) {
|
||||||
resolve(response.data.result[0])
|
resolve(response.data.result[0])
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
<div class="metric__column">
|
<div class="metric__column">
|
||||||
<div class="overview__title">{{$t('detections.metric')}}</div>
|
<div class="overview__title">{{$t('detections.metric')}}</div>
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__content--metric ">{{detection.serverIp || '-'}}</div>
|
<div class="row__content--metric ">{{detection.eventType || '-'}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="metric__column">
|
<div class="metric__column">
|
||||||
@@ -76,7 +76,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -191,6 +190,7 @@ export default {
|
|||||||
domain: this.detection.domain,
|
domain: this.detection.domain,
|
||||||
startTime: this.searchStartTime,
|
startTime: this.searchStartTime,
|
||||||
endTime: this.searchEndTime,
|
endTime: this.searchEndTime,
|
||||||
|
eventType: this.detection.eventType
|
||||||
}).then((response) => {
|
}).then((response) => {
|
||||||
if (response.code === 200) {
|
if (response.code === 200) {
|
||||||
resolve(response.data.result[0])
|
resolve(response.data.result[0])
|
||||||
|
|||||||
@@ -8,14 +8,11 @@
|
|||||||
<span
|
<span
|
||||||
class="row__content--link"
|
class="row__content--link"
|
||||||
@click="goDetail('ip', detection.victimIp)"
|
@click="goDetail('ip', detection.victimIp)"
|
||||||
>{{ detection.victimIp }}</span
|
>{{ detection.victimIp }}</span>
|
||||||
>
|
|
||||||
<span>
|
<span>
|
||||||
{{$t('detection.commandAndControl')}}
|
{{$t('detection.commandAndControl')}}
|
||||||
</span>
|
</span>
|
||||||
<span class="row__content--link">{{
|
<span class="row__content--link" @click="goDetail('ip', basicInfo.iocValue)">{{basicInfo.iocValue || '-'}}</span></template
|
||||||
detection.iocValue
|
|
||||||
}}</span></template
|
|
||||||
>
|
>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<span
|
<span
|
||||||
@@ -26,10 +23,11 @@
|
|||||||
<span>
|
<span>
|
||||||
{{$t('detection.payloadAndDelivery')}}
|
{{$t('detection.payloadAndDelivery')}}
|
||||||
</span>
|
</span>
|
||||||
<span class="row__content--link">{{
|
<span class="row__content--link"
|
||||||
detection.iocValue
|
@click="goDetail('ip', basicInfo.iocValue)"
|
||||||
}}</span></template
|
>{{
|
||||||
>
|
basicInfo.iocValue
|
||||||
|
}}</span></template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__title">Fields</div>
|
<div class="overview__title">Fields</div>
|
||||||
@@ -96,9 +94,7 @@
|
|||||||
<div class="row__content">
|
<div class="row__content">
|
||||||
<div
|
<div
|
||||||
class="row__tag"
|
class="row__tag"
|
||||||
:style="`background-color:${
|
:style="`background-color:${eventSeverityColor[basicInfo.domainReputationLevel]}`"
|
||||||
eventSeverityColor[basicInfo.domainReputationLevel]
|
|
||||||
}`"
|
|
||||||
>
|
>
|
||||||
{{ basicInfo.domainReputationLevel || '-' }}
|
{{ basicInfo.domainReputationLevel || '-' }}
|
||||||
</div>
|
</div>
|
||||||
@@ -184,7 +180,7 @@
|
|||||||
class="row__content--link"
|
class="row__content--link"
|
||||||
@click="goDetail('ip', basicInfo.offenderIp)"
|
@click="goDetail('ip', basicInfo.offenderIp)"
|
||||||
>{{ basicInfo.offenderIp }}</span
|
>{{ basicInfo.offenderIp }}</span
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="row__content--link"
|
class="row__content--link"
|
||||||
@click="goDetail('domain', basicInfo.domain)"
|
@click="goDetail('domain', basicInfo.domain)"
|
||||||
@@ -378,6 +374,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
goDetail (type, name) {
|
goDetail (type, name) {
|
||||||
|
if (name) {
|
||||||
const { href } = this.$router.resolve({
|
const { href } = this.$router.resolve({
|
||||||
path: '/entityDetail',
|
path: '/entityDetail',
|
||||||
query: {
|
query: {
|
||||||
@@ -387,6 +384,7 @@ export default {
|
|||||||
})
|
})
|
||||||
window.open(href, '_blank')
|
window.open(href, '_blank')
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.query()
|
this.query()
|
||||||
|
|||||||
@@ -135,7 +135,7 @@
|
|||||||
<div class="overview__content">
|
<div class="overview__content">
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__label">{{$t('entities.recentAlert')}}</div>
|
<div class="row__label">{{$t('entities.recentAlert')}}</div>
|
||||||
<div class="row__content">{{entityData.performanceNum || '-'}}</div>
|
<div class="row__content">{{entityData.performanceNum}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__row overview__row--small-font" v-for="(performance, index) in entityData.performanceList" :key="index">
|
<div class="overview__row overview__row--small-font" v-for="(performance, index) in entityData.performanceList" :key="index">
|
||||||
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(performance.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(performance.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
<div class="overview__content">
|
<div class="overview__content">
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__label">{{$t('entities.recentSecurity')}}</div>
|
<div class="row__label">{{$t('entities.recentSecurity')}}</div>
|
||||||
<div class="row__content">{{entityData.securityNum || '-'}}</div>
|
<div class="row__content">{{entityData.securityNum}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__row overview__row--small-font" v-for="(security, index) in entityData.securityList" :key="index">
|
<div class="overview__row overview__row--small-font" v-for="(security, index) in entityData.securityList" :key="index">
|
||||||
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(security.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(security.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
||||||
|
|||||||
@@ -139,7 +139,7 @@
|
|||||||
<div class="overview__content">
|
<div class="overview__content">
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__label">{{$t('entities.recentAlert')}}</div>
|
<div class="row__label">{{$t('entities.recentAlert')}}</div>
|
||||||
<div class="row__content">{{entityData.performanceNum || '-'}}</div>
|
<div class="row__content">{{entityData.performanceNum}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__row overview__row--small-font" v-for="(performance, index) in entityData.performanceList" :key="index">
|
<div class="overview__row overview__row--small-font" v-for="(performance, index) in entityData.performanceList" :key="index">
|
||||||
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(performance.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(performance.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
<div class="overview__content">
|
<div class="overview__content">
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__label">{{$t('entities.recentSecurity')}}</div>
|
<div class="row__label">{{$t('entities.recentSecurity')}}</div>
|
||||||
<div class="row__content">{{entityData.securityNum || '-'}}</div>
|
<div class="row__content">{{entityData.securityNum}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__row overview__row--small-font" v-for="(security, i) in entityData.securityList" :key="i">
|
<div class="overview__row overview__row--small-font" v-for="(security, i) in entityData.securityList" :key="i">
|
||||||
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(security.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(security.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@
|
|||||||
<div class="overview__content">
|
<div class="overview__content">
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__label">{{$t('entities.recentAlert')}}</div>
|
<div class="row__label">{{$t('entities.recentAlert')}}</div>
|
||||||
<div class="row__content">{{entityData.performanceNum || '-'}}</div>
|
<div class="row__content">{{entityData.performanceNum}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__row overview__row--small-font" v-for="(performance, index) in entityData.performanceList" :key="index">
|
<div class="overview__row overview__row--small-font" v-for="(performance, index) in entityData.performanceList" :key="index">
|
||||||
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(performance.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(performance.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
<div class="overview__content">
|
<div class="overview__content">
|
||||||
<div class="overview__row">
|
<div class="overview__row">
|
||||||
<div class="row__label">{{$t('entities.recentSecurity')}}</div>
|
<div class="row__label">{{$t('entities.recentSecurity')}}</div>
|
||||||
<div class="row__content">{{entityData.securityNum || '-'}}</div>
|
<div class="row__content">{{entityData.securityNum}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="overview__row overview__row--small-font" v-for="(security, index) in entityData.securityList" :key="index">
|
<div class="overview__row overview__row--small-font" v-for="(security, index) in entityData.securityList" :key="index">
|
||||||
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(security.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
<div class="row__label row__label--width160">{{dayJs.tz(getMillisecond(security.startTime)).format('YYYY-MM-DD HH:mm:ss') || '-'}}</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user