Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support more upper layer services (many, many, many more) #450

Merged
merged 22 commits into from
Feb 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e994d40
first implementation of services load using phf
GyulyVGC Feb 5, 2024
aa8a82e
draft of services in GUI
GyulyVGC Feb 5, 2024
72a1f55
return the service with the higher score (computed on traffic directi…
GyulyVGC Feb 5, 2024
8d56c44
feat: created Service enum
GyulyVGC Feb 6, 2024
a006394
refactor: renamed all occurrences of app protocol to service
GyulyVGC Feb 6, 2024
f58e507
update include directive in Cargo.toml
GyulyVGC Feb 6, 2024
8216c9c
cleaned up .gitignore
GyulyVGC Feb 6, 2024
1107817
created ServiceQuery to act as map key and validate services.txt
GyulyVGC Feb 7, 2024
502140a
minor improvements
GyulyVGC Feb 7, 2024
13aac1b
improve services.txt validation
GyulyVGC Feb 7, 2024
2008135
added tests about network services
GyulyVGC Feb 8, 2024
9f3b445
feat: profanity check service names; completely tested get_service
GyulyVGC Feb 8, 2024
1f77613
refactor: moved search_parameters from networking folder to report fo…
GyulyVGC Feb 9, 2024
60bae95
use contains for all input filters by default; prepend equal prefix w…
GyulyVGC Feb 9, 2024
0bbfaf0
fix new Rust 1.76 clippy lints
GyulyVGC Feb 9, 2024
516fea4
minor fixes
GyulyVGC Feb 9, 2024
485fbda
updated get_service_entries: only show top 30 and normally sort the u…
GyulyVGC Feb 9, 2024
3e2fc4d
minor improvements to col_host and col_service in overview page
GyulyVGC Feb 9, 2024
a7bd130
fixed and testes get_bars_length in overview page
GyulyVGC Feb 10, 2024
d26707d
minor fixes
GyulyVGC Feb 10, 2024
d5b8e4c
rerun buil.rs when windows icon changes; added tests about IpVersion …
GyulyVGC Feb 10, 2024
d8fece2
updated CHANGELOG
GyulyVGC Feb 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 3 additions & 165 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,220 +1,58 @@
# TODO: Needs cleanup!

# Created by https://www.toptal.com/developers/gitignore/api/rust,clion,windows,osx,linux,macos
# Edit at https://www.toptal.com/developers/gitignore?templates=rust,clion,windows,osx,linux,macos
# Created with the help of https://www.toptal.com/developers/gitignore/api/rust,clion,windows,osx,linux,macos

### CLion ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# AWS User-specific
.idea/**/aws.xml

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
.idea/
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# SonarLint plugin
.idea/sonarlint/

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### CLion Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721

# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr

# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/

# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml

# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/

# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$

# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml

# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml

### Linux ###
*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

### OSX ###
# General

# Icon must end with two \r

# Thumbnails

# Files that might appear in the root of a volume

# Directories potentially created on remote AFP share

### Rust ###
# Generated by Cargo
# will have compiled files and executables
debug/
target/

# These are backup files generated by rustfmt
**/*.rs.bk

# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

#####################################################################

.idea

### Custom... ###
Dockerfile
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ All Sniffnet releases with the relative changes are documented in this file.

## [UNRELEASED]
- Added support for ICMP connections and messages ([#417](https://github.com/GyulyVGC/sniffnet/pull/417) — fixes [#288](https://github.com/GyulyVGC/sniffnet/issues/288))
- Added capability to identify 6000+ upper layer services, protocols, trojans, and worms ([#450](https://github.com/GyulyVGC/sniffnet/pull/450) — fixes [#374](https://github.com/GyulyVGC/sniffnet/issues/374))
- Introduced new filtering capabilities to allow users specify custom values of ports and IP addresses ([#414](https://github.com/GyulyVGC/sniffnet/pull/414))
- The size of text and widgets can now be customised by setting a proper zoom value (fixes [#202](https://github.com/GyulyVGC/sniffnet/issues/202) and [#344](https://github.com/GyulyVGC/sniffnet/issues/344))
- Added possibility to totally customize the app's theme via styles defined in TOML files ([#286](https://github.com/GyulyVGC/sniffnet/pull/286) and [#419](https://github.com/GyulyVGC/sniffnet/pull/419))
Expand All @@ -27,6 +28,7 @@ All Sniffnet releases with the relative changes are documented in this file.
- Fixed a build failure on `powerpc64` ([#356](https://github.com/GyulyVGC/sniffnet/pull/356) — fixes [#353](https://github.com/GyulyVGC/sniffnet/issues/353))
- Fixed a typo in Russian translation ([#389](https://github.com/GyulyVGC/sniffnet/pull/389))
- Fixed icon inconsistency in case of directed broadcast traffic
- Fixed hosts and services data bar lengths inconsistencies in overview page

## [1.2.2] - 2023-08-08
- Added option to set different shades of color gradients for each of the available themes
Expand Down
57 changes: 57 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 19 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@ license = "MIT OR Apache-2.0"
keywords = [ "filter", "network", "packet", "sniffer", "gui" ]
categories = [ "visualization", "gui", "network-programming" ]
include = [
"src/**/*",
"LICENSE-*",
"README.md",
"CHANGELOG.md",
"resources/countries_flags/**/*",
"resources/DB/*",
"resources/fonts/subset/*",
"resources/sounds/*"
"/src/**/*.rs",
"/LICENSE-MIT",
"/LICENSE-APACHE",
"/README.md",
"/CHANGELOG.md",
"/resources/countries_flags/**/*.svg",
"/resources/DB/*.mmdb",
"/resources/fonts/subset/*.ttf",
"/resources/sounds/*.mp3",
"/services.txt",
"/build.rs",
]

[target."cfg(windows)"]
Expand Down Expand Up @@ -49,6 +52,8 @@ toml = "0.8.9"
once_cell = "1.19.0"
ctrlc = { version = "3.4.2", features = ["termination"] }
rfd = "0.13.0"
phf = "0.11.2"
phf_shared = "0.11.2"

[target.'cfg(not(target_arch = "powerpc64"))'.dependencies]
reqwest = { version = "0.11.24", default-features = false, features = ["json", "blocking", "rustls-tls"] }
Expand All @@ -65,6 +70,12 @@ serial_test = { version = "3.0.0", default_features = false }

#───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

[build-dependencies]
phf_codegen = "0.11.2"
phf_shared = "0.11.2"
rustrict = { version = "0.7.21", default-features = false, features = ["censor"] }
once_cell = "1.19.0"

[target."cfg(windows)".build-dependencies]
winres = "0.1.12"

Expand Down
Loading