changed table output crate from prettytable-rs to comfy_table #707
- 1. [] Unified output one table with -s and -d option - 2. [] add channel column to table output - 3. [] Remove First Timestamp and Last Timestamp with -d option - 4. [] Output csv with -o and -s option - 5. [] Separete two column Count and Percent - 6. [x] change table format output crate from prettytable-rs to comfy_table.
This commit is contained in:
Generated
+1
-65
@@ -248,7 +248,7 @@ version = "0.15.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "89eab4d20ce20cea182308bca13088fecea9c05f6776cf287205d41a0ed3c847"
|
checksum = "89eab4d20ce20cea182308bca13088fecea9c05f6776cf287205d41a0ed3c847"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"encode_unicode 0.3.6",
|
"encode_unicode",
|
||||||
"libc",
|
"libc",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"terminal_size",
|
"terminal_size",
|
||||||
@@ -403,27 +403,6 @@ dependencies = [
|
|||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "dirs-next"
|
|
||||||
version = "2.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
|
|
||||||
dependencies = [
|
|
||||||
"cfg-if",
|
|
||||||
"dirs-sys-next",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "dirs-sys-next"
|
|
||||||
version = "0.1.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
|
|
||||||
dependencies = [
|
|
||||||
"libc",
|
|
||||||
"redox_users",
|
|
||||||
"winapi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "discard"
|
name = "discard"
|
||||||
version = "1.0.4"
|
version = "1.0.4"
|
||||||
@@ -448,12 +427,6 @@ version = "0.3.6"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
|
checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "encode_unicode"
|
|
||||||
version = "1.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "encoding"
|
name = "encoding"
|
||||||
version = "0.2.33"
|
version = "0.2.33"
|
||||||
@@ -781,7 +754,6 @@ dependencies = [
|
|||||||
"num_cpus",
|
"num_cpus",
|
||||||
"openssl",
|
"openssl",
|
||||||
"pbr",
|
"pbr",
|
||||||
"prettytable-rs",
|
|
||||||
"pulldown-cmark",
|
"pulldown-cmark",
|
||||||
"quick-xml",
|
"quick-xml",
|
||||||
"rand",
|
"rand",
|
||||||
@@ -1399,20 +1371,6 @@ version = "0.2.16"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
|
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "prettytable-rs"
|
|
||||||
version = "0.9.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "5f375cb74c23b51d23937ffdeb48b1fbf5b6409d4b9979c1418c1de58bc8f801"
|
|
||||||
dependencies = [
|
|
||||||
"atty",
|
|
||||||
"csv",
|
|
||||||
"encode_unicode 1.0.0",
|
|
||||||
"lazy_static",
|
|
||||||
"term",
|
|
||||||
"unicode-width",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-error"
|
name = "proc-macro-error"
|
||||||
version = "1.0.4"
|
version = "1.0.4"
|
||||||
@@ -1551,17 +1509,6 @@ dependencies = [
|
|||||||
"bitflags",
|
"bitflags",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "redox_users"
|
|
||||||
version = "0.4.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
|
|
||||||
dependencies = [
|
|
||||||
"getrandom",
|
|
||||||
"redox_syscall",
|
|
||||||
"thiserror",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regex"
|
name = "regex"
|
||||||
version = "1.6.0"
|
version = "1.6.0"
|
||||||
@@ -1997,17 +1944,6 @@ dependencies = [
|
|||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "term"
|
|
||||||
version = "0.7.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f"
|
|
||||||
dependencies = [
|
|
||||||
"dirs-next",
|
|
||||||
"rustversion",
|
|
||||||
"winapi",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "termcolor"
|
name = "termcolor"
|
||||||
version = "1.1.3"
|
version = "1.1.3"
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ hashbrown = "0.12.*"
|
|||||||
hex = "0.4.*"
|
hex = "0.4.*"
|
||||||
git2 = "0.*"
|
git2 = "0.*"
|
||||||
termcolor = "*"
|
termcolor = "*"
|
||||||
prettytable-rs = "0.*"
|
|
||||||
krapslog = "*"
|
krapslog = "*"
|
||||||
terminal_size = "*"
|
terminal_size = "*"
|
||||||
bytesize = "1.*"
|
bytesize = "1.*"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
use crate::detections::message::{LOGONSUMMARY_FLAG, METRICS_FLAG};
|
use crate::detections::message::{LOGONSUMMARY_FLAG, METRICS_FLAG};
|
||||||
use crate::detections::{configs::CONFIG, detection::EvtxRecordInfo};
|
use crate::detections::{configs::CONFIG, detection::EvtxRecordInfo};
|
||||||
use prettytable::{Cell, Row, Table};
|
use comfy_table::*;
|
||||||
|
use comfy_table::modifiers::UTF8_ROUND_CORNERS;
|
||||||
|
use comfy_table::presets::UTF8_FULL;
|
||||||
|
|
||||||
use super::metrics::EventMetrics;
|
use super::metrics::EventMetrics;
|
||||||
use hashbrown::HashMap;
|
use hashbrown::HashMap;
|
||||||
@@ -142,7 +144,9 @@ impl Timeline {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let mut logins_stats_tb = Table::new();
|
let mut logins_stats_tb = Table::new();
|
||||||
logins_stats_tb.set_titles(row!["User", "Failed", "Successful"]);
|
logins_stats_tb.load_preset(UTF8_FULL).apply_modifier(UTF8_ROUND_CORNERS)
|
||||||
|
.set_style(TableComponent::VerticalLines, ' ');
|
||||||
|
logins_stats_tb.set_header(vec!["User", "Failed", "Successful"]);
|
||||||
// 集計件数でソート
|
// 集計件数でソート
|
||||||
let mut mapsorted: Vec<_> = self.stats.stats_login_list.iter().collect();
|
let mut mapsorted: Vec<_> = self.stats.stats_login_list.iter().collect();
|
||||||
mapsorted.sort_by(|x, y| x.0.cmp(y.0));
|
mapsorted.sort_by(|x, y| x.0.cmp(y.0));
|
||||||
@@ -153,13 +157,13 @@ impl Timeline {
|
|||||||
//key.to_string().pop();
|
//key.to_string().pop();
|
||||||
username.pop();
|
username.pop();
|
||||||
username.remove(0);
|
username.remove(0);
|
||||||
logins_stats_tb.add_row(Row::new(vec![
|
logins_stats_tb.add_row(vec![
|
||||||
Cell::new(&username),
|
Cell::new(&username),
|
||||||
Cell::new(&values[1].to_string()),
|
Cell::new(&values[1].to_string()),
|
||||||
Cell::new(&values[0].to_string()),
|
Cell::new(&values[0].to_string()),
|
||||||
]));
|
]);
|
||||||
}
|
}
|
||||||
logins_stats_tb.printstd();
|
println!("{logins_stats_tb}");
|
||||||
println!();
|
println!();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user