mirror of
https://github.com/GyulyVGC/sniffnet.git
synced 2026-08-04 06:41:50 +00:00
added message for incomplete translations and fixed some lints
This commit is contained in:
parent
5fe37f5382
commit
fa7011902c
10 changed files with 68 additions and 59 deletions
|
|
@ -95,7 +95,7 @@ pub fn inspect_page(sniffer: &Sniffer) -> Container<Message> {
|
|||
Container::new(
|
||||
Row::new()
|
||||
.push(filters_col(
|
||||
sniffer.search.clone(),
|
||||
&sniffer.search,
|
||||
sniffer.style,
|
||||
sniffer.language,
|
||||
))
|
||||
|
|
@ -250,7 +250,7 @@ fn lazy_report(sniffer: &Sniffer) -> Row<'static, Message> {
|
|||
}
|
||||
|
||||
fn filters_col(
|
||||
search_params: SearchParameters,
|
||||
search_params: &SearchParameters,
|
||||
style: StyleType,
|
||||
language: Language,
|
||||
) -> Column<'static, Message> {
|
||||
|
|
@ -421,7 +421,7 @@ fn filter_input(
|
|||
|
||||
let mut content = Row::new()
|
||||
.spacing(5)
|
||||
.push(Text::new(format!("{}:", caption)).font(font))
|
||||
.push(Text::new(format!("{caption}:")).font(font))
|
||||
.push(input);
|
||||
|
||||
if is_filter_active {
|
||||
|
|
|
|||
|
|
@ -555,7 +555,7 @@ fn col_app(width: f32, sniffer: &Sniffer) -> Column<'static, Message> {
|
|||
button(content)
|
||||
.padding([5, 15, 8, 10])
|
||||
.on_press(Message::Search(SearchParameters {
|
||||
app: format!("{:?}", app),
|
||||
app: format!("{app:?}"),
|
||||
..SearchParameters::default()
|
||||
}))
|
||||
.style(StyleTuple(sniffer.style, ElementType::Neutral).into()),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
use iced::widget::{Column, Container, Row};
|
||||
use iced::widget::{Column, Container, Row, Text};
|
||||
use iced::Length::Fixed;
|
||||
use iced::{Alignment, Length};
|
||||
use iced_native::widget::vertical_space;
|
||||
|
|
@ -30,7 +30,7 @@ pub fn settings_language_page(sniffer: &Sniffer) -> Container<Message> {
|
|||
.push(col_language_radio_2)
|
||||
.push(col_language_radio_3);
|
||||
|
||||
let content = Column::new()
|
||||
let mut content = Column::new()
|
||||
.align_items(Alignment::Center)
|
||||
.width(Length::Fill)
|
||||
.push(settings_header(sniffer.style, sniffer.language))
|
||||
|
|
@ -56,8 +56,24 @@ pub fn settings_language_page(sniffer: &Sniffer) -> Container<Message> {
|
|||
.font(font)
|
||||
.size(FONT_SIZE_SUBTITLE),
|
||||
)
|
||||
.push(vertical_space(Fixed(30.0)))
|
||||
.push(row_language_radio);
|
||||
.push(vertical_space(Fixed(30.0)));
|
||||
|
||||
if ![Language::EN, Language::IT].contains(&sniffer.language) {
|
||||
content = content
|
||||
.push(
|
||||
Container::new(
|
||||
Text::new("The selected language is not fully updated to version 1.2")
|
||||
.font(font),
|
||||
)
|
||||
.padding(10.0)
|
||||
.style(<StyleTuple as Into<iced::theme::Container>>::into(
|
||||
StyleTuple(sniffer.style, ElementType::Badge),
|
||||
)),
|
||||
)
|
||||
.push(vertical_space(Fixed(20.0)));
|
||||
}
|
||||
|
||||
content = content.push(row_language_radio);
|
||||
|
||||
Container::new(content)
|
||||
.height(Fixed(400.0))
|
||||
|
|
|
|||
|
|
@ -231,9 +231,8 @@ pub fn get_starred_color(style: StyleType) -> Color {
|
|||
|
||||
pub fn get_color_mix_filter_badge(style: StyleType) -> f32 {
|
||||
match style {
|
||||
StyleType::Night => 0.2,
|
||||
StyleType::Night | StyleType::DeepSea => 0.2,
|
||||
StyleType::Day => 0.7,
|
||||
StyleType::DeepSea => 0.2,
|
||||
StyleType::MonAmour => 0.5,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -327,7 +327,7 @@ impl Sniffer {
|
|||
.spawn(move || {
|
||||
parse_packets(
|
||||
¤t_capture_id,
|
||||
device,
|
||||
&device,
|
||||
cap.unwrap(),
|
||||
&filters,
|
||||
&info_traffic_mutex,
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ pub fn analyze_transport_header(
|
|||
/// Function to insert the source and destination of a packet into the shared map containing the analyzed traffic.
|
||||
pub fn modify_or_insert_in_map(
|
||||
info_traffic_mutex: &Arc<Mutex<InfoTraffic>>,
|
||||
key: AddressPortPair,
|
||||
key: &AddressPortPair,
|
||||
my_device: &MyDevice,
|
||||
mac_addresses: (String, String),
|
||||
exchanged_bytes: u128,
|
||||
|
|
@ -135,7 +135,7 @@ pub fn modify_or_insert_in_map(
|
|||
.lock()
|
||||
.unwrap()
|
||||
.map
|
||||
.get_index_of(&key)
|
||||
.get_index_of(key)
|
||||
.unwrap_or(len);
|
||||
|
||||
if index == len {
|
||||
|
|
@ -198,7 +198,7 @@ pub fn modify_or_insert_in_map(
|
|||
|
||||
if let Some(host_info) = info_traffic
|
||||
.addresses_resolved
|
||||
.get(&get_address_to_lookup(&key, traffic_direction))
|
||||
.get(&get_address_to_lookup(key, traffic_direction))
|
||||
.cloned()
|
||||
{
|
||||
if info_traffic.favorite_hosts.contains(&host_info.1) {
|
||||
|
|
@ -211,13 +211,13 @@ pub fn modify_or_insert_in_map(
|
|||
|
||||
pub fn reverse_dns_lookup(
|
||||
info_traffic: &Arc<Mutex<InfoTraffic>>,
|
||||
key: AddressPortPair,
|
||||
key: &AddressPortPair,
|
||||
traffic_direction: TrafficDirection,
|
||||
my_device: &MyDevice,
|
||||
country_db_reader: &Reader<&[u8]>,
|
||||
asn_db_reader: &Reader<&[u8]>,
|
||||
) {
|
||||
let address_to_lookup = get_address_to_lookup(&key, traffic_direction);
|
||||
let address_to_lookup = get_address_to_lookup(key, traffic_direction);
|
||||
let my_interface_addresses = my_device.addresses.lock().unwrap().clone();
|
||||
|
||||
// perform rDNS lookup
|
||||
|
|
@ -229,9 +229,9 @@ pub fn reverse_dns_lookup(
|
|||
&my_interface_addresses,
|
||||
traffic_direction,
|
||||
);
|
||||
let is_local = is_local_connection(address_to_lookup.clone(), &my_interface_addresses);
|
||||
let country = get_country_code(address_to_lookup.clone(), country_db_reader);
|
||||
let asn = asn(address_to_lookup.clone(), asn_db_reader);
|
||||
let is_local = is_local_connection(&address_to_lookup, &my_interface_addresses);
|
||||
let country = get_country_code(&address_to_lookup, country_db_reader);
|
||||
let asn = asn(&address_to_lookup, asn_db_reader);
|
||||
let r_dns = if let Ok(result) = lookup_result {
|
||||
if result.is_empty() {
|
||||
address_to_lookup.clone()
|
||||
|
|
@ -379,7 +379,7 @@ fn is_broadcast_address(address: &str, my_interface_addresses: &[Address]) -> bo
|
|||
}
|
||||
|
||||
/// Determines if the connection is local
|
||||
fn is_local_connection(address_to_lookup: String, my_interface_addresses: &Vec<Address>) -> bool {
|
||||
fn is_local_connection(address_to_lookup: &str, my_interface_addresses: &Vec<Address>) -> bool {
|
||||
let mut ret_val = false;
|
||||
|
||||
let address_to_lookup_type = if address_to_lookup.contains(':') {
|
||||
|
|
@ -865,22 +865,22 @@ mod tests {
|
|||
address_vec.push(my_address_v4);
|
||||
address_vec.push(my_address_v6);
|
||||
|
||||
let result1 = is_local_connection("104.18.43.158".to_string(), &address_vec);
|
||||
let result1 = is_local_connection("104.18.43.158", &address_vec);
|
||||
assert_eq!(result1, false);
|
||||
|
||||
let result2 = is_local_connection("172.20.10.15".to_string(), &address_vec);
|
||||
let result2 = is_local_connection("172.20.10.15", &address_vec);
|
||||
assert_eq!(result2, true);
|
||||
|
||||
let result3 = is_local_connection("172.20.10.16".to_string(), &address_vec);
|
||||
let result3 = is_local_connection("172.20.10.16", &address_vec);
|
||||
assert_eq!(result3, false);
|
||||
|
||||
let result4 = is_local_connection("172.20.10.0".to_string(), &address_vec);
|
||||
let result4 = is_local_connection("172.20.10.0", &address_vec);
|
||||
assert_eq!(result4, true);
|
||||
|
||||
let result5 = is_local_connection("172.20.10.7".to_string(), &address_vec);
|
||||
let result5 = is_local_connection("172.20.10.7", &address_vec);
|
||||
assert_eq!(result5, true);
|
||||
|
||||
let result6 = is_local_connection("172.20.10.99".to_string(), &address_vec);
|
||||
let result6 = is_local_connection("172.20.10.99", &address_vec);
|
||||
assert_eq!(result6, false);
|
||||
}
|
||||
|
||||
|
|
@ -902,22 +902,16 @@ mod tests {
|
|||
address_vec.push(my_address_v4);
|
||||
address_vec.push(my_address_v6);
|
||||
|
||||
let result1 =
|
||||
is_local_connection("fe90:8b1:1234:5611:d065::1234".to_string(), &address_vec);
|
||||
let result1 = is_local_connection("fe90:8b1:1234:5611:d065::1234", &address_vec);
|
||||
assert_eq!(result1, false);
|
||||
|
||||
let result2 =
|
||||
is_local_connection("fe90:8b1:1234:5610:d065::1234".to_string(), &address_vec);
|
||||
let result2 = is_local_connection("fe90:8b1:1234:5610:d065::1234", &address_vec);
|
||||
assert_eq!(result2, true);
|
||||
|
||||
let result3 =
|
||||
is_local_connection("ff90:8b1:1234:5610:d065::1234".to_string(), &address_vec);
|
||||
let result3 = is_local_connection("ff90:8b1:1234:5610:d065::1234", &address_vec);
|
||||
assert_eq!(result3, false);
|
||||
|
||||
let result4 = is_local_connection(
|
||||
"fe90:8b1:1234:5610:ffff:eeee:9876:1234".to_string(),
|
||||
&address_vec,
|
||||
);
|
||||
let result4 = is_local_connection("fe90:8b1:1234:5610:ffff:eeee:9876:1234", &address_vec);
|
||||
assert_eq!(result4, true);
|
||||
}
|
||||
|
||||
|
|
@ -939,28 +933,28 @@ mod tests {
|
|||
address_vec.push(my_address_v4);
|
||||
address_vec.push(my_address_v6);
|
||||
|
||||
let result1 = is_local_connection("255.255.255.255".to_string(), &address_vec);
|
||||
let result1 = is_local_connection("255.255.255.255", &address_vec);
|
||||
assert_eq!(result1, false);
|
||||
|
||||
let result2 = is_local_connection("172.20.10.9".to_string(), &address_vec);
|
||||
let result2 = is_local_connection("172.20.10.9", &address_vec);
|
||||
assert_eq!(result2, true);
|
||||
|
||||
let result3 = is_local_connection("172.20.10.9".to_string(), &address_vec);
|
||||
let result3 = is_local_connection("172.20.10.9", &address_vec);
|
||||
assert_eq!(result3, true);
|
||||
|
||||
let result4 = is_local_connection("172.20.10.9".to_string(), &address_vec);
|
||||
let result4 = is_local_connection("172.20.10.9", &address_vec);
|
||||
assert_eq!(result4, true);
|
||||
|
||||
let result5 = is_local_connection("172.20.10.7".to_string(), &address_vec);
|
||||
let result5 = is_local_connection("172.20.10.7", &address_vec);
|
||||
assert_eq!(result5, true);
|
||||
|
||||
let result6 = is_local_connection("172.20.10.99".to_string(), &address_vec);
|
||||
let result6 = is_local_connection("172.20.10.99", &address_vec);
|
||||
assert_eq!(result6, true);
|
||||
|
||||
let result7 = is_local_connection("172.20.11.0".to_string(), &address_vec);
|
||||
let result7 = is_local_connection("172.20.11.0", &address_vec);
|
||||
assert_eq!(result7, false);
|
||||
|
||||
let result8 = is_local_connection("172.20.9.255".to_string(), &address_vec);
|
||||
let result8 = is_local_connection("172.20.9.255", &address_vec);
|
||||
assert_eq!(result8, false);
|
||||
}
|
||||
|
||||
|
|
@ -982,7 +976,7 @@ mod tests {
|
|||
address_vec.push(my_address_v4);
|
||||
address_vec.push(my_address_v6);
|
||||
|
||||
let result1 = is_local_connection("224.0.0.251".to_string(), &address_vec);
|
||||
let result1 = is_local_connection("224.0.0.251", &address_vec);
|
||||
assert_eq!(result1, false);
|
||||
}
|
||||
|
||||
|
|
@ -1004,7 +998,7 @@ mod tests {
|
|||
address_vec.push(my_address_v4);
|
||||
address_vec.push(my_address_v6);
|
||||
|
||||
let result1 = is_local_connection("ff::1234".to_string(), &address_vec);
|
||||
let result1 = is_local_connection("ff::1234", &address_vec);
|
||||
assert_eq!(result1, false);
|
||||
}
|
||||
|
||||
|
|
@ -1026,13 +1020,13 @@ mod tests {
|
|||
address_vec.push(my_address_v4);
|
||||
address_vec.push(my_address_v6);
|
||||
|
||||
let result1 = is_local_connection("224.0.1.2".to_string(), &address_vec);
|
||||
let result1 = is_local_connection("224.0.1.2", &address_vec);
|
||||
assert_eq!(result1, false);
|
||||
|
||||
let result2 = is_local_connection("169.254.17.199".to_string(), &address_vec);
|
||||
let result2 = is_local_connection("169.254.17.199", &address_vec);
|
||||
assert_eq!(result2, true);
|
||||
|
||||
let result3 = is_local_connection("169.255.17.199".to_string(), &address_vec);
|
||||
let result3 = is_local_connection("169.255.17.199", &address_vec);
|
||||
assert_eq!(result3, false);
|
||||
}
|
||||
|
||||
|
|
@ -1054,13 +1048,13 @@ mod tests {
|
|||
address_vec.push(my_address_v4);
|
||||
address_vec.push(my_address_v6);
|
||||
|
||||
let result1 = is_local_connection("ff88::".to_string(), &address_vec);
|
||||
let result1 = is_local_connection("ff88::", &address_vec);
|
||||
assert_eq!(result1, false);
|
||||
|
||||
let result2 = is_local_connection("fe80::8b1:1234:5678:d065".to_string(), &address_vec);
|
||||
let result2 = is_local_connection("fe80::8b1:1234:5678:d065", &address_vec);
|
||||
assert_eq!(result2, true);
|
||||
|
||||
let result3 = is_local_connection("fe70::8b1:1234:5678:d065".to_string(), &address_vec);
|
||||
let result3 = is_local_connection("fe70::8b1:1234:5678:d065", &address_vec);
|
||||
assert_eq!(result3, false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ pub fn get_searched_entries(
|
|||
.get(&r_dns_host.unwrap().1)
|
||||
.unwrap()
|
||||
.is_favorite,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if boolean_flags.is_empty() {
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ use crate::{AppProtocol, InfoTraffic, IpVersion, TransProtocol};
|
|||
/// to the user specified filters, and inserts them into the shared map variable.
|
||||
pub fn parse_packets(
|
||||
current_capture_id: &Arc<Mutex<u16>>,
|
||||
device: MyDevice,
|
||||
device: &MyDevice,
|
||||
mut cap: Capture<Active>,
|
||||
filters: &Filters,
|
||||
info_traffic_mutex: &Arc<Mutex<InfoTraffic>>,
|
||||
|
|
@ -127,8 +127,8 @@ pub fn parse_packets(
|
|||
{
|
||||
new_info = modify_or_insert_in_map(
|
||||
info_traffic_mutex,
|
||||
key.clone(),
|
||||
&device,
|
||||
&key,
|
||||
device,
|
||||
(mac_address1, mac_address2),
|
||||
exchanged_bytes,
|
||||
application_protocol,
|
||||
|
|
@ -208,7 +208,7 @@ pub fn parse_packets(
|
|||
.spawn(move || {
|
||||
reverse_dns_lookup(
|
||||
&info_traffic2,
|
||||
key2,
|
||||
&key2,
|
||||
new_info.traffic_direction,
|
||||
&device2,
|
||||
&country_db_reader2,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ use crate::networking::types::asn::Asn;
|
|||
|
||||
pub const ASN_MMDB: &[u8] = include_bytes!("../../resources/DB/GeoLite2-ASN.mmdb");
|
||||
|
||||
pub fn asn(address_to_lookup: String, asn_db_reader: &Reader<&[u8]>) -> Asn {
|
||||
pub fn asn(address_to_lookup: &str, asn_db_reader: &Reader<&[u8]>) -> Asn {
|
||||
let asn_result: Result<geoip2::Asn, MaxMindDBError> =
|
||||
asn_db_reader.lookup(address_to_lookup.parse().unwrap());
|
||||
if let Ok(res) = asn_result {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ use crate::{Language, StyleType};
|
|||
|
||||
pub const COUNTRY_MMDB: &[u8] = include_bytes!("../../resources/DB/GeoLite2-Country.mmdb");
|
||||
|
||||
pub fn get_country_code(address_to_lookup: String, country_db_reader: &Reader<&[u8]>) -> String {
|
||||
pub fn get_country_code(address_to_lookup: &str, country_db_reader: &Reader<&[u8]>) -> String {
|
||||
let country_result: Result<geoip2::Country, MaxMindDBError> =
|
||||
country_db_reader.lookup(address_to_lookup.parse().unwrap());
|
||||
if let Ok(res1) = country_result {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue