summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index e46054c..77da318 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -46,9 +46,12 @@ pub struct Opt {
no_resolve: bool,
#[structopt(flatten)]
render_opts: RenderOpts,
+ #[structopt(short, long)]
+ /// Show DNS queries
+ show_dns: bool,
}
-#[derive(StructOpt, Debug)]
+#[derive(StructOpt, Debug, Copy, Clone)]
pub struct RenderOpts {
#[structopt(short, long)]
/// Show processes table only
@@ -115,6 +118,7 @@ where
{
let running = Arc::new(AtomicBool::new(true));
let paused = Arc::new(AtomicBool::new(false));
+ let dns_shown = opts.show_dns;
let mut active_threads = vec![];
@@ -141,7 +145,7 @@ where
on_winch({
Box::new(move || {
let mut ui = ui.lock().unwrap();
- ui.draw(paused.load(Ordering::SeqCst));
+ ui.draw(paused.load(Ordering::SeqCst), dns_shown);
})
});
}
@@ -184,7 +188,7 @@ where
if raw_mode {
ui.output_text(&mut write_to_stdout);
} else {
- ui.draw(paused);
+ ui.draw(paused, dns_shown);
}
}
let render_duration = render_start_time.elapsed();
@@ -235,12 +239,13 @@ where
.map(|(iface, frames)| {
let name = format!("sniffing_handler_{}", iface.name);
let running = running.clone();
+ let show_dns = opts.show_dns;
let network_utilization = network_utilization.clone();
thread::Builder::new()
.name(name)
.spawn(move || {
- let mut sniffer = Sniffer::new(iface, frames);
+ let mut sniffer = Sniffer::new(iface, frames, show_dns);
while running.load(Ordering::Acquire) {
if let Some(segment) = sniffer.next() {