diff --git a/CHANGELOG.md b/CHANGELOG.md index a90ef666..20944969 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ All Sniffnet releases with the relative changes are documented in this file. +## [1.2.0] - 2023-05-xx + +- Introduced host-based analysis: instead of just showing IP addresses, now host names and network providers are available for a quicker and more meaningful traffic interpretation + * Added rDNS (reverse DNS) lookups to find out network host names + * Added ASN (Autonomous System name and number) lookups to find out the entity managing a given IP address +- Individual connections identified by IP addresses remain available and can now be filtered and further inspected through a simple click +- Support for identification of addresses in the local network +- Support for data link layer MAC addresses +- Full support for broadcast traffic recognition (added directed broadcast identification) +- Added dropped packets number (packets dropped because there was no room in the operating system’s buffer when they arrived, because they weren't being read fast enough) +- Changed favorites management: instead of referring to single IP addresses, favorites are now related to network hosts +- Do not open terminal window when starting the application on Windows systems +- Keep the active addresses of the selected network adapter up to date during analysis +- Changed shortcut to interrupt analysis from `backspace` to `ctrl+backspace` +- Images have been replaced with SVGs +- Added unit tests for `chart` and started unit tests for `gui` modules +- Fixed problem that let users switch page pressing the tab key even if no packets were received + + ## [1.1.4] - 2023-04-18 - Added new translations of the GUI: diff --git a/Cargo.lock b/Cargo.lock index 491bcc05..a3fc862a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,9 +10,9 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" [[package]] name = "ab_glyph" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe21446ad43aa56417a767f3e2f3d7c4ca522904de1dd640529a76e9c5c3b33c" +checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -557,9 +557,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ "cfg-if", "crossbeam-utils", @@ -567,9 +567,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -578,22 +578,22 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.13" +version = "0.9.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.7.1", + "memoffset 0.8.0", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" dependencies = [ "cfg-if", ] @@ -980,7 +980,7 @@ dependencies = [ "fontconfig-parser", "log", "memmap2", - "ttf-parser", + "ttf-parser 0.18.1", ] [[package]] @@ -2008,9 +2008,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] @@ -2401,9 +2401,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "3.4.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d84eb1409416d254e4a9c8fa56cc24701755025b458f0fcd8e59e1f5f40c23bf" +checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213" dependencies = [ "num-traits", ] @@ -2434,11 +2434,11 @@ dependencies = [ [[package]] name = "owned_ttf_parser" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25e9fb15717794fae58ab55c26e044103aad13186fbb625893f9a3bbcc24228" +checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" dependencies = [ - "ttf-parser", + "ttf-parser 0.19.0", ] [[package]] @@ -2778,9 +2778,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" dependencies = [ "either", "rayon-core", @@ -2788,9 +2788,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.2" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -2907,7 +2907,7 @@ dependencies = [ "rgb", "svgfilters", "svgtypes 0.10.0", - "tiny-skia 0.8.3", + "tiny-skia 0.8.4", "usvg", "usvg-text-layout", ] @@ -3023,7 +3023,7 @@ dependencies = [ "bitflags", "bytemuck", "smallvec", - "ttf-parser", + "ttf-parser 0.18.1", "unicode-bidi-mirroring", "unicode-ccc", "unicode-general-category", @@ -3262,7 +3262,7 @@ dependencies = [ [[package]] name = "sniffnet" -version = "1.1.4" +version = "1.2.0" dependencies = [ "chrono", "confy", @@ -3509,16 +3509,16 @@ dependencies = [ [[package]] name = "tiny-skia" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfef3412c6975196fdfac41ef232f910be2bb37b9dd3313a49a1a6bc815a5bdb" +checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" dependencies = [ "arrayref", "arrayvec 0.7.2", "bytemuck", "cfg-if", "png", - "tiny-skia-path 0.8.3", + "tiny-skia-path 0.8.4", ] [[package]] @@ -3533,9 +3533,9 @@ dependencies = [ [[package]] name = "tiny-skia-path" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4b5edac058fc98f51c935daea4d805b695b38e2f151241cad125ade2a2ac20d" +checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" dependencies = [ "arrayref", "bytemuck", @@ -3661,6 +3661,12 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633" +[[package]] +name = "ttf-parser" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44dcf002ae3b32cd25400d6df128c5babec3927cd1eb7ce813cfff20eb6c3746" + [[package]] name = "twox-hash" version = "1.6.3" @@ -4011,7 +4017,7 @@ dependencies = [ "js-sys", "log", "naga", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "raw-window-handle 0.5.0", "smallvec", @@ -4037,7 +4043,7 @@ dependencies = [ "fxhash", "log", "naga", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "raw-window-handle 0.5.0", "smallvec", @@ -4076,7 +4082,7 @@ dependencies = [ "metal", "naga", "objc", - "parking_lot 0.12.1", + "parking_lot 0.11.2", "profiling", "range-alloc", "raw-window-handle 0.5.0", diff --git a/Cargo.toml b/Cargo.toml index 89b3c17f..1a84cfa1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sniffnet" -version = "1.1.4" +version = "1.2.0" authors = ["Giuliano Bellini"] edition = "2021" description = "Application to comfortably monitor your network traffic" diff --git a/README.md b/README.md index 5c12680d..aec2f554 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,11 @@ Graphical interface translated in:

-
+
- - + +

diff --git a/resources/countries_flags/4x3/usa.svg b/resources/countries_flags/4x3/usa.svg new file mode 100644 index 00000000..e26a949c --- /dev/null +++ b/resources/countries_flags/4x3/usa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/repository/pages/initial_page.png b/resources/repository/pages/initial_page.png deleted file mode 100644 index 494c8a29..00000000 Binary files a/resources/repository/pages/initial_page.png and /dev/null differ diff --git a/resources/repository/pages/inspect_page.png b/resources/repository/pages/inspect_page.png new file mode 100644 index 00000000..bb5d5880 Binary files /dev/null and b/resources/repository/pages/inspect_page.png differ diff --git a/resources/repository/pages/notifications_page.png b/resources/repository/pages/notifications_page.png index 362d82ee..f4c35c8c 100644 Binary files a/resources/repository/pages/notifications_page.png and b/resources/repository/pages/notifications_page.png differ diff --git a/resources/repository/pages/overview_page.png b/resources/repository/pages/overview_page.png index 980f62b1..32002aae 100644 Binary files a/resources/repository/pages/overview_page.png and b/resources/repository/pages/overview_page.png differ diff --git a/resources/repository/pages/settings_page.png b/resources/repository/pages/settings_page.png deleted file mode 100644 index f6bf6d13..00000000 Binary files a/resources/repository/pages/settings_page.png and /dev/null differ diff --git a/src/gui/pages/settings_language_page.rs b/src/gui/pages/settings_language_page.rs index f10736b1..07655194 100644 --- a/src/gui/pages/settings_language_page.rs +++ b/src/gui/pages/settings_language_page.rs @@ -56,7 +56,7 @@ pub fn settings_language_page(sniffer: &Sniffer) -> Container { .font(font) .size(FONT_SIZE_SUBTITLE), ) - .push(vertical_space(Fixed(30.0))); + .push(vertical_space(Fixed(20.0))); if ![Language::EN, Language::IT].contains(&sniffer.language) { content = content diff --git a/src/utils/countries.rs b/src/utils/countries.rs index 79b664db..346910f2 100644 --- a/src/utils/countries.rs +++ b/src/utils/countries.rs @@ -263,7 +263,7 @@ pub const TZ: &[u8] = include_bytes!("../../resources/countries_flags/4x3/tz.svg pub const UA: &[u8] = include_bytes!("../../resources/countries_flags/4x3/ua.svg"); pub const UG: &[u8] = include_bytes!("../../resources/countries_flags/4x3/ug.svg"); pub const UM: &[u8] = include_bytes!("../../resources/countries_flags/4x3/um.svg"); -pub const US: &[u8] = include_bytes!("../../resources/countries_flags/4x3/us.svg"); +pub const US: &[u8] = include_bytes!("../../resources/countries_flags/4x3/usa.svg"); pub const UY: &[u8] = include_bytes!("../../resources/countries_flags/4x3/uy.svg"); pub const UZ: &[u8] = include_bytes!("../../resources/countries_flags/4x3/uz.svg"); pub const VA: &[u8] = include_bytes!("../../resources/countries_flags/4x3/va.svg");