parametri: adapter, file, port max, port min. stampa protocolli livello trasporto

This commit is contained in:
Giuliano Bellini s294739
2022-08-08 12:25:44 +02:00
parent 4838650de8
commit 7ad01ec1a5
190 changed files with 782 additions and 42 deletions

View File

@@ -80,13 +80,28 @@ checksum = "a3dbbb6653e7c55cc8595ad3e1f7be8f32aba4eb7ff7f0fd1163d4f3d137c0a9"
dependencies = [
"atty",
"bitflags",
"clap_derive",
"clap_lex",
"indexmap",
"once_cell",
"strsim",
"termcolor",
"textwrap",
]
[[package]]
name = "clap_derive"
version = "3.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ba52acd3b0a5c33aeada5cdaa3267cdc7c594a98731d4268cdc1532f4264cb4"
dependencies = [
"heck",
"proc-macro-error",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "clap_lex"
version = "0.2.4"
@@ -132,6 +147,12 @@ version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "heck"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9"
[[package]]
name = "hermit-abi"
version = "0.1.19"
@@ -246,6 +267,30 @@ dependencies = [
"winapi",
]
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
version = "1.0.43"
@@ -330,6 +375,12 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wasi"
version = "0.10.0+wasi-snapshot-preview1"

View File

@@ -8,5 +8,5 @@ edition = "2021"
[dependencies]
pcap = "0.9.2"
etherparse = "0.12.0"
clap = "3.2.16"
clap = { version = "3.2.6", features = ["derive"] }
chrono = "0.4.20"

381
packet_sniffer/report.txt Normal file
View File

@@ -0,0 +1,381 @@
Packets sniffed from adapter 'en0'
Considering port numbers from 0 to 65535
Address: 172.20.10.1:61755
Transmitted data
Transmitted Bytes: 20.00 B
Transmitted packets: 1
Received data
Received Bytes: 32.00 B
Received packets: 1
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 74.125.99.135:443
Transmitted data
Transmitted Bytes: 6.02 kB
Transmitted packets: 8
Received data
Received Bytes: 1.32 kB
Received packets: 9
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:62723
Transmitted data
Transmitted Bytes: 1.32 kB
Transmitted packets: 9
Received data
Received Bytes: 6.02 kB
Received packets: 8
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 17.248.145.205:443
Transmitted data
Transmitted Bytes: 216.00 B
Transmitted packets: 6
Received data
Received Bytes: 228.00 B
Received packets: 6
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:62711
Transmitted data
Transmitted Bytes: 201.00 B
Transmitted packets: 4
Received data
Received Bytes: 121.00 B
Received packets: 3
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:56805
Transmitted data
Transmitted Bytes: 118.00 B
Transmitted packets: 2
Received data
Received Bytes: 105.00 B
Received packets: 1
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 172.20.10.2:49152
Transmitted data
Transmitted Bytes: 32.00 B
Transmitted packets: 1
Received data
Received Bytes: 20.00 B
Received packets: 1
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 255.2.0.0.0.0.0.0.0.0.0.0.0.0.0.251:5353
Transmitted data
Transmitted Bytes: 0.00 B
Transmitted packets: 0
Received data
Received Bytes: 15.51 kB
Received packets: 59
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 172.20.10.2:62277
Transmitted data
Transmitted Bytes: 490.00 B
Transmitted packets: 10
Received data
Received Bytes: 364.00 B
Received packets: 8
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 172.20.10.2:62722
Transmitted data
Transmitted Bytes: 228.00 B
Transmitted packets: 6
Received data
Received Bytes: 216.00 B
Received packets: 6
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:62525
Transmitted data
Transmitted Bytes: 589.00 B
Transmitted packets: 4
Received data
Received Bytes: 453.00 B
Received packets: 3
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:62250
Transmitted data
Transmitted Bytes: 118.00 B
Transmitted packets: 2
Received data
Received Bytes: 146.00 B
Received packets: 1
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 254.128.0.0.0.0.0.0.228.154.220.255.254.156.159.100:5353
Transmitted data
Transmitted Bytes: 14.54 kB
Transmitted packets: 54
Received data
Received Bytes: 0.00 B
Received packets: 0
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 172.20.10.1:5353
Transmitted data
Transmitted Bytes: 14.73 kB
Transmitted packets: 55
Received data
Received Bytes: 1.35 kB
Received packets: 4
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 34.237.73.95:443
Transmitted data
Transmitted Bytes: 453.00 B
Transmitted packets: 3
Received data
Received Bytes: 589.00 B
Received packets: 4
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 142.250.184.78:443
Transmitted data
Transmitted Bytes: 392.00 B
Transmitted packets: 10
Received data
Received Bytes: 612.00 B
Received packets: 12
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 254.128.0.0.0.0.0.0.228.154.220.255.254.156.159.100:0
Transmitted data
Transmitted Bytes: 72.00 B
Transmitted packets: 2
Received data
Received Bytes: 0.00 B
Received packets: 0
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: Other
Address: 140.82.112.26:443
Transmitted data
Transmitted Bytes: 121.00 B
Transmitted packets: 3
Received data
Received Bytes: 201.00 B
Received packets: 4
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:54393
Transmitted data
Transmitted Bytes: 57.00 B
Transmitted packets: 1
Received data
Received Bytes: 114.00 B
Received packets: 1
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 172.20.10.2:5353
Transmitted data
Transmitted Bytes: 2.32 kB
Transmitted packets: 9
Received data
Received Bytes: 0.00 B
Received packets: 0
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 172.20.10.2:62721
Transmitted data
Transmitted Bytes: 306.00 B
Transmitted packets: 6
Received data
Received Bytes: 196.00 B
Received packets: 5
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:62713
Transmitted data
Transmitted Bytes: 20.58 kB
Transmitted packets: 44
Received data
Received Bytes: 39.83 kB
Received packets: 38
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 172.20.10.2:62720
Transmitted data
Transmitted Bytes: 306.00 B
Transmitted packets: 6
Received data
Received Bytes: 196.00 B
Received packets: 5
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 224.0.0.251:5353
Transmitted data
Transmitted Bytes: 0.00 B
Transmitted packets: 0
Received data
Received Bytes: 15.70 kB
Received packets: 60
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 254.128.0.0.0.0.0.0.16.193.229.86.100.125.178.4:5353
Transmitted data
Transmitted Bytes: 970.00 B
Transmitted packets: 5
Received data
Received Bytes: 0.00 B
Received packets: 0
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 142.250.180.174:443
Transmitted data
Transmitted Bytes: 39.83 kB
Transmitted packets: 38
Received data
Received Bytes: 20.58 kB
Received packets: 44
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: TCP
Address: 255.2.0.0.0.0.0.0.0.0.0.0.0.0.0.22:0
Transmitted data
Transmitted Bytes: 0.00 B
Transmitted packets: 0
Received data
Received Bytes: 72.00 B
Received packets: 2
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: Other
Address: 172.224.98.9:443
Transmitted data
Transmitted Bytes: 364.00 B
Transmitted packets: 8
Received data
Received Bytes: 490.00 B
Received packets: 10
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP
Address: 172.20.10.1:53
Transmitted data
Transmitted Bytes: 365.00 B
Transmitted packets: 3
Received data
Received Bytes: 293.00 B
Received packets: 5
Timestamps
Initial Timestamp: 08/08/2022 12:19:40
Final Timestamp: 08/08/2022 12:19:40
Transport layer protocols: UDP

View File

@@ -10,22 +10,68 @@
use crate::address_port::{AddressPort};
use crate::report_info::{ReportInfo, TransProtocol};
use chrono::prelude::*;
use clap::Parser;
#[derive(Parser, Debug)]
struct Args {
/// Name of the network adapter to be inspected, if omitted a default adapter is chosen
#[clap(short, long, value_parser, forbid_empty_values = true, default_value = "en0")]
adapter: String,
/// Name of output file to contain the textual report, if omitted a default file is chosen
#[clap(short, long, value_parser, forbid_empty_values = true, default_value = "report.txt")]
output_file: String,
/// Set the minimum port value to be considered, if omitted there is not ports lower bound
#[clap(short, long, value_parser, default_value_t = u16::MIN)]
lowest_port: u16,
/// Set the maximum port value to be considered, if omitted there is not ports higher bound
#[clap(short, long, value_parser, default_value_t = u16::MAX)]
highest_port: u16,
}
fn main() {
let device = Device::lookup().unwrap();
let mut output = File::create("report.txt").unwrap();
println!("{:?}", device);
let args = Args::parse();
let adapter: String = args.adapter;
let output_file: String = args.output_file;
let lowest_port = args.lowest_port;
let highest_port = args.highest_port;
println!("Waiting for packets........");
println!("Writing report.txt file........");
let mut output = File::create(output_file.clone()).unwrap();
let mut cap = Capture::from_device(device).unwrap()
println!("Waiting for packets (sniffing adapter {})........", adapter.clone());
println!("Considering port numbers from {} to {}", lowest_port, highest_port);
println!("Writing {} file........", output_file.clone());
write!(output, "Packets sniffed from adapter '{}'\n\n", adapter.clone());
write!(output, "Considering port numbers from {} to {}\n\n", lowest_port, highest_port);
let dev_list = Device::list().expect("Unable to retrieve network adapters list");
let mut found_device = Device {
name: "".to_string(),
desc: None,
addresses: vec![]
};
for device in dev_list {
if device.name == adapter {
found_device = device;
break;
}
}
if found_device.name.len() == 0 {
panic!("Specified network adapter does not exist");
}
let mut cap = Capture::from_device(found_device).unwrap()
.promisc(true)
.open().unwrap();
let mut map:HashMap<AddressPort,ReportInfo> = HashMap::new();
let mut num_packets = 0; //dopo 300 pacchetti interrompo la cattura e stampo
while let Ok(packet) = cap.next() {
let utc: DateTime<Local> = Local::now();
@@ -88,43 +134,51 @@ fn main() {
let key1: AddressPort = AddressPort::new(address1,port1);
let key2: AddressPort = AddressPort::new(address2,port2);
map.entry(key1).and_modify(|info| {
info.transmitted_bytes += exchanged_bytes;
info.transmitted_packets += 1;
info.final_timestamp = now.clone();
info.trans_protocols.insert(protocol);})
.or_insert(ReportInfo {
transmitted_bytes: exchanged_bytes,
transmitted_packets: 1,
received_bytes: 0,
received_packets: 0,
initial_timestamp: now.clone(),
final_timestamp: now.clone(),
trans_protocols: HashSet::from([protocol])
});
map.entry(key2).and_modify(|info| {
info.received_bytes += exchanged_bytes;
info.received_packets += 1;
info.final_timestamp = now.clone();
info.trans_protocols.insert(protocol); })
.or_insert(ReportInfo {
transmitted_bytes: 0,
transmitted_packets: 0,
received_bytes: exchanged_bytes,
received_packets: 1,
initial_timestamp: now.clone(),
final_timestamp: now.clone(),
trans_protocols: HashSet::from([protocol])
});
for (key, val) in map.iter() {
write!(output, "Address: {}:{}\n{}\n", key.address1, key.port1, val).expect("File output error");
if port1 >= lowest_port && port1 <= highest_port {
map.entry(key1).and_modify(|info| {
info.transmitted_bytes += exchanged_bytes;
info.transmitted_packets += 1;
info.final_timestamp = now.clone();
info.trans_protocols.insert(protocol);})
.or_insert(ReportInfo {
transmitted_bytes: exchanged_bytes,
transmitted_packets: 1,
received_bytes: 0,
received_packets: 0,
initial_timestamp: now.clone(),
final_timestamp: now.clone(),
trans_protocols: HashSet::from([protocol])
});
}
if port2 >= lowest_port && port2 <= highest_port {
map.entry(key2).and_modify(|info| {
info.received_bytes += exchanged_bytes;
info.received_packets += 1;
info.final_timestamp = now.clone();
info.trans_protocols.insert(protocol); })
.or_insert(ReportInfo {
transmitted_bytes: 0,
transmitted_packets: 0,
received_bytes: exchanged_bytes,
received_packets: 1,
initial_timestamp: now.clone(),
final_timestamp: now.clone(),
trans_protocols: HashSet::from([protocol])
});
}
write!(output, "----------------------------------\n").expect("File output error");
}
}
num_packets+=1;
if num_packets >= 300 {
break;
}
}
for (key, val) in map.iter() {
write!(output, "Address: {}:{}\n{}\n\n", key.address1, key.port1, val).expect("File output error");
}
}

View File

@@ -33,6 +33,7 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let mut multiple_received = "".to_string();
let mut n = self.transmitted_bytes as f32;
let mut m = self.received_bytes as f32;
let transport_level_protocols;
match self.transmitted_bytes {
0..=1000 => {},
@@ -48,6 +49,10 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
_ => {m /= 1000000000 as f32; multiple_received.push('G'); }
}
transport_level_protocols = format!("{:?}", self.trans_protocols)
.replace("{", "")
.replace("}", "");
write!(f, "\tTransmitted data\n\
\t\tTransmitted Bytes: {:.2} {}B\n\
\t\tTransmitted packets: {}\n\
@@ -57,10 +62,12 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
\tTimestamps\n\
\t\tInitial Timestamp: {}\n\
\t\tFinal Timestamp: {}\n\
\ttrans_protocols: \n",
\tTransport layer protocols: {}\n",
n, multiple_transmitted, self.transmitted_packets,
m, multiple_received, self.received_packets,
self.initial_timestamp, self.final_timestamp)
self.initial_timestamp, self.final_timestamp,
transport_level_protocols
)
}
}

View File

Binary file not shown.

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
d9abeae229854a25

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"atty\", \"clap_derive\", \"color\", \"default\", \"derive\", \"once_cell\", \"std\", \"strsim\", \"suggestions\", \"termcolor\"]","target":9915717286748794773,"profile":8344124108420085910,"path":10190762159840165932,"deps":[[469271197183527856,"indexmap",false,4862609193895426511],[1881289145811321387,"termcolor",false,8903366309756703113],[3684715375434759994,"strsim",false,8902851093794724213],[6380400231435474709,"clap_derive",false,17731367881484802291],[10874883041324050949,"atty",false,3849416828841191194],[12703473373518060221,"textwrap",false,17155205250938520878],[13220248725062288935,"once_cell",false,2209228587548498855],[14051957667571541382,"bitflags",false,15197267682358150033],[15095817962595534823,"clap_lex",false,8762307692892448326]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/clap-6006cabbd19c8508/dep-lib-clap"}}],"rustflags":[],"metadata":13636260659328210681,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
f318acb5247912f6

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"default\"]","target":16007396582338362728,"profile":8344124108420085910,"path":220822320727396255,"deps":[[2303534799027988957,"proc_macro2",false,11065857319675966699],[2473955859471087235,"heck",false,3445819640994837675],[4114176108478934945,"syn",false,3226998154277013123],[4658667968557883043,"quote",false,15586876773887838829],[6815040490083096921,"proc_macro_error",false,16336766104726754359]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/clap_derive-f3aa5a04ed6d2d08/dep-lib-clap_derive"}}],"rustflags":[],"metadata":751742508315986310,"config":2202906307356721367,"compile_kind":0}

View File

Binary file not shown.

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
abb48fedb402d22f

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"default\"]","target":13541735487965020728,"profile":8344124108420085910,"path":9891926599509062602,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/heck-a31743dbfd9eb7cb/dep-lib-heck"}}],"rustflags":[],"metadata":4968006677088137060,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
a75b7704b2c1a81e

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"alloc\", \"default\", \"race\", \"std\"]","target":15818772897122422038,"profile":8344124108420085910,"path":14958208645469077384,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/once_cell-1c1b8933057e04d5/dep-lib-once_cell"}}],"rustflags":[],"metadata":14177539708254521827,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
8aff799669efb0f3

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[]","target":1089383778197212572,"profile":11736316127369858332,"path":1684066648322511884,"deps":[[1007160655150010859,"etherparse",false,8277925826366085526],[10684445640410993552,"clap",false,2687106542627105753],[13706948548054529507,"pcap",false,5369193236746031062],[14419135841914355888,"chrono",false,9319056320141071546]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/packet_sniffer-c6e9037dc10b49f4/dep-bin-packet_sniffer"}}],"rustflags":[],"metadata":7797948686568424061,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1,3 @@
{"message":"unused `Result` that must be used","code":{"code":"unused_must_use","explanation":null},"level":"warning","spans":[{"file_name":"/Users/giulianobellini/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/macros/mod.rs","byte_start":17029,"byte_end":17075,"line_start":479,"line_end":479,"column_start":34,"column_end":80,"is_primary":true,"text":[{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":34,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/main.rs","byte_start":1712,"byte_end":1784,"line_start":49,"line_end":49,"column_start":5,"column_end":77,"is_primary":false,"text":[{"text":" write!(output, \"Packets sniffed from adapter '{}'\\n\\n\", adapter.clone());","highlight_start":5,"highlight_end":77}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"write!","def_site_span":{"file_name":"/Users/giulianobellini/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/macros/mod.rs","byte_start":16975,"byte_end":17078,"line_start":478,"line_end":480,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! write {","highlight_start":1,"highlight_end":1},{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":1,"highlight_end":1},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`#[warn(unused_must_use)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"this `Result` may be an `Err` variant, which should be handled","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused `Result` that must be used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:49:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m49\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m write!(output, \"Packets sniffed from adapter '{}'\\n\\n\", adapter.clone());\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_must_use)]` on by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this `Result` may be an `Err` variant, which should be handled\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}
{"message":"unused `Result` that must be used","code":{"code":"unused_must_use","explanation":null},"level":"warning","spans":[{"file_name":"/Users/giulianobellini/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/macros/mod.rs","byte_start":17029,"byte_end":17075,"line_start":479,"line_end":479,"column_start":34,"column_end":80,"is_primary":true,"text":[{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":34,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/main.rs","byte_start":1790,"byte_end":1877,"line_start":50,"line_end":50,"column_start":5,"column_end":92,"is_primary":false,"text":[{"text":" write!(output, \"Considering port numbers from {} to {}\\n\\n\", lowest_port, highest_port);","highlight_start":5,"highlight_end":92}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"write!","def_site_span":{"file_name":"/Users/giulianobellini/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/macros/mod.rs","byte_start":16975,"byte_end":17078,"line_start":478,"line_end":480,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! write {","highlight_start":1,"highlight_end":21},{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":1,"highlight_end":81},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"this `Result` may be an `Err` variant, which should be handled","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused `Result` that must be used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:50:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m50\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m write!(output, \"Considering port numbers from {} to {}\\n\\n\", lowest_port, highest_port);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this `Result` may be an `Err` variant, which should be handled\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}
{"message":"2 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 2 warnings emitted\u001b[0m\n\n"}

View File

@@ -0,0 +1 @@
647cb01e7a2dabfb

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"default\", \"syn\", \"syn-error\"]","target":13294766831966498538,"profile":8344124108420085910,"path":11371438470044416455,"deps":[[16079472387499994964,"version_check",false,12699300217691777565]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/proc-macro-error-1b5c2bb2facb4211/dep-build-script-build-script-build"}}],"rustflags":[],"metadata":461828850819777488,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"","target":0,"profile":0,"path":0,"deps":[[7380346646409526878,"build_script_build",false,17612401131266337991]],"local":[{"Precalculated":"1.0.4"}],"rustflags":[],"metadata":0,"config":0,"compile_kind":0}

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[]","target":13294766831966498538,"profile":8344124108420085910,"path":14416245002730699903,"deps":[[16079472387499994964,"version_check",false,12699300217691777565]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/proc-macro-error-attr-87558ea593d37ca8/dep-build-script-build-script-build"}}],"rustflags":[],"metadata":18059112814646350960,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
93181dee81d1ec33

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[]","target":1073142170763118950,"profile":8344124108420085910,"path":5323640904053273169,"deps":[[2303534799027988957,"proc_macro2",false,11065857319675966699],[4658667968557883043,"quote",false,15586876773887838829],[7380346646409526878,"build_script_build",false,5415258127129261128]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/proc-macro-error-attr-a546f5051b3d4c23/dep-lib-proc-macro-error-attr"}}],"rustflags":[],"metadata":18059112814646350960,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"","target":0,"profile":0,"path":0,"deps":[[6815040490083096921,"build_script_build",false,18134638327061576804]],"local":[{"Precalculated":"1.0.4"}],"rustflags":[],"metadata":0,"config":0,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
3754e16237dab7e2

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"default\", \"syn\", \"syn-error\"]","target":2940268530918898775,"profile":8344124108420085910,"path":679341319873133609,"deps":[[2303534799027988957,"proc_macro2",false,11065857319675966699],[4114176108478934945,"syn",false,3226998154277013123],[4658667968557883043,"quote",false,15586876773887838829],[6815040490083096921,"build_script_build",false,3701151622616738301],[7380346646409526878,"proc_macro_error_attr",false,3741595746413910163]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/proc-macro-error-d9793fb8334b5b71/dep-lib-proc-macro-error"}}],"rustflags":[],"metadata":461828850819777488,"config":2202906307356721367,"compile_kind":0}

View File

Binary file not shown.

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
83c68554b999c82c

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"clone-impls\", \"default\", \"derive\", \"full\", \"parsing\", \"printing\", \"proc-macro\", \"quote\"]","target":12020202395954228905,"profile":8344124108420085910,"path":15589954656588336650,"deps":[[2303534799027988957,"proc_macro2",false,11065857319675966699],[4114176108478934945,"build_script_build",false,3752468224531785228],[4658667968557883043,"quote",false,15586876773887838829],[9294524838761079687,"unicode_ident",false,991605174643975568]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/syn-97bf2b04b67d3019/dep-lib-syn"}}],"rustflags":[],"metadata":6886477143387768027,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
0730eb37940dffc1

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[\"clone-impls\", \"default\", \"derive\", \"full\", \"parsing\", \"printing\", \"proc-macro\", \"quote\"]","target":13294766831966498538,"profile":8344124108420085910,"path":7774134627553802312,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/syn-dd74e271d749da94/dep-build-script-build-script-build"}}],"rustflags":[],"metadata":6886477143387768027,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
0c662802f8711334

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"","target":0,"profile":0,"path":0,"deps":[[4114176108478934945,"build_script_build",false,13978906698625789959]],"local":[{"Precalculated":"1.0.99"}],"rustflags":[],"metadata":0,"config":0,"compile_kind":0}

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
1d2a8fa343fa3cb0

View File

@@ -0,0 +1 @@
{"rustc":1057704222874089767,"features":"[]","target":2726911228026723764,"profile":8344124108420085910,"path":4978888377781589543,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/version_check-26c496a9f8b5b027/dep-lib-version_check"}}],"rustflags":[],"metadata":14847206692933921638,"config":2202906307356721367,"compile_kind":0}

View File

@@ -0,0 +1,5 @@
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/build/proc-macro-error-1b5c2bb2facb4211/build_script_build-1b5c2bb2facb4211: /Users/giulianobellini/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/build.rs
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/build/proc-macro-error-1b5c2bb2facb4211/build_script_build-1b5c2bb2facb4211.d: /Users/giulianobellini/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/build.rs
/Users/giulianobellini/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-1.0.4/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/build/proc-macro-error-attr-7b8fca47cede6667/out

View File

@@ -0,0 +1,5 @@
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/build/proc-macro-error-attr-87558ea593d37ca8/build_script_build-87558ea593d37ca8: /Users/giulianobellini/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-1.0.4/build.rs
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/build/proc-macro-error-attr-87558ea593d37ca8/build_script_build-87558ea593d37ca8.d: /Users/giulianobellini/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-1.0.4/build.rs
/Users/giulianobellini/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-error-attr-1.0.4/build.rs:

View File

@@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@@ -0,0 +1 @@
cargo:rustc-cfg=use_fallback

View File

@@ -0,0 +1 @@
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/build/proc-macro-error-b3c62289dd556b10/out

View File

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More