second commit

This commit is contained in:
Giuliano Bellini s294739
2022-08-06 18:13:35 +02:00
parent b8444982a0
commit af702b3922
28 changed files with 127 additions and 8 deletions

BIN
.DS_Store vendored Normal file
View File

Binary file not shown.

View File

@@ -2,5 +2,6 @@
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,32 @@
use std::cmp::Ordering;
pub struct AddressPortPair {
address1: String,
port1: u16,
address2: String,
port2: u16,
}
impl AddressPortPair {
pub fn new (address1: String, port1: u16, address2: String, port2: u16) -> Self {
if address1.cmp(&address2) == Ordering::Less {
AddressPortPair {
address1,
port1,
address2,
port2
}
}
else {
AddressPortPair {
address1: address2,
port1: port2,
address2: address1,
port2: port1
}
}
}
}

View File

@@ -1,4 +1,8 @@
use etherparse::PacketHeaders;
mod address_port;
mod report_info;
use std::borrow::BorrowMut;
use etherparse::{IpHeader, PacketHeaders, TransportHeader};
use pcap::{Device, Capture};
fn main() {
@@ -6,21 +10,73 @@ fn main() {
let device = Device::lookup().unwrap();
println!("{:?}", device);
println!("Waiting for packets........");
let mut cap = Capture::from_device(device).unwrap()
.promisc(true)
.snaplen(5000)
.open().unwrap();
while let Ok(packet) = cap.next() {
match PacketHeaders::from_ethernet_slice(&packet) {
Err(value) => println!("Err {:?}", value),
Ok(value) => {
let mut address1 = String::new();
let mut address2 = String::new();
let mut port1= 0;
let mut port2= 0;
let mut transmitted_bytes;
match value.ip.unwrap() {
IpHeader::Version4(ipv4header, _) => {
address1 = format!("{:?}", ipv4header.source)
.replace("[","")
.replace("]","")
.replace(",",".")
.replace(" ","");
address2 = format!("{:?}", ipv4header.destination)
.replace("[","")
.replace("]","")
.replace(",",".")
.replace(" ","");
transmitted_bytes = ipv4header.payload_len;
}
IpHeader::Version6(ipv6header, _) => {
address1 = format!("{:?}", ipv6header.source)
.replace("[","")
.replace("]","")
.replace(",",".")
.replace(" ","");
address2 = format!("{:?}", ipv6header.destination)
.replace("[","")
.replace("]","")
.replace(",",".")
.replace(" ","");
transmitted_bytes = ipv6header.payload_length;
}
}
match value.transport.unwrap() {
TransportHeader::Udp(udpheader) => {
port1 = udpheader.source_port;
port2 = udpheader.destination_port
}
TransportHeader::Tcp(tcpheader) => {
port1 = tcpheader.source_port;
port2 = tcpheader.destination_port
}
TransportHeader::Icmpv4(_) => {}
TransportHeader::Icmpv6(_) => {}
}
println!("----------------------------------");
println!("link: {:?}", value.link);
println!("ip: {:?}", value.ip);
println!("transport: {:?}", value.transport);
println!("addresses: {:?} {:?}", address1, address2);
println!("ports: {:?} {:?}", port1, port2);
println!("ip payload length: {:?}", transmitted_bytes);
println!("----------------------------------");
}
}
}
}

View File

@@ -0,0 +1,17 @@
pub struct ReportInfo {
transmitted_bytes: u16,
initial_timestamp: String,
final_timestamp: String,
}
impl ReportInfo {
pub fn new (address: String, port: String) -> Self {
ReportInfo {
transmitted_bytes: 0,
initial_timestamp: "".to_string(),
final_timestamp: "".to_string()
}
}
}

View File

@@ -0,0 +1,11 @@
{"message":"unused import: `std::borrow::BorrowMut`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":40,"byte_end":62,"line_start":4,"line_end":4,"column_start":5,"column_end":27,"is_primary":true,"text":[{"text":"use std::borrow::BorrowMut;","highlight_start":5,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":36,"byte_end":63,"line_start":4,"line_end":4,"column_start":1,"column_end":28,"is_primary":true,"text":[{"text":"use std::borrow::BorrowMut;","highlight_start":1,"highlight_end":28}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `std::borrow::BorrowMut`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:4: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;12m4\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse std::borrow::BorrowMut;\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_imports)]` on by default\u001b[0m\n\n"}
{"message":"value assigned to `address1` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":625,"byte_end":633,"line_start":25,"line_end":25,"column_start":25,"column_end":33,"is_primary":true,"text":[{"text":" let mut address1 = String::new();","highlight_start":25,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_assignments)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `address1` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:25:25\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;12m25\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let mut address1 = String::new();\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_assignments)]` on by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"}
{"message":"value assigned to `address2` is never read","code":{"code":"unused_assignments","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":675,"byte_end":683,"line_start":26,"line_end":26,"column_start":25,"column_end":33,"is_primary":true,"text":[{"text":" let mut address2 = String::new();","highlight_start":25,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"maybe it is overwritten before being read?","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: value assigned to `address2` is never read\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:26:25\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;12m26\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let mut address2 = String::new();\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[1mhelp\u001b[0m\u001b[0m: maybe it is overwritten before being read?\u001b[0m\n\n"}
{"message":"unused variable: `address`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/report_info.rs","byte_start":150,"byte_end":157,"line_start":9,"line_end":9,"column_start":17,"column_end":24,"is_primary":true,"text":[{"text":" pub fn new (address: String, port: String) -> Self {","highlight_start":17,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/report_info.rs","byte_start":150,"byte_end":157,"line_start":9,"line_end":9,"column_start":17,"column_end":24,"is_primary":true,"text":[{"text":" pub fn new (address: String, port: String) -> Self {","highlight_start":17,"highlight_end":24}],"label":null,"suggested_replacement":"_address","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `address`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/report_info.rs:9:17\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;12m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m pub fn new (address: String, port: String) -> Self {\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\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_address`\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_variables)]` on by default\u001b[0m\n\n"}
{"message":"unused variable: `port`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/report_info.rs","byte_start":167,"byte_end":171,"line_start":9,"line_end":9,"column_start":34,"column_end":38,"is_primary":true,"text":[{"text":" pub fn new (address: String, port: String) -> Self {","highlight_start":34,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/report_info.rs","byte_start":167,"byte_end":171,"line_start":9,"line_end":9,"column_start":34,"column_end":38,"is_primary":true,"text":[{"text":" pub fn new (address: String, port: String) -> Self {","highlight_start":34,"highlight_end":38}],"label":null,"suggested_replacement":"_port","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused variable: `port`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/report_info.rs:9:34\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;12m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m pub fn new (address: String, port: String) -> Self {\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\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_port`\u001b[0m\n\n"}
{"message":"variable does not need to be mutable","code":{"code":"unused_mut","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":789,"byte_end":810,"line_start":29,"line_end":29,"column_start":21,"column_end":42,"is_primary":true,"text":[{"text":" let mut transmitted_bytes;","highlight_start":21,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_mut)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove this `mut`","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":789,"byte_end":793,"line_start":29,"line_end":29,"column_start":21,"column_end":25,"is_primary":true,"text":[{"text":" let mut transmitted_bytes;","highlight_start":21,"highlight_end":25}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: variable does not need to be mutable\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/main.rs:29:21\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;12m29\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m let mut transmitted_bytes;\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[38;5;12m----\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\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[0m\u001b[0m\u001b[1m\u001b[38;5;12mhelp: remove this `mut`\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_mut)]` on by default\u001b[0m\n\n"}
{"message":"struct is never constructed: `AddressPortPair`","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/address_port.rs","byte_start":36,"byte_end":51,"line_start":3,"line_end":3,"column_start":12,"column_end":27,"is_primary":true,"text":[{"text":"pub struct AddressPortPair {","highlight_start":12,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(dead_code)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: struct is never constructed: `AddressPortPair`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/address_port.rs:3:12\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;12m3\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct AddressPortPair {\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(dead_code)]` on by default\u001b[0m\n\n"}
{"message":"associated function is never used: `new`","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/address_port.rs","byte_start":168,"byte_end":171,"line_start":12,"line_end":12,"column_start":12,"column_end":15,"is_primary":true,"text":[{"text":" pub fn new (address1: String, port1: u16, address2: String, port2: u16) -> Self {","highlight_start":12,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: associated function is never used: `new`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/address_port.rs:12:12\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;12m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m pub fn new (address1: String, port1: u16, address2: String, port2: u16) -> Self {\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\n"}
{"message":"struct is never constructed: `ReportInfo`","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/report_info.rs","byte_start":11,"byte_end":21,"line_start":1,"line_end":1,"column_start":12,"column_end":22,"is_primary":true,"text":[{"text":"pub struct ReportInfo {","highlight_start":12,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: struct is never constructed: `ReportInfo`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/report_info.rs:1:12\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;12m1\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0mpub struct ReportInfo {\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\n"}
{"message":"associated function is never used: `new`","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/report_info.rs","byte_start":145,"byte_end":148,"line_start":9,"line_end":9,"column_start":12,"column_end":15,"is_primary":true,"text":[{"text":" pub fn new (address: String, port: String) -> Self {","highlight_start":12,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: associated function is never used: `new`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/report_info.rs:9:12\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;12m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m pub fn new (address: String, port: String) -> Self {\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\n"}
{"message":"10 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 10 warnings emitted\u001b[0m\n\n"}

View File

@@ -1,5 +1,7 @@
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/packet_sniffer/target/debug/deps/packet_sniffer-4d7d909a1ca1c410: src/main.rs
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/deps/packet_sniffer-4d7d909a1ca1c410: src/main.rs src/address_port.rs src/report_info.rs
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/packet_sniffer/target/debug/deps/packet_sniffer-4d7d909a1ca1c410.d: src/main.rs
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/deps/packet_sniffer-4d7d909a1ca1c410.d: src/main.rs src/address_port.rs src/report_info.rs
src/main.rs:
src/address_port.rs:
src/report_info.rs:

View File

Binary file not shown.

View File

@@ -1 +1 @@
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/packet_sniffer/target/debug/packet_sniffer: /Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/packet_sniffer/src/main.rs
/Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/target/debug/packet_sniffer: /Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/src/address_port.rs /Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/src/main.rs /Users/giulianobellini/Desktop/PoliTO/Courses/PDS/project/pdsproject/packet_sniffer/src/report_info.rs

BIN
pds_progetti_2022.pdf Normal file
View File

Binary file not shown.