Добавлена опция распаковки WebSockets

This commit is contained in:
serega6531 2020-04-05 00:59:14 +03:00
parent 6883d5566b
commit 7405db81da
4 changed files with 19 additions and 6 deletions

View File

@ -1,6 +1,6 @@
<template>
<div class="packet" :class="{'packet-incoming': packet.incoming}">
<div>#{{ packet.id }} at {{ dateToText(packet.timestamp) }}, {{ packet.ungzipped ? 'GZIP' : 'Non-GZIP' }}
<div>#{{ packet.id }} at {{ dateToText(packet.timestamp) }}, {{ packet.ungzipped ? 'GZIP ' : '' }}{{ packet.webSocketDeflated ? 'WS' : '' }}
<button @click.prevent="copyRaw" class="btn btn-link">Copy HEX</button>
<button @click.prevent="copyText" class="btn btn-link">Copy text</button>
<button @click.prevent="copyPythonBytes" class="btn btn-link">Copy as Python bytes</button>
@ -25,6 +25,7 @@
timestamp: Number(),
incoming: Boolean(),
ungzipped: Boolean(),
webSocketDeflated: Boolean(),
content: String(),
},
},
@ -88,7 +89,7 @@
return $1 ? $1 : entityMap[$0];
});
},
highlightPatterns(raw) { // FIXME: Пересекающиеся паттерны приводят к неожиданным результатам
highlightPatterns(raw) {
const patterns = this.$store.state.patterns.reduce((obj, item) => {
obj[item.id] = item;
return obj;

View File

@ -38,7 +38,7 @@
<b-form-select id="pattern-searchType" required v-model="newPattern.searchType">
<option value="REGEX" selected>Regular expression</option>
<option value="SUBSTRING">Substring</option>
<option value="SUBBYTES">Bytes (WIP)</option>
<option value="SUBBYTES">Bytes</option>
</b-form-select>
</b-form-group>
<b-form-group

View File

@ -19,25 +19,32 @@
</b-form-group>
<b-form-group
label-cols-sm="4"
label="Decompress GZIP?"
label="Decompress GZIP"
label-for="addSvc-ungzip">
<b-form-checkbox id="addSvc-ungzip" required
v-model="ungzipHttp"/>
</b-form-group>
<b-form-group
label-cols-sm="4"
label="Apply urldecode?"
label="Apply urldecode"
label-for="addSvc-urldecode">
<b-form-checkbox id="addSvc-urldecode" required
v-model="urldecodeHttpRequests"/>
</b-form-group>
<b-form-group
label-cols-sm="4"
label="Merge adjacent packets?"
label="Merge adjacent packets"
label-for="addSvc-mergeAdjacent">
<b-form-checkbox id="addSvc-mergeAdjacent" required
v-model="mergeAdjacentPackets"/>
</b-form-group>
<b-form-group
label-cols-sm="4"
label="Deflate WebSockets"
label-for="addSvc-deflateWS">
<b-form-checkbox id="addSvc-deflateWS" required
v-model="mergeAdjacentPackets"/>
</b-form-group>
</form>
</b-modal>
</template>
@ -52,6 +59,7 @@
ungzipHttp: Boolean(),
urldecodeHttpRequests: Boolean(),
mergeAdjacentPackets: Boolean(),
inflateWebSockets: Boolean(),
};
},
methods: {
@ -67,6 +75,7 @@
this.ungzipHttp = false;
this.urldecodeHttpRequests = false;
this.mergeAdjacentPackets = false;
this.inflateWebSockets = false;
},
createService(ev) {
@ -75,6 +84,7 @@
const ungzipHttp = this.ungzipHttp;
const urldecodeHttpRequests = this.urldecodeHttpRequests;
const mergeAdjacentPackets = this.mergeAdjacentPackets;
const inflateWebSockets = this.inflateWebSockets;
if (!this.checkValidity()) {
ev.preventDefault();
console.debug('Form is invalid');
@ -88,6 +98,7 @@
ungzipHttp,
urldecodeHttpRequests,
mergeAdjacentPackets,
inflateWebSockets,
}).then(response => {
const data = response.data;
console.debug('Done adding service', data);

View File

@ -53,6 +53,7 @@
ungzipHttp: Boolean,
urldecodeHttpRequests: Boolean,
mergeAdjacentPackets: Boolean,
inflateWebSockets: Boolean,
},
},
data() {